| // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause |
| /* |
| * Copyright (C) 2023 DH electronics GmbH |
| * |
| * DHCOM iMX6ULL variant: |
| * DHCM-iMX6ULL-C080-R051-F0409-SPI-E2-CAN2-SD-RTC-ADC-I-01D2 |
| * DHCOR PCB number: 578-200 or newer |
| * DHCOM PCB number: 579-200 or newer |
| * DRC02 PCB number: 568-100 or newer (2nd ethernet by SoM) |
| */ |
| /dts-v1/; |
| |
| #include "imx6ull-dhcom-som.dtsi" |
| #include "imx6ull-dhcom-som-cfg-sdcard.dtsi" |
| |
| / { |
| model = "DH electronics i.MX6ULL DHCOM on DRC02"; |
| compatible = "dh,imx6ull-dhcom-drc02", "dh,imx6ull-dhcom-som", |
| "dh,imx6ull-dhcor-som", "fsl,imx6ull"; |
| }; |
| |
| /* |
| * The signals for CAN2 TX and RX are routed to the DHCOM UART1 RTS/CTS pins. |
| * Therefore the UART RTS/CTS must be output on other DHCOM pins, see uart1 |
| * node below. |
| */ |
| &can2 { |
| status = "okay"; |
| }; |
| |
| &gpio1 { |
| gpio-line-names = |
| "", "", "", "", |
| "", "", "", "", |
| "", "", "", "DRC02-In2", |
| "", "", "", "", |
| "", "", "DHCOM-I", "", |
| "", "", "", "", |
| "", "", "", "", |
| "", "", "", ""; |
| }; |
| |
| &gpio4 { |
| gpio-line-names = |
| "", "", "", "", |
| "", "", "", "", |
| "", "", "", "", |
| "", "", "", "", |
| "", "DRC02-HW0", "DRC02-HW1", "DHCOM-M", |
| "DRC02-HW2", "DHCOM-U", "DHCOM-T", "DHCOM-S", |
| "DHCOM-R", "DHCOM-Q", "DHCOM-P", "DHCOM-O", |
| "DHCOM-N", "", "", ""; |
| /* |
| * NOTE: On DRC02, the RS485_RX_En is controlled by a separate |
| * GPIO line, however the i.MX6ULL UART driver assumes RX happens |
| * during TX anyway and that it only controls drive enable DE |
| * line. Hence, the RX is always enabled here. |
| */ |
| rs485-rx-en-hog { |
| gpio-hog; |
| gpios = <25 0>; /* GPIO Q */ |
| line-name = "rs485-rx-en"; |
| output-low; |
| }; |
| }; |
| |
| &gpio5 { |
| gpio-line-names = |
| "DHCOM-A", "DHCOM-B", "DHCOM-C", "DRC02-Out2", |
| "DHCOM-E", "", "", "DRC02-Out1", |
| "DRC02-In1", "DHCOM-H", "", "", |
| "", "", "", "", |
| "", "", "", "", |
| "", "", "", "", |
| "", "", "", "", |
| "", "", "", ""; |
| }; |
| |
| /* DHCOM I2C2 */ |
| &i2c1 { |
| eeprom@56 { |
| compatible = "atmel,24c04"; |
| reg = <0x56>; |
| pagesize = <16>; |
| }; |
| }; |
| |
| &uart1 { |
| /delete-property/ uart-has-rtscts; |
| rts-gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>; /* GPIO I */ |
| cts-gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>; /* GPIO M */ |
| }; |
| |
| /* Use UART as RS485 */ |
| &uart2 { |
| /delete-property/ uart-has-rtscts; |
| linux,rs485-enabled-at-boot-time; |
| rts-gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* GPIO P */ |
| }; |