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