GNU Linux-libre 4.19.304-gnu1
[releases.git] / arch / arm / boot / dts / imx6sll-evk.dts
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
2 /*
3  * Copyright 2016 Freescale Semiconductor, Inc.
4  * Copyright 2017-2018 NXP.
5  *
6  */
7
8 /dts-v1/;
9
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/input.h>
12 #include "imx6sll.dtsi"
13
14 / {
15         model = "Freescale i.MX6SLL EVK Board";
16         compatible = "fsl,imx6sll-evk", "fsl,imx6sll";
17
18         chosen {
19                 stdout-path = &uart1;
20         };
21
22         memory@80000000 {
23                 device_type = "memory";
24                 reg = <0x80000000 0x80000000>;
25         };
26
27         backlight_display: backlight-display {
28                 compatible = "pwm-backlight";
29                 pwms = <&pwm1 0 5000000>;
30                 brightness-levels = <0 4 8 16 32 64 128 255>;
31                 default-brightness-level = <6>;
32                 status = "okay";
33         };
34
35         reg_usb_otg1_vbus: regulator-otg1-vbus {
36                 compatible = "regulator-fixed";
37                 pinctrl-names = "default";
38                 pinctrl-0 = <&pinctrl_usb_otg1_vbus>;
39                 regulator-name = "usb_otg1_vbus";
40                 regulator-min-microvolt = <5000000>;
41                 regulator-max-microvolt = <5000000>;
42                 gpio = <&gpio4 0 GPIO_ACTIVE_HIGH>;
43                 enable-active-high;
44         };
45
46         reg_usb_otg2_vbus: regulator-otg2-vbus {
47                 compatible = "regulator-fixed";
48                 pinctrl-names = "default";
49                 pinctrl-0 = <&pinctrl_usb_otg2_vbus>;
50                 regulator-name = "usb_otg2_vbus";
51                 regulator-min-microvolt = <5000000>;
52                 regulator-max-microvolt = <5000000>;
53                 gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>;
54                 enable-active-high;
55         };
56
57         reg_aud3v: regulator-aud3v {
58                 compatible = "regulator-fixed";
59                 regulator-name = "wm8962-supply-3v15";
60                 regulator-min-microvolt = <3150000>;
61                 regulator-max-microvolt = <3150000>;
62                 regulator-boot-on;
63         };
64
65         reg_aud4v: regulator-aud4v {
66                 compatible = "regulator-fixed";
67                 regulator-name = "wm8962-supply-4v2";
68                 regulator-min-microvolt = <4325000>;
69                 regulator-max-microvolt = <4325000>;
70                 regulator-boot-on;
71         };
72
73         reg_lcd_3v3: regulator-lcd-3v3 {
74                 compatible = "regulator-fixed";
75                 pinctrl-names = "default";
76                 pinctrl-0 = <&pinctrl_reg_lcd_3v3>;
77                 regulator-name = "lcd-3v3";
78                 gpio = <&gpio4 3 GPIO_ACTIVE_HIGH>;
79                 enable-active-high;
80         };
81
82         reg_lcd_5v: regulator-lcd-5v {
83                 compatible = "regulator-fixed";
84                 regulator-name = "lcd-5v0";
85                 regulator-min-microvolt = <5000000>;
86                 regulator-max-microvolt = <5000000>;
87         };
88
89         reg_sd1_vmmc: regulator-sd1-vmmc {
90                 compatible = "regulator-fixed";
91                 pinctrl-names = "default";
92                 pinctrl-0 = <&pinctrl_reg_sd1_vmmc>;
93                 regulator-name = "SD1_SPWR";
94                 regulator-min-microvolt = <3000000>;
95                 regulator-max-microvolt = <3000000>;
96                 gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
97                 enable-active-high;
98         };
99
100         reg_sd3_vmmc: regulator-sd3-vmmc {
101                 compatible = "regulator-fixed";
102                 pinctrl-names = "default";
103                 pinctrl-0 = <&pinctrl_reg_sd3_vmmc>;
104                 regulator-name = "SD3_WIFI";
105                 regulator-min-microvolt = <3000000>;
106                 regulator-max-microvolt = <3000000>;
107                 gpio = <&gpio4 4 GPIO_ACTIVE_HIGH>;
108                 enable-active-high;
109         };
110
111         panel {
112                 compatible = "sii,43wvf1g";
113                 backlight = <&backlight_display>;
114                 dvdd-supply = <&reg_lcd_3v3>;
115                 avdd-supply = <&reg_lcd_5v>;
116
117                 port {
118                         panel_in: endpoint {
119                                 remote-endpoint = <&display_out>;
120                         };
121                 };
122         };
123 };
124
125 &cpu0 {
126         arm-supply = <&sw1a_reg>;
127         soc-supply = <&sw1c_reg>;
128 };
129
130 &i2c1 {
131         clock-frequency = <100000>;
132         pinctrl-names = "default";
133         pinctrl-0 = <&pinctrl_i2c1>;
134         status = "okay";
135
136         pfuze100: pmic@8 {
137                 compatible = "fsl,pfuze100";
138                 reg = <0x08>;
139
140                 regulators {
141                         sw1a_reg: sw1ab {
142                                 regulator-min-microvolt = <300000>;
143                                 regulator-max-microvolt = <1875000>;
144                                 regulator-boot-on;
145                                 regulator-always-on;
146                                 regulator-ramp-delay = <6250>;
147                         };
148
149                         sw1c_reg: sw1c {
150                                 regulator-min-microvolt = <300000>;
151                                 regulator-max-microvolt = <1875000>;
152                                 regulator-boot-on;
153                                 regulator-always-on;
154                                 regulator-ramp-delay = <6250>;
155                         };
156
157                         sw2_reg: sw2 {
158                                 regulator-min-microvolt = <800000>;
159                                 regulator-max-microvolt = <3300000>;
160                                 regulator-boot-on;
161                                 regulator-always-on;
162                         };
163
164                         sw3a_reg: sw3a {
165                                 regulator-min-microvolt = <400000>;
166                                 regulator-max-microvolt = <1975000>;
167                                 regulator-boot-on;
168                                 regulator-always-on;
169                         };
170
171                         sw3b_reg: sw3b {
172                                 regulator-min-microvolt = <400000>;
173                                 regulator-max-microvolt = <1975000>;
174                                 regulator-boot-on;
175                                 regulator-always-on;
176                         };
177
178                         sw4_reg: sw4 {
179                                 regulator-min-microvolt = <800000>;
180                                 regulator-max-microvolt = <3300000>;
181                                 regulator-always-on;
182                         };
183
184                         swbst_reg: swbst {
185                                 regulator-min-microvolt = <5000000>;
186                                 regulator-max-microvolt = <5150000>;
187                         };
188
189                         snvs_reg: vsnvs {
190                                 regulator-min-microvolt = <1000000>;
191                                 regulator-max-microvolt = <3000000>;
192                                 regulator-boot-on;
193                                 regulator-always-on;
194                         };
195
196                         vref_reg: vrefddr {
197                                 regulator-boot-on;
198                                 regulator-always-on;
199                         };
200
201                         vgen1_reg: vgen1 {
202                                 regulator-min-microvolt = <800000>;
203                                 regulator-max-microvolt = <1550000>;
204                                 regulator-always-on;
205                         };
206
207                         vgen2_reg: vgen2 {
208                                 regulator-min-microvolt = <800000>;
209                                 regulator-max-microvolt = <1550000>;
210                         };
211
212                         vgen3_reg: vgen3 {
213                                 regulator-min-microvolt = <1800000>;
214                                 regulator-max-microvolt = <3300000>;
215                         };
216
217                         vgen4_reg: vgen4 {
218                                 regulator-min-microvolt = <1800000>;
219                                 regulator-max-microvolt = <3300000>;
220                                 regulator-always-on;
221                         };
222
223                         vgen5_reg: vgen5 {
224                                 regulator-min-microvolt = <1800000>;
225                                 regulator-max-microvolt = <3300000>;
226                                 regulator-always-on;
227                         };
228
229                         vgen6_reg: vgen6 {
230                                 regulator-min-microvolt = <1800000>;
231                                 regulator-max-microvolt = <3300000>;
232                                 regulator-always-on;
233                         };
234                 };
235         };
236 };
237
238 &lcdif {
239         pinctrl-names = "default";
240         pinctrl-0 = <&pinctrl_lcd>;
241         status = "okay";
242
243         port {
244                 display_out: endpoint {
245                         remote-endpoint = <&panel_in>;
246                 };
247         };
248 };
249
250 &pwm1 {
251         pinctrl-names = "default";
252         pinctrl-0 = <&pinctrl_pwm1>;
253         status = "okay";
254 };
255
256 &uart1 {
257         pinctrl-names = "default";
258         pinctrl-0 = <&pinctrl_uart1>;
259         status = "okay";
260 };
261
262 &usdhc1 {
263         pinctrl-names = "default", "state_100mhz", "state_200mhz";
264         pinctrl-0 = <&pinctrl_usdhc1>;
265         pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
266         pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
267         cd-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
268         wp-gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
269         keep-power-in-suspend;
270         wakeup-source;
271         vmmc-supply = <&reg_sd1_vmmc>;
272         status = "okay";
273 };
274
275 &usbotg1 {
276         vbus-supply = <&reg_usb_otg1_vbus>;
277         pinctrl-names = "default";
278         pinctrl-0 = <&pinctrl_usbotg1>;
279         disable-over-current;
280         srp-disable;
281         hnp-disable;
282         adp-disable;
283         status = "okay";
284 };
285
286 &usbotg2 {
287         vbus-supply = <&reg_usb_otg2_vbus>;
288         dr_mode = "host";
289         disable-over-current;
290         status = "okay";
291 };
292
293 &usdhc3 {
294         pinctrl-names = "default", "state_100mhz", "state_200mhz";
295         pinctrl-0 = <&pinctrl_usdhc3>;
296         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
297         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
298         cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
299         keep-power-in-suspend;
300         enable-sdio-wakeup;
301         vmmc-supply = <&reg_sd3_vmmc>;
302         status = "okay";
303 };
304
305 &iomuxc {
306         pinctrl_reg_sd3_vmmc: sd3vmmcgrp {
307                 fsl,pins = <
308                         MX6SLL_PAD_KEY_COL6__GPIO4_IO04 0x17059
309                 >;
310         };
311
312         pinctrl_usb_otg1_vbus: vbus1grp {
313                 fsl,pins = <
314                         MX6SLL_PAD_KEY_COL4__GPIO4_IO00 0x17059
315                 >;
316         };
317
318         pinctrl_usb_otg2_vbus: vbus2grp {
319                 fsl,pins = <
320                         MX6SLL_PAD_KEY_COL5__GPIO4_IO02 0x17059
321                 >;
322         };
323
324         pinctrl_reg_lcd_3v3: reglcd3v3grp {
325                 fsl,pins = <
326                         MX6SLL_PAD_KEY_ROW5__GPIO4_IO03 0x17059
327                 >;
328         };
329
330         pinctrl_reg_sd1_vmmc: sd1vmmcgrp {
331                 fsl,pins = <
332                         MX6SLL_PAD_KEY_COL3__GPIO3_IO30 0x17059
333                 >;
334         };
335
336         pinctrl_uart1: uart1grp {
337                 fsl,pins = <
338                         MX6SLL_PAD_UART1_TXD__UART1_DCE_TX 0x1b0b1
339                         MX6SLL_PAD_UART1_RXD__UART1_DCE_RX 0x1b0b1
340                 >;
341         };
342
343         pinctrl_usdhc1: usdhc1grp {
344                 fsl,pins = <
345                         MX6SLL_PAD_SD1_CMD__SD1_CMD     0x17059
346                         MX6SLL_PAD_SD1_CLK__SD1_CLK     0x13059
347                         MX6SLL_PAD_SD1_DATA0__SD1_DATA0 0x17059
348                         MX6SLL_PAD_SD1_DATA1__SD1_DATA1 0x17059
349                         MX6SLL_PAD_SD1_DATA2__SD1_DATA2 0x17059
350                         MX6SLL_PAD_SD1_DATA3__SD1_DATA3 0x17059
351                 >;
352         };
353
354         pinctrl_usdhc1_100mhz: usdhc1grp_100mhz {
355                 fsl,pins = <
356                         MX6SLL_PAD_SD1_CMD__SD1_CMD     0x170b9
357                         MX6SLL_PAD_SD1_CLK__SD1_CLK     0x130b9
358                         MX6SLL_PAD_SD1_DATA0__SD1_DATA0 0x170b9
359                         MX6SLL_PAD_SD1_DATA1__SD1_DATA1 0x170b9
360                         MX6SLL_PAD_SD1_DATA2__SD1_DATA2 0x170b9
361                         MX6SLL_PAD_SD1_DATA3__SD1_DATA3 0x170b9
362                 >;
363         };
364
365         pinctrl_usdhc1_200mhz: usdhc1grp_200mhz {
366                 fsl,pins = <
367                         MX6SLL_PAD_SD1_CMD__SD1_CMD     0x170f9
368                         MX6SLL_PAD_SD1_CLK__SD1_CLK     0x130f9
369                         MX6SLL_PAD_SD1_DATA0__SD1_DATA0 0x170f9
370                         MX6SLL_PAD_SD1_DATA1__SD1_DATA1 0x170f9
371                         MX6SLL_PAD_SD1_DATA2__SD1_DATA2 0x170f9
372                         MX6SLL_PAD_SD1_DATA3__SD1_DATA3 0x170f9
373                 >;
374         };
375
376         pinctrl_usbotg1: usbotg1grp {
377                 fsl,pins = <
378                         MX6SLL_PAD_EPDC_PWR_COM__USB_OTG1_ID 0x17059
379                 >;
380         };
381
382         pinctrl_usdhc3: usdhc3grp {
383                 fsl,pins = <
384                         MX6SLL_PAD_SD3_CMD__SD3_CMD             0x17061
385                         MX6SLL_PAD_SD3_CLK__SD3_CLK             0x13061
386                         MX6SLL_PAD_SD3_DATA0__SD3_DATA0         0x17061
387                         MX6SLL_PAD_SD3_DATA1__SD3_DATA1         0x17061
388                         MX6SLL_PAD_SD3_DATA2__SD3_DATA2         0x17061
389                         MX6SLL_PAD_SD3_DATA3__SD3_DATA3         0x17061
390                         MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22      0x17059
391                 >;
392         };
393
394         pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
395                 fsl,pins = <
396                         MX6SLL_PAD_SD3_CMD__SD3_CMD             0x170a1
397                         MX6SLL_PAD_SD3_CLK__SD3_CLK             0x130a1
398                         MX6SLL_PAD_SD3_DATA0__SD3_DATA0         0x170a1
399                         MX6SLL_PAD_SD3_DATA1__SD3_DATA1         0x170a1
400                         MX6SLL_PAD_SD3_DATA2__SD3_DATA2         0x170a1
401                         MX6SLL_PAD_SD3_DATA3__SD3_DATA3         0x170a1
402                         MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22      0x17059
403                 >;
404         };
405
406         pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
407                 fsl,pins = <
408                         MX6SLL_PAD_SD3_CMD__SD3_CMD             0x170e9
409                         MX6SLL_PAD_SD3_CLK__SD3_CLK             0x130f9
410                         MX6SLL_PAD_SD3_DATA0__SD3_DATA0         0x170e9
411                         MX6SLL_PAD_SD3_DATA1__SD3_DATA1         0x170e9
412                         MX6SLL_PAD_SD3_DATA2__SD3_DATA2         0x170e9
413                         MX6SLL_PAD_SD3_DATA3__SD3_DATA3         0x170e9
414                         MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22      0x17059
415                 >;
416         };
417
418         pinctrl_i2c1: i2c1grp {
419                 fsl,pins = <
420                         MX6SLL_PAD_I2C1_SCL__I2C1_SCL    0x4001b8b1
421                         MX6SLL_PAD_I2C1_SDA__I2C1_SDA    0x4001b8b1
422                 >;
423         };
424
425         pinctrl_lcd: lcdgrp {
426                 fsl,pins = <
427                         MX6SLL_PAD_LCD_DATA00__LCD_DATA00       0x79
428                         MX6SLL_PAD_LCD_DATA01__LCD_DATA01       0x79
429                         MX6SLL_PAD_LCD_DATA02__LCD_DATA02       0x79
430                         MX6SLL_PAD_LCD_DATA03__LCD_DATA03       0x79
431                         MX6SLL_PAD_LCD_DATA04__LCD_DATA04       0x79
432                         MX6SLL_PAD_LCD_DATA05__LCD_DATA05       0x79
433                         MX6SLL_PAD_LCD_DATA06__LCD_DATA06       0x79
434                         MX6SLL_PAD_LCD_DATA07__LCD_DATA07       0x79
435                         MX6SLL_PAD_LCD_DATA08__LCD_DATA08       0x79
436                         MX6SLL_PAD_LCD_DATA09__LCD_DATA09       0x79
437                         MX6SLL_PAD_LCD_DATA10__LCD_DATA10       0x79
438                         MX6SLL_PAD_LCD_DATA11__LCD_DATA11       0x79
439                         MX6SLL_PAD_LCD_DATA12__LCD_DATA12       0x79
440                         MX6SLL_PAD_LCD_DATA13__LCD_DATA13       0x79
441                         MX6SLL_PAD_LCD_DATA14__LCD_DATA14       0x79
442                         MX6SLL_PAD_LCD_DATA15__LCD_DATA15       0x79
443                         MX6SLL_PAD_LCD_DATA16__LCD_DATA16       0x79
444                         MX6SLL_PAD_LCD_DATA17__LCD_DATA17       0x79
445                         MX6SLL_PAD_LCD_DATA18__LCD_DATA18       0x79
446                         MX6SLL_PAD_LCD_DATA19__LCD_DATA19       0x79
447                         MX6SLL_PAD_LCD_DATA20__LCD_DATA20       0x79
448                         MX6SLL_PAD_LCD_DATA21__LCD_DATA21       0x79
449                         MX6SLL_PAD_LCD_DATA22__LCD_DATA22       0x79
450                         MX6SLL_PAD_LCD_DATA23__LCD_DATA23       0x79
451                         MX6SLL_PAD_LCD_CLK__LCD_CLK             0x79
452                         MX6SLL_PAD_LCD_ENABLE__LCD_ENABLE       0x79
453                         MX6SLL_PAD_LCD_HSYNC__LCD_HSYNC         0x79
454                         MX6SLL_PAD_LCD_VSYNC__LCD_VSYNC         0x79
455                         MX6SLL_PAD_LCD_RESET__LCD_RESET         0x79
456                 >;
457         };
458
459         pinctrl_pwm1: pmw1grp {
460                 fsl,pins = <
461                         MX6SLL_PAD_PWM1__PWM1_OUT   0x110b0
462                 >;
463         };
464 };