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