]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm/stm32mp15xx-dhcor-drc-compact.dtsi
Import device-tree files from Linux 6.2
[FreeBSD/FreeBSD.git] / src / arm / stm32mp15xx-dhcor-drc-compact.dtsi
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                 ethernet1 = &ksz8851;
10                 mmc0 = &sdmmc1;
11                 rtc0 = &hwrtc;
12                 rtc1 = &rtc;
13                 serial0 = &uart4;
14                 serial1 = &uart8;
15                 serial2 = &usart3;
16                 serial3 = &uart5;
17                 spi0 = &qspi;
18         };
19
20         chosen {
21                 stdout-path = "serial0:115200n8";
22         };
23
24         led {
25                 compatible = "gpio-leds";
26                 led1 {
27                         label = "yellow:user0";
28                         gpios = <&gpioz 6 GPIO_ACTIVE_LOW>;
29                         default-state = "off";
30                 };
31
32                 led2 {
33                         label = "red:user1";
34                         gpios = <&gpioz 3 GPIO_ACTIVE_LOW>;
35                         default-state = "off";
36                 };
37         };
38
39         ethernet_vio: vioregulator {
40                 compatible = "regulator-fixed";
41                 regulator-name = "vio";
42                 regulator-min-microvolt = <3300000>;
43                 regulator-max-microvolt = <3300000>;
44                 gpio = <&gpioh 2 GPIO_ACTIVE_LOW>;
45                 regulator-always-on;
46                 regulator-boot-on;
47                 vin-supply = <&vdd>;
48         };
49 };
50
51 &adc {  /* X11 ADC inputs */
52         pinctrl-names = "default";
53         pinctrl-0 = <&adc12_ain_pins_b>;
54         vdd-supply = <&vdd>;
55         vdda-supply = <&vdda>;
56         vref-supply = <&vdda>;
57         status = "okay";
58
59         adc1: adc@0 {
60                 st,adc-channels = <0 1 6>;
61                 st,min-sample-time-nsecs = <5000>;
62                 status = "okay";
63         };
64
65         adc2: adc@100 {
66                 st,adc-channels = <0 1 2>;
67                 st,min-sample-time-nsecs = <5000>;
68                 status = "okay";
69         };
70 };
71
72 &ethernet0 {
73         status = "okay";
74         pinctrl-0 = <&ethernet0_rgmii_pins_c>;
75         pinctrl-1 = <&ethernet0_rgmii_sleep_pins_c>;
76         pinctrl-names = "default", "sleep";
77         phy-mode = "rgmii";
78         max-speed = <1000>;
79         phy-handle = <&phy0>;
80
81         mdio {
82                 #address-cells = <1>;
83                 #size-cells = <0>;
84                 compatible = "snps,dwmac-mdio";
85                 reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>;
86                 reset-delay-us = <1000>;
87                 reset-post-delay-us = <1000>;
88
89                 phy0: ethernet-phy@7 {
90                         reg = <7>;
91
92                         rxc-skew-ps = <1500>;
93                         rxdv-skew-ps = <540>;
94                         rxd0-skew-ps = <420>;
95                         rxd1-skew-ps = <420>;
96                         rxd2-skew-ps = <420>;
97                         rxd3-skew-ps = <420>;
98
99                         txc-skew-ps = <1440>;
100                         txen-skew-ps = <540>;
101                         txd0-skew-ps = <420>;
102                         txd1-skew-ps = <420>;
103                         txd2-skew-ps = <420>;
104                         txd3-skew-ps = <420>;
105                 };
106         };
107 };
108
109 &fmc {
110         pinctrl-names = "default", "sleep";
111         pinctrl-0 = <&fmc_pins_b>;
112         pinctrl-1 = <&fmc_sleep_pins_b>;
113         status = "okay";
114
115         ksz8851: ethernet@1,0 {
116                 compatible = "micrel,ks8851-mll";
117                 reg = <1 0x0 0x2>, <1 0x2 0x20000>;
118                 interrupt-parent = <&gpioc>;
119                 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
120                 bank-width = <2>;
121
122                 /* Timing values are in nS */
123                 st,fmc2-ebi-cs-mux-enable;
124                 st,fmc2-ebi-cs-transaction-type = <4>;
125                 st,fmc2-ebi-cs-buswidth = <16>;
126                 st,fmc2-ebi-cs-address-setup-ns = <5>;
127                 st,fmc2-ebi-cs-address-hold-ns = <5>;
128                 st,fmc2-ebi-cs-bus-turnaround-ns = <5>;
129                 st,fmc2-ebi-cs-data-setup-ns = <45>;
130                 st,fmc2-ebi-cs-data-hold-ns = <1>;
131                 st,fmc2-ebi-cs-write-address-setup-ns = <5>;
132                 st,fmc2-ebi-cs-write-address-hold-ns = <5>;
133                 st,fmc2-ebi-cs-write-bus-turnaround-ns = <5>;
134                 st,fmc2-ebi-cs-write-data-setup-ns = <45>;
135                 st,fmc2-ebi-cs-write-data-hold-ns = <1>;
136         };
137 };
138
139 &gpioa {
140         gpio-line-names = "", "", "", "",
141                           "DRCC-VAR2", "", "", "",
142                           "", "", "", "",
143                           "", "", "", "";
144 };
145
146 &gpioe {
147         gpio-line-names = "", "", "", "",
148                           "", "DRCC-GPIO0", "", "",
149                           "", "", "", "",
150                           "", "", "", "";
151 };
152
153 &gpiog {
154         gpio-line-names = "", "", "", "",
155                           "", "", "", "",
156                           "", "", "", "",
157                           "DRCC-GPIO5", "", "", "";
158 };
159
160 &gpioh {
161         gpio-line-names = "", "", "", "DRCC-HW2",
162                           "DRCC-GPIO4", "", "", "",
163                           "DRCC-HW1", "DRCC-HW0", "", "DRCC-VAR1",
164                           "DRCC-VAR0", "", "", "DRCC-GPIO6";
165 };
166
167 &gpioi {
168         gpio-line-names = "", "", "", "",
169                           "", "", "", "DRCC-GPIO2",
170                           "", "DRCC-GPIO1", "", "",
171                           "", "", "", "";
172 };
173
174 &i2c1 { /* X11 I2C1 */
175         pinctrl-names = "default";
176         pinctrl-0 = <&i2c1_pins_b>;
177         i2c-scl-rising-time-ns = <185>;
178         i2c-scl-falling-time-ns = <20>;
179         status = "okay";
180         /delete-property/dmas;
181         /delete-property/dma-names;
182 };
183
184 &i2c4 {
185         hwrtc: rtc@32 {
186                 compatible = "microcrystal,rv8803";
187                 reg = <0x32>;
188         };
189
190         eeprom@50 {
191                 compatible = "atmel,24c04";
192                 reg = <0x50>;
193                 pagesize = <16>;
194         };
195 };
196
197 &sdmmc1 {       /* MicroSD */
198         pinctrl-names = "default", "opendrain", "sleep";
199         pinctrl-0 = <&sdmmc1_b4_pins_a>;
200         pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
201         pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
202         cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
203         disable-wp;
204         st,neg-edge;
205         bus-width = <4>;
206         vmmc-supply = <&vdd>;
207         vqmmc-supply = <&vdd>;
208         status = "okay";
209 };
210
211 &sdmmc2 {       /* eMMC */
212         pinctrl-names = "default", "opendrain", "sleep";
213         pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_c>;
214         pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_c>;
215         pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_c>;
216         bus-width = <8>;
217         no-sd;
218         no-sdio;
219         non-removable;
220         st,neg-edge;
221         vmmc-supply = <&v3v3>;
222         vqmmc-supply = <&vdd>;
223         status = "okay";
224 };
225
226 &sdmmc3 {       /* SDIO Wi-Fi */
227         pinctrl-names = "default", "opendrain", "sleep";
228         pinctrl-0 = <&sdmmc3_b4_pins_a>;
229         pinctrl-1 = <&sdmmc3_b4_od_pins_a>;
230         pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;
231         broken-cd;
232         bus-width = <4>;
233         mmc-ddr-3_3v;
234         st,neg-edge;
235         vmmc-supply = <&v3v3>;
236         vqmmc-supply = <&v3v3>;
237         status = "okay";
238 };
239
240 &spi2 { /* X11 SPI */
241         pinctrl-names = "default";
242         pinctrl-0 = <&spi2_pins_b>;
243         cs-gpios = <&gpioi 0 0>;
244         status = "disabled";
245         /delete-property/dmas;
246         /delete-property/dma-names;
247 };
248
249 &uart4 {
250         label = "UART0";
251         pinctrl-names = "default";
252         pinctrl-0 = <&uart4_pins_d>;
253         /delete-property/dmas;
254         /delete-property/dma-names;
255         status = "okay";
256 };
257
258 &uart5 {        /* X11 UART */
259         label = "X11-UART5";
260         pinctrl-names = "default";
261         pinctrl-0 = <&uart5_pins_a>;
262         /delete-property/dmas;
263         /delete-property/dma-names;
264         status = "okay";
265 };
266
267 &uart8 {
268         label = "RS485-1";
269         pinctrl-names = "default";
270         pinctrl-0 = <&uart8_pins_a &uart8_rtscts_pins_a>;
271         uart-has-rtscts;
272         /delete-property/dmas;
273         /delete-property/dma-names;
274         status = "okay";
275 };
276
277 &usart3 {       /* RS485 or RS232 */
278         label = "RS485-2";
279         pinctrl-names = "default", "sleep";
280         pinctrl-0 = <&usart3_pins_e>;
281         pinctrl-1 = <&usart3_sleep_pins_e>;
282         uart-has-rtscts;
283         /delete-property/dmas;
284         /delete-property/dma-names;
285         status = "okay";
286 };
287
288 &usbh_ehci {
289         phys = <&usbphyc_port0>;
290         status = "okay";
291 };
292
293 &usbh_ohci {
294         phys = <&usbphyc_port0>;
295         status = "okay";
296 };
297
298 &usbotg_hs {
299         dr_mode = "otg";
300         pinctrl-0 = <&usbotg_hs_pins_a>;
301         pinctrl-names = "default";
302         phy-names = "usb2-phy";
303         phys = <&usbphyc_port1 0>;
304         vbus-supply = <&vbus_otg>;
305         status = "okay";
306 };
307
308 &usbphyc {
309         status = "okay";
310 };
311
312 &usbphyc_port0 {
313         phy-supply = <&vdd_usb>;
314         connector {
315                 compatible = "usb-a-connector";
316                 vbus-supply = <&vbus_sw>;
317         };
318 };
319
320 &usbphyc_port1 {
321         phy-supply = <&vdd_usb>;
322 };