1// SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
2/*
3 * Copyright (C) 2022 Marek Vasut <marex@denx.de>
4 */
5
6/ {
7	aliases {
8		ethernet0 = &ethernet0;
9		mmc0 = &sdmmc1;
10		mmc1 = &sdmmc2;
11		serial0 = &uart4;
12		serial1 = &uart7;
13		spi0 = &qspi;
14	};
15
16	chosen {
17		stdout-path = "serial0:115200n8";
18	};
19
20	sd_switch: regulator-sd_switch {
21		compatible = "regulator-gpio";
22		regulator-name = "sd_switch";
23		regulator-min-microvolt = <1800000>;
24		regulator-max-microvolt = <2900000>;
25		regulator-type = "voltage";
26		regulator-always-on;
27
28		gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>;
29		gpios-states = <0>;
30		states = <1800000 0x1>,
31			 <2900000 0x0>;
32	};
33};
34
35&adc {
36	pinctrl-names = "default";
37	pinctrl-0 = <&adc12_ain_pins_b>;
38	vdd-supply = <&vdd>;
39	vdda-supply = <&vdda>;
40	vref-supply = <&vdda>;
41	status = "okay";
42
43	adc1: adc@0 {
44		status = "okay";
45		channel@0 {
46			reg = <0>;
47			st,min-sample-time-ns = <5000>;
48		};
49		channel@1 {
50			reg = <1>;
51			st,min-sample-time-ns = <5000>;
52		};
53		channel@6 {
54			reg = <6>;
55			st,min-sample-time-ns = <5000>;
56		};
57	};
58
59	adc2: adc@100 {
60		status = "okay";
61		channel@0 {
62			reg = <0>;
63			st,min-sample-time-ns = <5000>;
64		};
65		channel@1 {
66			reg = <1>;
67			st,min-sample-time-ns = <5000>;
68		};
69		channel@2 {
70			reg = <2>;
71			st,min-sample-time-ns = <5000>;
72		};
73	};
74};
75
76&ethernet0 {
77	status = "okay";
78	pinctrl-0 = <&ethernet0_rgmii_pins_c>;
79	pinctrl-1 = <&ethernet0_rgmii_sleep_pins_c>;
80	pinctrl-names = "default", "sleep";
81	phy-mode = "rgmii";
82	max-speed = <1000>;
83	phy-handle = <&phy0>;
84
85	mdio {
86		#address-cells = <1>;
87		#size-cells = <0>;
88		compatible = "snps,dwmac-mdio";
89		reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>;
90		reset-delay-us = <1000>;
91		reset-post-delay-us = <1000>;
92
93		phy0: ethernet-phy@7 {
94			reg = <7>;
95
96			rxc-skew-ps = <1500>;
97			rxdv-skew-ps = <540>;
98			rxd0-skew-ps = <420>;
99			rxd1-skew-ps = <420>;
100			rxd2-skew-ps = <420>;
101			rxd3-skew-ps = <420>;
102
103			txc-skew-ps = <1440>;
104			txen-skew-ps = <540>;
105			txd0-skew-ps = <420>;
106			txd1-skew-ps = <420>;
107			txd2-skew-ps = <420>;
108			txd3-skew-ps = <420>;
109		};
110	};
111};
112
113&i2c4 {
114	dh_mac_eeprom: eeprom@53 {
115		compatible = "atmel,24c02";
116		reg = <0x53>;
117		pagesize = <16>;
118	};
119};
120
121&sdmmc1 {
122	pinctrl-names = "default", "opendrain", "sleep";
123	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_b>;
124	pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_b>;
125	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_b>;
126	cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
127	disable-wp;
128	st,sig-dir;
129	st,neg-edge;
130	st,use-ckin;
131	bus-width = <4>;
132	vmmc-supply = <&vdd_sd>;
133	vqmmc-supply = <&sd_switch>;
134	status = "okay";
135};
136
137&sdmmc2 {
138	pinctrl-names = "default", "opendrain", "sleep";
139	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_c>;
140	pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_c>;
141	pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_c>;
142	bus-width = <8>;
143	mmc-ddr-1_8v;
144	no-sd;
145	no-sdio;
146	non-removable;
147	st,neg-edge;
148	vmmc-supply = <&v3v3>;
149	vqmmc-supply = <&v3v3>;
150	status = "okay";
151};
152
153&uart4 {
154	pinctrl-names = "default";
155	pinctrl-0 = <&uart4_pins_b>;
156	/delete-property/dmas;
157	/delete-property/dma-names;
158	status = "okay";
159};
160
161&uart7 {
162	pinctrl-names = "default";
163	pinctrl-0 = <&uart7_pins_a>;
164	uart-has-rtscts;
165	/delete-property/dmas;
166	/delete-property/dma-names;
167	status = "okay";
168};
169
170&usbh_ehci {
171	phys = <&usbphyc_port0>;
172	status = "okay";
173};
174
175&usbh_ohci {
176	phys = <&usbphyc_port0>;
177	status = "okay";
178};
179
180&usbotg_hs {
181	pinctrl-0 = <&usbotg_hs_pins_a>;
182	pinctrl-names = "default";
183	phy-names = "usb2-phy";
184	phys = <&usbphyc_port1 0>;
185	status = "okay";
186	vbus-supply = <&vbus_otg>;
187};
188
189&usbphyc {
190	status = "okay";
191};
192
193&usbphyc_port0 {
194	phy-supply = <&vdd_usb>;
195};
196
197&usbphyc_port1 {
198	phy-supply = <&vdd_usb>;
199};
200