1// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 2/* 3 * Copyright (C) 2020 Marek Vasut <marex@denx.de> 4 */ 5 6#include <dt-bindings/input/input.h> 7#include <dt-bindings/pwm/pwm.h> 8 9&adc { 10 status = "disabled"; 11}; 12 13&dac { 14 status = "disabled"; 15}; 16 17&gpiob { 18 /* 19 * NOTE: On DRC02, the RS485_RX_En is controlled by a separate 20 * GPIO line, however the STM32 UART driver assumes RX happens 21 * during TX anyway and that it only controls drive enable DE 22 * line. Hence, the RX is always enabled here. 23 */ 24 rs485-rx-en-hog { 25 gpio-hog; 26 gpios = <8 0>; 27 output-low; 28 line-name = "rs485-rx-en"; 29 }; 30}; 31 32&gpiod { 33 gpio-line-names = "", "", "", "", 34 "", "", "DHCOM-B", "", 35 "", "", "", "DRC02-Out1", 36 "DRC02-Out2", "", "", ""; 37}; 38 39&gpioi { 40 gpio-line-names = "DRC02-In1", "DHCOM-O", "DHCOM-H", "DHCOM-I", 41 "DHCOM-R", "DHCOM-M", "", "", 42 "DRC02-In2", "", "", "", 43 "", "", "", ""; 44 45 /* 46 * NOTE: The USB Hub on the DRC02 needs a reset signal to be 47 * pulled high in order to be detected by the USB Controller. 48 * This signal should be handled by USB power sequencing in 49 * order to reset the Hub when USB bus is powered down, but 50 * so far there is no such functionality. 51 */ 52 usb-hub-hog { 53 gpio-hog; 54 gpios = <2 0>; 55 output-high; 56 line-name = "usb-hub-reset"; 57 }; 58}; 59 60&i2c2 { 61 pinctrl-names = "default"; 62 pinctrl-0 = <&i2c2_pins_a>; 63 i2c-scl-rising-time-ns = <185>; 64 i2c-scl-falling-time-ns = <20>; 65 /* spare dmas for other usage */ 66 /delete-property/dmas; 67 /delete-property/dma-names; 68 status = "okay"; 69 70 eeprom@50 { 71 compatible = "atmel,24c04"; 72 reg = <0x50>; 73 pagesize = <16>; 74 }; 75}; 76 77&i2c4 { 78 touchscreen@49 { 79 status = "disabled"; 80 }; 81}; 82 83&i2c5 { /* TP7/TP8 */ 84 pinctrl-names = "default"; 85 pinctrl-0 = <&i2c5_pins_a>; 86 i2c-scl-rising-time-ns = <185>; 87 i2c-scl-falling-time-ns = <20>; 88 status = "okay"; 89 /* spare dmas for other usage */ 90 /delete-property/dmas; 91 /delete-property/dma-names; 92}; 93 94&sdmmc3 { 95 /* 96 * On DRC02, the SoM does not have SDIO WiFi. The pins 97 * are used for on-board microSD slot instead. 98 */ 99 /delete-property/broken-cd; 100 cd-gpios = <&gpioi 10 GPIO_ACTIVE_HIGH>; 101 disable-wp; 102}; 103 104&spi1 { 105 pinctrl-names = "default"; 106 pinctrl-0 = <&spi1_pins_a>; 107 cs-gpios = <&gpioz 3 0>; 108 /* Use PIO for the display */ 109 /delete-property/dmas; 110 /delete-property/dma-names; 111 status = "disabled"; /* Enable once there is display driver */ 112 /* 113 * Note: PF3/GPIO_A , PD6/GPIO_B , PG0/GPIO_C , PC6/GPIO_E are 114 * also connected to the display board connector. 115 */ 116}; 117 118&usart3 { 119 pinctrl-names = "default"; 120 pinctrl-0 = <&usart3_pins_a>; 121 /delete-property/dmas; 122 /delete-property/dma-names; 123 status = "okay"; 124}; 125 126/* 127 * Note: PI3 is UART1_RTS and PI5 is UART1_CTS on DRC02 (uart4 of STM32MP1), 128 * however the STM32MP1 pinmux cannot map them to UART4 . 129 */ 130 131&uart8 { /* RS485 */ 132 linux,rs485-enabled-at-boot-time; 133 pinctrl-names = "default"; 134 pinctrl-0 = <&uart8_pins_a>; 135 rts-gpios = <&gpioe 6 GPIO_ACTIVE_HIGH>; 136 /delete-property/dmas; 137 /delete-property/dma-names; 138 status = "okay"; 139}; 140 141&usbh_ehci { 142 status = "okay"; 143}; 144 145&usbphyc { 146 status = "okay"; 147}; 148 149&usbphyc_port0 { 150 phy-supply = <&vdd_usb>; 151}; 152 153&usbphyc_port1 { 154 phy-supply = <&vdd_usb>; 155}; 156