Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / imx51-zii-scu3-esb.dts
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
2
3 /*
4  * Copyright (C) 2018 Zodiac Inflight Innovations
5  */
6
7 /dts-v1/;
8
9 #include "imx51.dtsi"
10
11 / {
12         model = "ZII SCU3 ESB board";
13         compatible = "zii,imx51-scu3-esb", "fsl,imx51";
14
15         chosen {
16                 stdout-path = &uart1;
17         };
18
19         /* Will be filled by the bootloader */
20         memory@90000000 {
21                 device_type = "memory";
22                 reg = <0x90000000 0>;
23         };
24
25         usb_vbus: regulator-usb-vbus {
26                 compatible = "regulator-fixed";
27                 regulator-name = "usb_vbus";
28                 regulator-min-microvolt = <5000000>;
29                 regulator-max-microvolt = <5000000>;
30
31                 pinctrl-names = "default";
32                 pinctrl-0 = <&pinctrl_usb_mmc_reset>;
33                 gpio = <&gpio4 19 GPIO_ACTIVE_LOW>;
34                 startup-delay-us = <150000>;
35         };
36 };
37
38 &cpu {
39         cpu-supply = <&sw1_reg>;
40 };
41
42 &ecspi1 {
43         pinctrl-names = "default";
44         pinctrl-0 = <&pinctrl_ecspi1>;
45         cs-gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>,
46                    <&gpio4 25 GPIO_ACTIVE_LOW>;
47         status = "okay";
48
49         pmic@0 {
50                 compatible = "fsl,mc13892";
51                 pinctrl-names = "default";
52                 pinctrl-0 = <&pinctrl_pmic>;
53                 spi-max-frequency = <6000000>;
54                 spi-cs-high;
55                 reg = <0>;
56                 interrupt-parent = <&gpio1>;
57                 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
58                 fsl,mc13xxx-uses-adc;
59
60                 regulators {
61                         sw1_reg: sw1 {
62                                 regulator-min-microvolt = <600000>;
63                                 regulator-max-microvolt = <1375000>;
64                                 regulator-boot-on;
65                                 regulator-always-on;
66                         };
67
68                         sw2_reg: sw2 {
69                                 regulator-min-microvolt = <900000>;
70                                 regulator-max-microvolt = <1850000>;
71                                 regulator-boot-on;
72                                 regulator-always-on;
73                         };
74
75                         sw3_reg: sw3 {
76                                 regulator-min-microvolt = <1100000>;
77                                 regulator-max-microvolt = <1850000>;
78                                 regulator-boot-on;
79                                 regulator-always-on;
80                         };
81
82                         sw4_reg: sw4 {
83                                 regulator-min-microvolt = <1100000>;
84                                 regulator-max-microvolt = <1850000>;
85                                 regulator-boot-on;
86                                 regulator-always-on;
87                         };
88
89                         vpll_reg: vpll {
90                                 regulator-min-microvolt = <1050000>;
91                                 regulator-max-microvolt = <1800000>;
92                                 regulator-boot-on;
93                                 regulator-always-on;
94                         };
95
96                         vdig_reg: vdig {
97                                 regulator-min-microvolt = <1650000>;
98                                 regulator-max-microvolt = <1650000>;
99                                 regulator-boot-on;
100                         };
101
102                         vsd_reg: vsd {
103                                 regulator-min-microvolt = <1800000>;
104                                 regulator-max-microvolt = <3150000>;
105                         };
106
107                         vusb_reg: vusb {
108                                 regulator-always-on;
109                         };
110
111                         vusb2_reg: vusb2 {
112                                 regulator-min-microvolt = <2400000>;
113                                 regulator-max-microvolt = <2775000>;
114                                 regulator-boot-on;
115                                 regulator-always-on;
116                         };
117
118                         vvideo_reg: vvideo {
119                                 regulator-min-microvolt = <2775000>;
120                                 regulator-max-microvolt = <2775000>;
121                         };
122
123                         vaudio_reg: vaudio {
124                                 regulator-min-microvolt = <2300000>;
125                                 regulator-max-microvolt = <3000000>;
126                         };
127
128                         vcam_reg: vcam {
129                                 regulator-min-microvolt = <2500000>;
130                                 regulator-max-microvolt = <3000000>;
131                         };
132
133                         vgen1_reg: vgen1 {
134                                 regulator-min-microvolt = <1200000>;
135                                 regulator-max-microvolt = <1200000>;
136                         };
137
138                         vgen2_reg: vgen2 {
139                                 regulator-min-microvolt = <1200000>;
140                                 regulator-max-microvolt = <3150000>;
141                                 regulator-always-on;
142                         };
143
144                         vgen3_reg: vgen3 {
145                                 regulator-min-microvolt = <1800000>;
146                                 regulator-max-microvolt = <2900000>;
147                                 regulator-always-on;
148                         };
149                 };
150
151                 leds {
152                         #address-cells = <1>;
153                         #size-cells = <0>;
154                         led-control = <0x0 0x0 0x3f83f8 0x0>;
155
156                         sysled3: led3@3 {
157                                 reg = <3>;
158                                 label = "system:red:power";
159                                 linux,default-trigger = "default-on";
160                         };
161
162                         sysled4: led4@4 {
163                                 reg = <4>;
164                                 label = "system:green:act";
165                                 linux,default-trigger = "heartbeat";
166                         };
167                 };
168         };
169
170         flash@1 {
171                 #address-cells = <1>;
172                 #size-cells = <1>;
173                 compatible = "atmel,at45", "atmel,dataflash";
174                 spi-max-frequency = <25000000>;
175                 reg = <1>;
176         };
177 };
178
179 &esdhc1 {
180         pinctrl-names = "default";
181         pinctrl-0 = <&pinctrl_esdhc1>;
182         bus-width = <8>;
183         non-removable;
184         no-1-8-v;
185         no-sdio;
186         no-sd;
187         status = "okay";
188 };
189
190 &esdhc4 {
191         pinctrl-names = "default";
192         pinctrl-0 = <&pinctrl_esdhc4>;
193         bus-width = <4>;
194         no-1-8-v;
195         no-sdio;
196         cd-gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;
197         status = "okay";
198 };
199
200 &fec {
201         pinctrl-names = "default";
202         pinctrl-0 = <&pinctrl_fec>;
203         phy-mode = "mii";
204         status = "okay";
205
206         fixed-link {
207                 speed = <100>;
208                 full-duplex;
209         };
210
211         fec_mdio: mdio {
212                 #address-cells = <1>;
213                 #size-cells = <0>;
214                 status = "okay";
215
216                 switch@0 {
217                         compatible = "marvell,mv88e6085";
218                         reg = <0>;
219                         dsa,member = <0 0>;
220                         eeprom-length = <512>;
221                         interrupt-parent = <&gpio4>;
222                         interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
223                         interrupt-controller;
224                         #interrupt-cells = <2>;
225                         pinctrl-names = "default";
226                         pinctrl-0 = <&pinctrl_switch>;
227
228                         ports {
229                                 #address-cells = <1>;
230                                 #size-cells = <0>;
231
232                                 port@0 {
233                                         reg = <0>;
234                                         label = "port1";
235                                 };
236
237                                 port@1 {
238                                         reg = <1>;
239                                         label = "port2";
240                                 };
241
242                                 port@2 {
243                                         reg = <2>;
244                                         label = "port3";
245                                 };
246
247                                 port@3 {
248                                         reg = <3>;
249                                         label = "scu2scu";
250                                 };
251
252                                 port@4 {
253                                         reg = <4>;
254                                         label = "esb2host";
255                                 };
256
257                                 port@5 {
258                                         reg = <5>;
259                                         label = "esb2mezz";
260                                         phy-mode = "sgmii";
261
262                                         fixed-link {
263                                                 speed = <1000>;
264                                                 full-duplex;
265                                         };
266                                 };
267
268                                 port@6 {
269                                         reg = <6>;
270                                         label = "cpu";
271                                         phy-mode = "mii";
272                                         ethernet = <&fec>;
273
274                                         fixed-link {
275                                                 speed = <100>;
276                                                 full-duplex;
277                                         };
278                                 };
279                         };
280                 };
281         };
282 };
283
284 &ipu {
285         status = "disabled";
286 };
287
288 &i2c2 {
289         pinctrl-names = "default";
290         pinctrl-0 = <&pinctrl_i2c2>;
291         status = "okay";
292
293         eeprom@50 {
294                 compatible = "atmel,24c04";
295                 pagesize = <16>;
296                 reg = <0x50>;
297         };
298
299         lm75@48 {
300                 compatible = "national,lm75";
301                 reg = <0x48>;
302         };
303 };
304
305 &uart1 {
306         pinctrl-names = "default";
307         pinctrl-0 = <&pinctrl_uart1>;
308         status = "okay";
309 };
310
311 &uart2 {
312         pinctrl-names = "default";
313         pinctrl-0 = <&pinctrl_uart2>;
314         status = "okay";
315 };
316
317 &uart3 {
318         pinctrl-names = "default";
319         pinctrl-0 = <&pinctrl_uart3>;
320         status = "okay";
321
322         rave-sp {
323                 compatible = "zii,rave-sp-esb";
324                 current-speed = <57600>;
325                 #address-cells = <1>;
326                 #size-cells = <1>;
327
328                 watchdog {
329                         compatible = "zii,rave-sp-watchdog-legacy";
330                 };
331
332                 eeprom@a4 {
333                         compatible = "zii,rave-sp-eeprom";
334                         reg = <0xa4 0x4000>;
335                         #address-cells = <1>;
336                         #size-cells = <1>;
337                         zii,eeprom-name = "main-eeprom";
338                 };
339         };
340 };
341
342 &usbotg {
343         dr_mode = "host";
344         disable-over-current;
345         phy_type = "utmi_wide";
346         vbus-supply = <&usb_vbus>;
347         status = "okay";
348 };
349
350 &usbphy0 {
351         vcc-supply = <&vusb2_reg>;
352 };
353
354 &vpu {
355         status = "disabled";
356 };
357
358 &wdog1 {
359         status = "disabled";
360 };
361
362 &iomuxc {
363         pinctrl_ecspi1: ecspi1grp {
364                 fsl,pins = <
365                         MX51_PAD_CSPI1_MISO__ECSPI1_MISO        0x185
366                         MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI        0x185
367                         MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK        0x185
368                         MX51_PAD_CSPI1_SS0__GPIO4_24            0x85
369                         MX51_PAD_CSPI1_SS1__GPIO4_25            0x85
370                 >;
371         };
372
373         pinctrl_esdhc1: esdhc1grp {
374                 fsl,pins = <
375                         MX51_PAD_SD1_CMD__SD1_CMD               0x400020d5
376                         MX51_PAD_SD1_CLK__SD1_CLK               0x20d5
377                         MX51_PAD_SD1_DATA0__SD1_DATA0           0x20d5
378                         MX51_PAD_SD1_DATA1__SD1_DATA1           0x20d5
379                         MX51_PAD_SD1_DATA2__SD1_DATA2           0x20d5
380                         MX51_PAD_SD1_DATA3__SD1_DATA3           0x20d5
381                         MX51_PAD_SD2_DATA0__SD1_DAT4            0x20d5
382                         MX51_PAD_SD2_DATA1__SD1_DAT5            0x20d5
383                         MX51_PAD_SD2_DATA2__SD1_DAT6            0x20d5
384                         MX51_PAD_SD2_DATA3__SD1_DAT7            0x20d5
385                 >;
386         };
387
388         pinctrl_esdhc4: esdhc4grp {
389                 fsl,pins = <
390                         MX51_PAD_NANDF_RB1__SD4_CMD             0x400020d5
391                         MX51_PAD_NANDF_CS2__SD4_CLK             0x20d5
392                         MX51_PAD_NANDF_CS3__SD4_DAT0            0x20d5
393                         MX51_PAD_NANDF_CS4__SD4_DAT1            0x20d5
394                         MX51_PAD_NANDF_CS5__SD4_DAT2            0x20d5
395                         MX51_PAD_NANDF_CS6__SD4_DAT3            0x20d5
396                         MX51_PAD_NANDF_D0__GPIO4_8              0x100
397                 >;
398         };
399
400         pinctrl_fec: fecgrp {
401                 fsl,pins = <
402                         MX51_PAD_DISP2_DAT15__FEC_TDATA0        0x2004
403                         MX51_PAD_DISP2_DAT6__FEC_TDATA1         0x2004
404                         MX51_PAD_DISP2_DAT7__FEC_TDATA2         0x2004
405                         MX51_PAD_DISP2_DAT8__FEC_TDATA3         0x2004
406                         MX51_PAD_DISP2_DAT9__FEC_TX_EN          0x2004
407                         MX51_PAD_DISP2_DAT10__FEC_COL           0x0180
408                         MX51_PAD_DISP2_DAT11__FEC_RX_CLK        0x0180
409                         MX51_PAD_DISP2_DAT12__FEC_RX_DV         0x20a4
410
411                         MX51_PAD_DISP2_DAT13__FEC_TX_CLK        0x2180
412                         MX51_PAD_DISP2_DAT14__FEC_RDATA0        0x2180
413                         MX51_PAD_DI2_DISP_CLK__FEC_RDATA1       0x0085
414                         MX51_PAD_DI_GP4__FEC_RDATA2             0x0085
415                         MX51_PAD_DISP2_DAT0__FEC_RDATA3         0x0085
416                         MX51_PAD_DI2_PIN2__FEC_MDC              0x2004
417                         MX51_PAD_DI2_PIN3__FEC_MDIO             0x01f5
418                         MX51_PAD_DI2_PIN4__FEC_CRS              0x0180
419                 >;
420         };
421
422         pinctrl_i2c2: i2c2grp {
423                 fsl,pins = <
424                         MX51_PAD_KEY_COL4__I2C2_SCL             0x400001ed
425                         MX51_PAD_KEY_COL5__I2C2_SDA             0x400001ed
426                 >;
427         };
428
429         pinctrl_pmic: pmicgrp {
430                 fsl,pins = <
431                         MX51_PAD_GPIO1_4__GPIO1_4               0x85
432                         MX51_PAD_GPIO1_8__GPIO1_8               0xe5
433                 >;
434         };
435
436         pinctrl_switch: switchgrp {
437                 fsl,pins = <
438                         MX51_PAD_AUD3_BB_CK__GPIO4_20           0xc5
439                 >;
440         };
441
442         pinctrl_uart1: uart1grp {
443                 fsl,pins = <
444                         MX51_PAD_UART1_RXD__UART1_RXD           0x1c5
445                         MX51_PAD_UART1_TXD__UART1_TXD           0x1c5
446                         MX51_PAD_UART1_RTS__UART1_RTS           0x1c5
447                         MX51_PAD_UART1_CTS__UART1_CTS           0x1c5
448                 >;
449         };
450
451         pinctrl_uart2: uart2grp {
452                 fsl,pins = <
453                         MX51_PAD_UART2_RXD__UART2_RXD           0x1c5
454                         MX51_PAD_UART2_TXD__UART2_TXD           0x1c5
455                         MX51_PAD_USBH1_DATA0__UART2_CTS         0x1c5
456                         MX51_PAD_USBH1_DATA3__UART2_RTS         0x1c5
457                 >;
458         };
459
460         pinctrl_uart3: uart3grp {
461                 fsl,pins = <
462                         MX51_PAD_UART3_RXD__UART3_RXD           0x1c5
463                         MX51_PAD_UART3_TXD__UART3_TXD           0x1c5
464                 >;
465         };
466
467         pinctrl_usb_mmc_reset: usbmmcgrp {
468                 fsl,pins = <
469                         MX51_PAD_AUD3_BB_RXD__GPIO4_19          0x100
470                 >;
471         };
472 };