ARM: dts: i.MX6QDL: icore-rqs: Fix eMMC detection during SPL
[oweals/u-boot.git] / arch / arm / dts / imx7d-sdb.dts
1 /*
2  * Copyright 2017 NXP
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 /dts-v1/;
8
9 #include "imx7d.dtsi"
10
11 / {
12         model = "Freescale i.MX7 SabreSD Board";
13         compatible = "fsl,imx7d-sdb", "fsl,imx7d";
14
15         memory {
16                 reg = <0x80000000 0x80000000>;
17         };
18
19         spi4 {
20                 compatible = "spi-gpio";
21                 pinctrl-names = "default";
22                 pinctrl-0 = <&pinctrl_spi1>;
23                 status = "okay";
24                 gpio-sck = <&gpio1 13 0>;
25                 gpio-mosi = <&gpio1 9 0>;
26                 cs-gpios = <&gpio1 12 0>;
27                 num-chipselects = <1>;
28                 #address-cells = <1>;
29                 #size-cells = <0>;
30
31                 gpio_spi: gpio_spi@0 {
32                         compatible = "fairchild,74hc595";
33                         gpio-controller;
34                         #gpio-cells = <2>;
35                         reg = <0>;
36                         registers-number = <1>;
37                         registers-default = /bits/ 8 <0x74>; /* Enable PERI_3V3, SENSOR_RST_B and HDMI_RST*/
38                         spi-max-frequency = <100000>;
39                 };
40         };
41
42         regulators {
43                 compatible = "simple-bus";
44                 #address-cells = <1>;
45                 #size-cells = <0>;
46
47                 reg_usb_otg1_vbus: regulator@0 {
48                         compatible = "regulator-fixed";
49                         reg = <0>;
50                         regulator-name = "usb_otg1_vbus";
51                         regulator-min-microvolt = <5000000>;
52                         regulator-max-microvolt = <5000000>;
53                         gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
54                         enable-active-high;
55                 };
56
57                 reg_usb_otg2_vbus: regulator@1 {
58                         compatible = "regulator-fixed";
59                         reg = <1>;
60                         regulator-name = "usb_otg2_vbus";
61                         regulator-min-microvolt = <5000000>;
62                         regulator-max-microvolt = <5000000>;
63                         gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
64                         enable-active-high;
65                 };
66
67                 reg_sd1_vmmc: regulator@3 {
68                         compatible = "regulator-fixed";
69                         regulator-name = "VDD_SD1";
70                         regulator-min-microvolt = <3300000>;
71                         regulator-max-microvolt = <3300000>;
72                         gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
73                         startup-delay-us = <200000>;
74                         enable-active-high;
75                 };
76         };
77 };
78
79 &iomuxc {
80         imx7d-sdb {
81                 pinctrl_spi1: spi1grp {
82                         fsl,pins = <
83                                 MX7D_PAD_GPIO1_IO09__GPIO1_IO9  0x59
84                                 MX7D_PAD_GPIO1_IO12__GPIO1_IO12 0x59
85                                 MX7D_PAD_GPIO1_IO13__GPIO1_IO13 0x59
86                         >;
87                 };
88
89                 pinctrl_i2c1: i2c1grp {
90                         fsl,pins = <
91                                 MX7D_PAD_I2C1_SDA__I2C1_SDA     0x4000007f
92                                 MX7D_PAD_I2C1_SCL__I2C1_SCL     0x4000007f
93                         >;
94                 };
95
96                 pinctrl_i2c2: i2c2grp {
97                         fsl,pins = <
98                                 MX7D_PAD_I2C2_SDA__I2C2_SDA     0x4000007f
99                                 MX7D_PAD_I2C2_SCL__I2C2_SCL     0x4000007f
100                         >;
101                 };
102
103                 pinctrl_i2c3: i2c3grp {
104                         fsl,pins = <
105                                 MX7D_PAD_I2C3_SDA__I2C3_SDA     0x4000007f
106                                 MX7D_PAD_I2C3_SCL__I2C3_SCL     0x4000007f
107                         >;
108                 };
109
110                 pinctrl_i2c4: i2c4grp {
111                         fsl,pins = <
112                                 MX7D_PAD_SAI1_RX_BCLK__I2C4_SDA 0x4000007f
113                                 MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL 0x4000007f
114                         >;
115                 };
116
117                 pinctrl_usdhc1_gpio: usdhc1_gpiogrp {
118                         fsl,pins = <
119                                 MX7D_PAD_SD1_CD_B__GPIO5_IO0            0x59 /* CD */
120                                 MX7D_PAD_SD1_WP__GPIO5_IO1              0x59 /* WP */
121                                 MX7D_PAD_SD1_RESET_B__GPIO5_IO2         0x59 /* vmmc */
122                                 MX7D_PAD_GPIO1_IO08__SD1_VSELECT        0x59 /* VSELECT */
123                         >;
124                 };
125
126                 pinctrl_usdhc1: usdhc1grp {
127                         fsl,pins = <
128                                 MX7D_PAD_SD1_CMD__SD1_CMD               0x59
129                                 MX7D_PAD_SD1_CLK__SD1_CLK               0x19
130                                 MX7D_PAD_SD1_DATA0__SD1_DATA0           0x59
131                                 MX7D_PAD_SD1_DATA1__SD1_DATA1           0x59
132                                 MX7D_PAD_SD1_DATA2__SD1_DATA2           0x59
133                                 MX7D_PAD_SD1_DATA3__SD1_DATA3           0x59
134                         >;
135                 };
136
137                 pinctrl_usdhc1_100mhz: usdhc1grp_100mhz {
138                         fsl,pins = <
139                                 MX7D_PAD_SD1_CMD__SD1_CMD               0x5a
140                                 MX7D_PAD_SD1_CLK__SD1_CLK               0x1a
141                                 MX7D_PAD_SD1_DATA0__SD1_DATA0           0x5a
142                                 MX7D_PAD_SD1_DATA1__SD1_DATA1           0x5a
143                                 MX7D_PAD_SD1_DATA2__SD1_DATA2           0x5a
144                                 MX7D_PAD_SD1_DATA3__SD1_DATA3           0x5a
145                         >;
146                 };
147
148                 pinctrl_usdhc1_200mhz: usdhc1grp_200mhz {
149                         fsl,pins = <
150                                 MX7D_PAD_SD1_CMD__SD1_CMD               0x5b
151                                 MX7D_PAD_SD1_CLK__SD1_CLK               0x1b
152                                 MX7D_PAD_SD1_DATA0__SD1_DATA0           0x5b
153                                 MX7D_PAD_SD1_DATA1__SD1_DATA1           0x5b
154                                 MX7D_PAD_SD1_DATA2__SD1_DATA2           0x5b
155                                 MX7D_PAD_SD1_DATA3__SD1_DATA3           0x5b
156                         >;
157                 };
158
159                 pinctrl_usdhc2: usdhc2grp {
160                         fsl,pins = <
161                                 MX7D_PAD_SD2_CMD__SD2_CMD       0x59
162                                 MX7D_PAD_SD2_CLK__SD2_CLK       0x19
163                                 MX7D_PAD_SD2_DATA0__SD2_DATA0   0x59
164                                 MX7D_PAD_SD2_DATA1__SD2_DATA1   0x59
165                                 MX7D_PAD_SD2_DATA2__SD2_DATA2   0x59
166                                 MX7D_PAD_SD2_DATA3__SD2_DATA3   0x59
167                                 MX7D_PAD_ECSPI2_MOSI__GPIO4_IO21        0x19 /* WL_REG_ON */
168                                 MX7D_PAD_ECSPI2_SCLK__GPIO4_IO20        0x19 /* WL_HOST_WAKE */
169                         >;
170                 };
171
172                 pinctrl_usdhc2_100mhz: usdhc2grp_100mhz {
173                         fsl,pins = <
174                                 MX7D_PAD_SD2_CMD__SD2_CMD               0x5a
175                                 MX7D_PAD_SD2_CLK__SD2_CLK               0x1a
176                                 MX7D_PAD_SD2_DATA0__SD2_DATA0           0x5a
177                                 MX7D_PAD_SD2_DATA1__SD2_DATA1           0x5a
178                                 MX7D_PAD_SD2_DATA2__SD2_DATA2           0x5a
179                                 MX7D_PAD_SD2_DATA3__SD2_DATA3           0x5a
180                         >;
181                 };
182
183                 pinctrl_usdhc2_200mhz: usdhc2grp_200mhz {
184                         fsl,pins = <
185                                 MX7D_PAD_SD2_CMD__SD2_CMD               0x5b
186                                 MX7D_PAD_SD2_CLK__SD2_CLK               0x1b
187                                 MX7D_PAD_SD2_DATA0__SD2_DATA0           0x5b
188                                 MX7D_PAD_SD2_DATA1__SD2_DATA1           0x5b
189                                 MX7D_PAD_SD2_DATA2__SD2_DATA2           0x5b
190                                 MX7D_PAD_SD2_DATA3__SD2_DATA3           0x5b
191                         >;
192                 };
193
194                 pinctrl_usdhc3: usdhc3grp {
195                         fsl,pins = <
196                                 MX7D_PAD_SD3_CMD__SD3_CMD               0x59
197                                 MX7D_PAD_SD3_CLK__SD3_CLK               0x19
198                                 MX7D_PAD_SD3_DATA0__SD3_DATA0           0x59
199                                 MX7D_PAD_SD3_DATA1__SD3_DATA1           0x59
200                                 MX7D_PAD_SD3_DATA2__SD3_DATA2           0x59
201                                 MX7D_PAD_SD3_DATA3__SD3_DATA3           0x59
202                                 MX7D_PAD_SD3_DATA4__SD3_DATA4           0x59
203                                 MX7D_PAD_SD3_DATA5__SD3_DATA5           0x59
204                                 MX7D_PAD_SD3_DATA6__SD3_DATA6           0x59
205                                 MX7D_PAD_SD3_DATA7__SD3_DATA7           0x59
206                                 MX7D_PAD_SD3_STROBE__SD3_STROBE         0x19
207                         >;
208                 };
209
210                 pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
211                         fsl,pins = <
212                                 MX7D_PAD_SD3_CMD__SD3_CMD               0x5a
213                                 MX7D_PAD_SD3_CLK__SD3_CLK               0x1a
214                                 MX7D_PAD_SD3_DATA0__SD3_DATA0           0x5a
215                                 MX7D_PAD_SD3_DATA1__SD3_DATA1           0x5a
216                                 MX7D_PAD_SD3_DATA2__SD3_DATA2           0x5a
217                                 MX7D_PAD_SD3_DATA3__SD3_DATA3           0x5a
218                                 MX7D_PAD_SD3_DATA4__SD3_DATA4           0x5a
219                                 MX7D_PAD_SD3_DATA5__SD3_DATA5           0x5a
220                                 MX7D_PAD_SD3_DATA6__SD3_DATA6           0x5a
221                                 MX7D_PAD_SD3_DATA7__SD3_DATA7           0x5a
222                                 MX7D_PAD_SD3_STROBE__SD3_STROBE         0x1a
223                         >;
224                 };
225
226                 pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
227                         fsl,pins = <
228                                 MX7D_PAD_SD3_CMD__SD3_CMD               0x5b
229                                 MX7D_PAD_SD3_CLK__SD3_CLK               0x1b
230                                 MX7D_PAD_SD3_DATA0__SD3_DATA0           0x5b
231                                 MX7D_PAD_SD3_DATA1__SD3_DATA1           0x5b
232                                 MX7D_PAD_SD3_DATA2__SD3_DATA2           0x5b
233                                 MX7D_PAD_SD3_DATA3__SD3_DATA3           0x5b
234                                 MX7D_PAD_SD3_DATA4__SD3_DATA4           0x5b
235                                 MX7D_PAD_SD3_DATA5__SD3_DATA5           0x5b
236                                 MX7D_PAD_SD3_DATA6__SD3_DATA6           0x5b
237                                 MX7D_PAD_SD3_DATA7__SD3_DATA7           0x5b
238                                 MX7D_PAD_SD3_STROBE__SD3_STROBE         0x1b
239                         >;
240                 };
241         };
242 };
243
244 &i2c1 {
245         clock-frequency = <100000>;
246         pinctrl-names = "default";
247         pinctrl-0 = <&pinctrl_i2c1>;
248         status = "okay";
249
250         pmic: pfuze3000@08 {
251                 compatible = "fsl,pfuze3000";
252                 reg = <0x08>;
253
254                 regulators {
255                         sw1a_reg: sw1a {
256                                 regulator-min-microvolt = <700000>;
257                                 regulator-max-microvolt = <3300000>;
258                                 regulator-boot-on;
259                                 regulator-always-on;
260                                 regulator-ramp-delay = <6250>;
261                         };
262
263                         /* use sw1c_reg to align with pfuze100/pfuze200 */
264                         sw1c_reg: sw1b {
265                                 regulator-min-microvolt = <700000>;
266                                 regulator-max-microvolt = <1475000>;
267                                 regulator-boot-on;
268                                 regulator-always-on;
269                                 regulator-ramp-delay = <6250>;
270                         };
271
272                         sw2_reg: sw2 {
273                                 regulator-min-microvolt = <1500000>;
274                                 regulator-max-microvolt = <1850000>;
275                                 regulator-boot-on;
276                                 regulator-always-on;
277                         };
278
279                         sw3a_reg: sw3 {
280                                 regulator-min-microvolt = <900000>;
281                                 regulator-max-microvolt = <1650000>;
282                                 regulator-boot-on;
283                                 regulator-always-on;
284                         };
285
286                         swbst_reg: swbst {
287                                 regulator-min-microvolt = <5000000>;
288                                 regulator-max-microvolt = <5150000>;
289                         };
290
291                         snvs_reg: vsnvs {
292                                 regulator-min-microvolt = <1000000>;
293                                 regulator-max-microvolt = <3000000>;
294                                 regulator-boot-on;
295                                 regulator-always-on;
296                         };
297
298                         vref_reg: vrefddr {
299                                 regulator-boot-on;
300                                 regulator-always-on;
301                         };
302
303                         vgen1_reg: vldo1 {
304                                 regulator-min-microvolt = <1800000>;
305                                 regulator-max-microvolt = <3300000>;
306                                 regulator-always-on;
307                         };
308
309                         vgen2_reg: vldo2 {
310                                 regulator-min-microvolt = <800000>;
311                                 regulator-max-microvolt = <1550000>;
312                                 regulator-always-on;
313                         };
314
315                         vgen3_reg: vccsd {
316                                 regulator-min-microvolt = <2850000>;
317                                 regulator-max-microvolt = <3300000>;
318                                 regulator-always-on;
319                         };
320
321                         vgen4_reg: v33 {
322                                 regulator-min-microvolt = <2850000>;
323                                 regulator-max-microvolt = <3300000>;
324                                 regulator-always-on;
325                         };
326
327                         vgen5_reg: vldo3 {
328                                 regulator-min-microvolt = <1800000>;
329                                 regulator-max-microvolt = <3300000>;
330                                 regulator-always-on;
331                         };
332
333                         vgen6_reg: vldo4 {
334                                 regulator-min-microvolt = <1800000>;
335                                 regulator-max-microvolt = <3300000>;
336                                 regulator-always-on;
337                         };
338                 };
339         };
340 };
341
342 &i2c2 {
343         clock-frequency = <100000>;
344         pinctrl-names = "default";
345         pinctrl-0 = <&pinctrl_i2c2>;
346         status = "okay";
347 };
348
349 &i2c3 {
350         clock-frequency = <100000>;
351         pinctrl-names = "default";
352         pinctrl-0 = <&pinctrl_i2c3>;
353         status = "okay";
354 };
355
356 &i2c4 {
357         clock-frequency = <100000>;
358         pinctrl-names = "default";
359         pinctrl-0 = <&pinctrl_i2c4>;
360         status = "okay";
361 };
362
363 &usdhc1 {
364         pinctrl-names = "default", "state_100mhz", "state_200mhz";
365         pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>;
366         pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_usdhc1_gpio>;
367         pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_usdhc1_gpio>;
368         cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
369         wp-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
370         vmmc-supply = <&reg_sd1_vmmc>;
371         fsl,tuning-start-tap = <20>;
372         fsl,tuning-step= <2>;
373         status = "okay";
374 };
375
376 &usdhc2 {
377         pinctrl-names = "default", "state_100mhz", "state_200mhz";
378         pinctrl-0 = <&pinctrl_usdhc2>;
379         pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
380         pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
381         non-removable;
382         fsl,tuning-start-tap = <20>;
383         fsl,tuning-step= <2>;
384         status = "okay";
385 };
386
387 &usdhc3 {
388         pinctrl-names = "default", "state_100mhz", "state_200mhz";
389         pinctrl-0 = <&pinctrl_usdhc3>;
390         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
391         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
392         bus-width = <8>;
393         non-removable;
394         fsl,tuning-start-tap = <20>;
395         fsl,tuning-step= <2>;
396         status = "okay";
397 };