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 "stm32mp15xx-dhcom.dtsi" 7 8/ { 9 model = "DH Electronics STM32MP15xx DHCOM DRC02"; 10 compatible = "dh,stm32mp15xx-dhcom-drc02", "st,stm32mp1xx"; 11 12 aliases { 13 serial0 = &uart4; 14 serial1 = &usart3; 15 serial2 = &uart8; 16 }; 17 18 chosen { 19 stdout-path = "serial0:115200n8"; 20 }; 21}; 22 23&adc { 24 status = "disabled"; 25}; 26 27&dac { 28 status = "disabled"; 29}; 30 31&gpiob { 32 /* 33 * NOTE: On DRC02, the RS485_RX_En is controlled by a separate 34 * GPIO line, however the STM32 UART driver assumes RX happens 35 * during TX anyway and that it only controls drive enable DE 36 * line. Hence, the RX is always enabled here. 37 */ 38 usb-hub { 39 gpio-hog; 40 gpios = <8 0>; 41 output-high; 42 line-name = "rs485-rx-en"; 43 }; 44}; 45 46&gpiod { 47 gpio-line-names = "", "", "", "", 48 "", "", "", "", 49 "", "", "", "Out1", 50 "Out2", "", "", ""; 51}; 52 53&gpioi { 54 gpio-line-names = "In1", "", "", "", 55 "", "", "", "", 56 "In2", "", "", "", 57 "", "", "", ""; 58 59 /* 60 * NOTE: The USB Hub on the DRC02 needs a reset signal to be 61 * pulled high in order to be detected by the USB Controller. 62 * This signal should be handled by USB power sequencing in 63 * order to reset the Hub when USB bus is powered down, but 64 * so far there is no such functionality. 65 */ 66 usb-hub { 67 gpio-hog; 68 gpios = <2 0>; 69 output-high; 70 line-name = "usb-hub-reset"; 71 }; 72}; 73 74&i2c2 { 75 pinctrl-names = "default"; 76 pinctrl-0 = <&i2c2_pins_a>; 77 i2c-scl-rising-time-ns = <185>; 78 i2c-scl-falling-time-ns = <20>; 79 status = "okay"; 80 /* spare dmas for other usage */ 81 /delete-property/dmas; 82 /delete-property/dma-names; 83 status = "okay"; 84 85 eeprom@50 { 86 compatible = "atmel,24c04"; 87 reg = <0x50>; 88 pagesize = <16>; 89 }; 90}; 91 92&i2c5 { /* TP7/TP8 */ 93 pinctrl-names = "default"; 94 pinctrl-0 = <&i2c5_pins_a>; 95 i2c-scl-rising-time-ns = <185>; 96 i2c-scl-falling-time-ns = <20>; 97 status = "okay"; 98 /* spare dmas for other usage */ 99 /delete-property/dmas; 100 /delete-property/dma-names; 101}; 102 103&sdmmc3 { 104 /* 105 * On DRC02, the SoM does not have SDIO WiFi. The pins 106 * are used for on-board microSD slot instead. 107 */ 108 pinctrl-names = "default", "opendrain", "sleep"; 109 pinctrl-0 = <&sdmmc3_b4_pins_a>; 110 pinctrl-1 = <&sdmmc3_b4_od_pins_a>; 111 pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>; 112 cd-gpios = <&gpioi 10 GPIO_ACTIVE_HIGH>; 113 disable-wp; 114 st,neg-edge; 115 bus-width = <4>; 116 vmmc-supply = <&v3v3>; 117 vqmmc-supply = <&v3v3>; 118 mmc-ddr-3_3v; 119 status = "okay"; 120}; 121 122&spi1 { 123 pinctrl-names = "default"; 124 pinctrl-0 = <&spi1_pins_a>; 125 cs-gpios = <&gpioz 3 0>; 126 /* Use PIO for the display */ 127 /delete-property/dmas; 128 /delete-property/dma-names; 129 status = "disabled"; /* Enable once there is display driver */ 130 /* 131 * Note: PF3/GPIO_A , PD6/GPIO_B , PG0/GPIO_C , PC6/GPIO_E are 132 * also connected to the display board connector. 133 */ 134}; 135 136&usart3 { 137 pinctrl-names = "default"; 138 pinctrl-0 = <&usart3_pins_a>; 139 status = "okay"; 140}; 141 142/* 143 * Note: PI3 is UART1_RTS and PI5 is UART1_CTS on DRC02 (uart4 of STM32MP1), 144 * however the STM32MP1 pinmux cannot map them to UART4 . 145 */ 146 147&uart8 { /* RS485 */ 148 pinctrl-names = "default"; 149 pinctrl-0 = <&uart8_pins_a>; 150 rts-gpios = <&gpioe 6 GPIO_ACTIVE_HIGH>; 151 status = "okay"; 152}; 153 154&usbh_ehci { 155 phys = <&usbphyc_port0>; 156 status = "okay"; 157}; 158 159&usbphyc { 160 status = "okay"; 161}; 162 163&usbphyc_port0 { 164 phy-supply = <&vdd_usb>; 165 vdda1v1-supply = <®11>; 166 vdda1v8-supply = <®18>; 167}; 168