xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/imx6sl-tolino-shine2hd.dts (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Device tree for the Tolino Shine 2 HD ebook reader
4f126890aSEmmanuel Vadot *
5f126890aSEmmanuel Vadot * Name on mainboard is: 37NB-E60QF0+4A2 or 37NB-E60QF0+4A3
6f126890aSEmmanuel Vadot * Serials start with: E60QF2
7f126890aSEmmanuel Vadot *
8f126890aSEmmanuel Vadot * Copyright 2020 Andreas Kemnade
9f126890aSEmmanuel Vadot */
10f126890aSEmmanuel Vadot
11f126890aSEmmanuel Vadot/dts-v1/;
12f126890aSEmmanuel Vadot
13f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
14f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
15f126890aSEmmanuel Vadot#include "imx6sl.dtsi"
16f126890aSEmmanuel Vadot
17f126890aSEmmanuel Vadot/ {
18f126890aSEmmanuel Vadot	model = "Tolino Shine 2 HD";
19f126890aSEmmanuel Vadot	compatible = "kobo,tolino-shine2hd", "fsl,imx6sl";
20f126890aSEmmanuel Vadot
21f126890aSEmmanuel Vadot	backlight {
22f126890aSEmmanuel Vadot		compatible = "pwm-backlight";
23f126890aSEmmanuel Vadot		pwms = <&ec 0 50000>;
24f126890aSEmmanuel Vadot		power-supply = <&backlight_regulator>;
25f126890aSEmmanuel Vadot	};
26f126890aSEmmanuel Vadot
27f126890aSEmmanuel Vadot	backlight_regulator: regulator-backlight {
28f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
29f126890aSEmmanuel Vadot		pinctrl-names = "default";
30f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_backlight_power>;
31f126890aSEmmanuel Vadot		regulator-name = "backlight";
32f126890aSEmmanuel Vadot		gpio = <&gpio2 10 GPIO_ACTIVE_HIGH>;
33f126890aSEmmanuel Vadot		enable-active-high;
34f126890aSEmmanuel Vadot	};
35f126890aSEmmanuel Vadot
36f126890aSEmmanuel Vadot	chosen {
37f126890aSEmmanuel Vadot		stdout-path = &uart1;
38f126890aSEmmanuel Vadot	};
39f126890aSEmmanuel Vadot
40f126890aSEmmanuel Vadot	gpio_keys: gpio-keys {
41f126890aSEmmanuel Vadot		compatible = "gpio-keys";
42f126890aSEmmanuel Vadot		pinctrl-names = "default";
43f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpio_keys>;
44f126890aSEmmanuel Vadot
45f126890aSEmmanuel Vadot		key-cover {
46f126890aSEmmanuel Vadot			label = "Cover";
47f126890aSEmmanuel Vadot			gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
48f126890aSEmmanuel Vadot			linux,code = <SW_LID>;
49f126890aSEmmanuel Vadot			linux,input-type = <EV_SW>;
50f126890aSEmmanuel Vadot			wakeup-source;
51f126890aSEmmanuel Vadot		};
52f126890aSEmmanuel Vadot
53f126890aSEmmanuel Vadot		key-fl {
54f126890aSEmmanuel Vadot			label = "Frontlight";
55f126890aSEmmanuel Vadot			gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
56f126890aSEmmanuel Vadot			linux,code = <KEY_BRIGHTNESS_CYCLE>;
57f126890aSEmmanuel Vadot		};
58f126890aSEmmanuel Vadot
59f126890aSEmmanuel Vadot		key-home {
60f126890aSEmmanuel Vadot			label = "Home";
61f126890aSEmmanuel Vadot			gpios = <&gpio3 25 GPIO_ACTIVE_LOW>;
62f126890aSEmmanuel Vadot			linux,code = <KEY_HOME>;
63f126890aSEmmanuel Vadot		};
64f126890aSEmmanuel Vadot
65f126890aSEmmanuel Vadot		key-power {
66f126890aSEmmanuel Vadot			label = "Power";
67f126890aSEmmanuel Vadot			gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
68f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
69f126890aSEmmanuel Vadot			wakeup-source;
70f126890aSEmmanuel Vadot		};
71f126890aSEmmanuel Vadot	};
72f126890aSEmmanuel Vadot
73f126890aSEmmanuel Vadot	leds: leds {
74f126890aSEmmanuel Vadot		compatible = "gpio-leds";
75f126890aSEmmanuel Vadot		pinctrl-names = "default";
76f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_led>;
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel Vadot		led-0 {
79f126890aSEmmanuel Vadot			label = "tolinoshine2hd:white:on";
80f126890aSEmmanuel Vadot			gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
81f126890aSEmmanuel Vadot			linux,default-trigger = "timer";
82f126890aSEmmanuel Vadot		};
83f126890aSEmmanuel Vadot
84f126890aSEmmanuel Vadot		led-1 {
85f126890aSEmmanuel Vadot			label = "tolinoshine2hd:white:backlightboost";
86f126890aSEmmanuel Vadot			gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>;
87f126890aSEmmanuel Vadot			linux,default-trigger = "off";
88f126890aSEmmanuel Vadot		};
89f126890aSEmmanuel Vadot	};
90f126890aSEmmanuel Vadot
91f126890aSEmmanuel Vadot	memory@80000000 {
92f126890aSEmmanuel Vadot		device_type = "memory";
93f126890aSEmmanuel Vadot		reg = <0x80000000 0x20000000>;
94f126890aSEmmanuel Vadot	};
95f126890aSEmmanuel Vadot
96f126890aSEmmanuel Vadot	reg_wifi: regulator-wifi {
97f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
98f126890aSEmmanuel Vadot		pinctrl-names = "default";
99f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_wifi_power>;
100f126890aSEmmanuel Vadot		regulator-name = "SD3_SPWR";
101f126890aSEmmanuel Vadot		regulator-min-microvolt = <3000000>;
102f126890aSEmmanuel Vadot		regulator-max-microvolt = <3000000>;
103f126890aSEmmanuel Vadot		gpio = <&gpio4 29 GPIO_ACTIVE_LOW>;
104f126890aSEmmanuel Vadot	};
105f126890aSEmmanuel Vadot
106f126890aSEmmanuel Vadot	wifi_pwrseq: wifi_pwrseq {
107f126890aSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
108f126890aSEmmanuel Vadot		pinctrl-names = "default";
109f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_wifi_reset>;
110f126890aSEmmanuel Vadot		post-power-on-delay-ms = <20>;
111f126890aSEmmanuel Vadot		reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
112f126890aSEmmanuel Vadot	};
113f126890aSEmmanuel Vadot};
114f126890aSEmmanuel Vadot
115f126890aSEmmanuel Vadot&i2c1 {
116f126890aSEmmanuel Vadot	pinctrl-names = "default","sleep";
117f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c1>;
118f126890aSEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c1_sleep>;
119f126890aSEmmanuel Vadot	status = "okay";
120f126890aSEmmanuel Vadot
121f126890aSEmmanuel Vadot	ec: embedded-controller@43 {
122f126890aSEmmanuel Vadot		compatible = "netronix,ntxec";
123f126890aSEmmanuel Vadot		reg = <0x43>;
124f126890aSEmmanuel Vadot		#pwm-cells = <2>;
125f126890aSEmmanuel Vadot	};
126f126890aSEmmanuel Vadot};
127f126890aSEmmanuel Vadot
128f126890aSEmmanuel Vadot&i2c2 {
129f126890aSEmmanuel Vadot	pinctrl-names = "default","sleep";
130f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c2>;
131f126890aSEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c2_sleep>;
132f126890aSEmmanuel Vadot	clock-frequency = <100000>;
133f126890aSEmmanuel Vadot	status = "okay";
134f126890aSEmmanuel Vadot
135f126890aSEmmanuel Vadot	zforce: touchscreen@50 {
136f126890aSEmmanuel Vadot		compatible = "neonode,zforce";
137f126890aSEmmanuel Vadot		pinctrl-names = "default";
138f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_zforce>;
139f126890aSEmmanuel Vadot		reg = <0x50>;
140f126890aSEmmanuel Vadot		interrupt-parent = <&gpio5>;
141*7d0873ebSEmmanuel Vadot		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
142f126890aSEmmanuel Vadot		vdd-supply = <&ldo1_reg>;
143f126890aSEmmanuel Vadot		reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
14401950c46SEmmanuel Vadot		touchscreen-size-x = <1072>;
14501950c46SEmmanuel Vadot		touchscreen-size-y = <1448>;
14601950c46SEmmanuel Vadot		touchscreen-swapped-x-y;
14701950c46SEmmanuel Vadot		touchscreen-inverted-x;
148f126890aSEmmanuel Vadot	};
149f126890aSEmmanuel Vadot
150f126890aSEmmanuel Vadot	/* TODO: TPS65185 PMIC for E Ink at 0x68 */
151f126890aSEmmanuel Vadot
152f126890aSEmmanuel Vadot};
153f126890aSEmmanuel Vadot
154f126890aSEmmanuel Vadot&i2c3 {
155f126890aSEmmanuel Vadot	pinctrl-names = "default";
156f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c3>;
157f126890aSEmmanuel Vadot	clock-frequency = <400000>;
158f126890aSEmmanuel Vadot	status = "okay";
159f126890aSEmmanuel Vadot
160f126890aSEmmanuel Vadot	ricoh619: pmic@32 {
161f126890aSEmmanuel Vadot		compatible = "ricoh,rc5t619";
162f126890aSEmmanuel Vadot		pinctrl-names = "default";
163f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_ricoh_gpio>;
164f126890aSEmmanuel Vadot		reg = <0x32>;
165f126890aSEmmanuel Vadot		interrupt-parent = <&gpio5>;
166*7d0873ebSEmmanuel Vadot		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
167f126890aSEmmanuel Vadot		system-power-controller;
168f126890aSEmmanuel Vadot
169f126890aSEmmanuel Vadot		regulators {
170f126890aSEmmanuel Vadot			dcdc1_reg: DCDC1 {
171f126890aSEmmanuel Vadot				regulator-name = "DCDC1";
172f126890aSEmmanuel Vadot				regulator-min-microvolt = <300000>;
173f126890aSEmmanuel Vadot				regulator-max-microvolt = <1875000>;
174f126890aSEmmanuel Vadot				regulator-always-on;
175f126890aSEmmanuel Vadot				regulator-boot-on;
176f126890aSEmmanuel Vadot
177f126890aSEmmanuel Vadot				regulator-state-mem {
178f126890aSEmmanuel Vadot					regulator-on-in-suspend;
179f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <900000>;
180f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <900000>;
181f126890aSEmmanuel Vadot				};
182f126890aSEmmanuel Vadot			};
183f126890aSEmmanuel Vadot
184f126890aSEmmanuel Vadot			/* Core3_3V3 */
185f126890aSEmmanuel Vadot			dcdc2_reg: DCDC2 {
186f126890aSEmmanuel Vadot				regulator-name = "DCDC2";
187f126890aSEmmanuel Vadot				regulator-always-on;
188f126890aSEmmanuel Vadot				regulator-boot-on;
189f126890aSEmmanuel Vadot
190f126890aSEmmanuel Vadot				regulator-state-mem {
191f126890aSEmmanuel Vadot					regulator-on-in-suspend;
192f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <3100000>;
193f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <3100000>;
194f126890aSEmmanuel Vadot				};
195f126890aSEmmanuel Vadot			};
196f126890aSEmmanuel Vadot
197f126890aSEmmanuel Vadot			dcdc3_reg: DCDC3 {
198f126890aSEmmanuel Vadot				regulator-name = "DCDC3";
199f126890aSEmmanuel Vadot				regulator-min-microvolt = <300000>;
200f126890aSEmmanuel Vadot				regulator-max-microvolt = <1875000>;
201f126890aSEmmanuel Vadot				regulator-always-on;
202f126890aSEmmanuel Vadot				regulator-boot-on;
203f126890aSEmmanuel Vadot
204f126890aSEmmanuel Vadot				regulator-state-mem {
205f126890aSEmmanuel Vadot					regulator-on-in-suspend;
206f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <1140000>;
207f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <1140000>;
208f126890aSEmmanuel Vadot				};
209f126890aSEmmanuel Vadot			};
210f126890aSEmmanuel Vadot
211f126890aSEmmanuel Vadot			/* Core4_1V2 */
212f126890aSEmmanuel Vadot			dcdc4_reg: DCDC4 {
213f126890aSEmmanuel Vadot				regulator-name = "DCDC4";
214f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
215f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
216f126890aSEmmanuel Vadot				regulator-always-on;
217f126890aSEmmanuel Vadot				regulator-boot-on;
218f126890aSEmmanuel Vadot
219f126890aSEmmanuel Vadot				regulator-state-mem {
220f126890aSEmmanuel Vadot					regulator-on-in-suspend;
221f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <1140000>;
222f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <1140000>;
223f126890aSEmmanuel Vadot				};
224f126890aSEmmanuel Vadot			};
225f126890aSEmmanuel Vadot
226f126890aSEmmanuel Vadot			/* Core4_1V8 */
227f126890aSEmmanuel Vadot			dcdc5_reg: DCDC5 {
228f126890aSEmmanuel Vadot				regulator-name = "DCDC5";
229f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
230f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
231f126890aSEmmanuel Vadot				regulator-always-on;
232f126890aSEmmanuel Vadot				regulator-boot-on;
233f126890aSEmmanuel Vadot
234f126890aSEmmanuel Vadot				regulator-state-mem {
235f126890aSEmmanuel Vadot					regulator-on-in-suspend;
236f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <1700000>;
237f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <1700000>;
238f126890aSEmmanuel Vadot				};
239f126890aSEmmanuel Vadot			};
240f126890aSEmmanuel Vadot
241f126890aSEmmanuel Vadot			/* IR_3V3 */
242f126890aSEmmanuel Vadot			ldo1_reg: LDO1  {
243f126890aSEmmanuel Vadot				regulator-name = "LDO1";
244f126890aSEmmanuel Vadot				regulator-boot-on;
245f126890aSEmmanuel Vadot			};
246f126890aSEmmanuel Vadot
247f126890aSEmmanuel Vadot			/* Core1_3V3 */
248f126890aSEmmanuel Vadot			ldo2_reg: LDO2  {
249f126890aSEmmanuel Vadot				regulator-name = "LDO2";
250f126890aSEmmanuel Vadot				regulator-always-on;
251f126890aSEmmanuel Vadot				regulator-boot-on;
252f126890aSEmmanuel Vadot
253f126890aSEmmanuel Vadot				regulator-state-mem {
254f126890aSEmmanuel Vadot					regulator-on-in-suspend;
255f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <3000000>;
256f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <3000000>;
257f126890aSEmmanuel Vadot				};
258f126890aSEmmanuel Vadot			};
259f126890aSEmmanuel Vadot
260f126890aSEmmanuel Vadot			/* Core5_1V2 */
261f126890aSEmmanuel Vadot			ldo3_reg: LDO3  {
262f126890aSEmmanuel Vadot				regulator-name = "LDO3";
263f126890aSEmmanuel Vadot				regulator-always-on;
264f126890aSEmmanuel Vadot				regulator-boot-on;
265f126890aSEmmanuel Vadot			};
266f126890aSEmmanuel Vadot
267f126890aSEmmanuel Vadot			ldo4_reg: LDO4 {
268f126890aSEmmanuel Vadot				regulator-name = "LDO4";
269f126890aSEmmanuel Vadot				regulator-boot-on;
270f126890aSEmmanuel Vadot			};
271f126890aSEmmanuel Vadot
272f126890aSEmmanuel Vadot			/* SPD_3V3 */
273f126890aSEmmanuel Vadot			ldo5_reg: LDO5 {
274f126890aSEmmanuel Vadot				regulator-name = "LDO5";
275f126890aSEmmanuel Vadot				regulator-always-on;
276f126890aSEmmanuel Vadot				regulator-boot-on;
277f126890aSEmmanuel Vadot			};
278f126890aSEmmanuel Vadot
279f126890aSEmmanuel Vadot			/* DDR_0V6 */
280f126890aSEmmanuel Vadot			ldo6_reg: LDO6 {
281f126890aSEmmanuel Vadot				regulator-name = "LDO6";
282f126890aSEmmanuel Vadot				regulator-always-on;
283f126890aSEmmanuel Vadot				regulator-boot-on;
284f126890aSEmmanuel Vadot			};
285f126890aSEmmanuel Vadot
286f126890aSEmmanuel Vadot			/* VDD_PWM */
287f126890aSEmmanuel Vadot			ldo7_reg: LDO7 {
288f126890aSEmmanuel Vadot				regulator-name = "LDO7";
289f126890aSEmmanuel Vadot				regulator-always-on;
290f126890aSEmmanuel Vadot				regulator-boot-on;
291f126890aSEmmanuel Vadot			};
292f126890aSEmmanuel Vadot
293f126890aSEmmanuel Vadot			/* ldo_1v8 */
294f126890aSEmmanuel Vadot			ldo8_reg: LDO8 {
295f126890aSEmmanuel Vadot				regulator-name = "LDO8";
296f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
297f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
298f126890aSEmmanuel Vadot				regulator-always-on;
299f126890aSEmmanuel Vadot				regulator-boot-on;
300f126890aSEmmanuel Vadot			};
301f126890aSEmmanuel Vadot
302f126890aSEmmanuel Vadot			ldo9_reg: LDO9 {
303f126890aSEmmanuel Vadot				regulator-name = "LDO9";
304f126890aSEmmanuel Vadot				regulator-boot-on;
305f126890aSEmmanuel Vadot			};
306f126890aSEmmanuel Vadot
307f126890aSEmmanuel Vadot			ldo10_reg: LDO10 {
308f126890aSEmmanuel Vadot				regulator-name = "LDO10";
309f126890aSEmmanuel Vadot				regulator-boot-on;
310f126890aSEmmanuel Vadot			};
311f126890aSEmmanuel Vadot
312f126890aSEmmanuel Vadot			ldortc1_reg: LDORTC1  {
313f126890aSEmmanuel Vadot				regulator-name = "LDORTC1";
314f126890aSEmmanuel Vadot				regulator-always-on;
315f126890aSEmmanuel Vadot				regulator-boot-on;
316f126890aSEmmanuel Vadot			};
317f126890aSEmmanuel Vadot		};
318f126890aSEmmanuel Vadot	};
319f126890aSEmmanuel Vadot};
320f126890aSEmmanuel Vadot
321f126890aSEmmanuel Vadot&iomuxc {
322f126890aSEmmanuel Vadot	pinctrl-names = "default";
323f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_hog>;
324f126890aSEmmanuel Vadot
325f126890aSEmmanuel Vadot	pinctrl_backlight_power: backlight-powergrp {
326f126890aSEmmanuel Vadot		fsl,pins = <
327f126890aSEmmanuel Vadot			MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x10059
328f126890aSEmmanuel Vadot		>;
329f126890aSEmmanuel Vadot	};
330f126890aSEmmanuel Vadot
331f126890aSEmmanuel Vadot	pinctrl_gpio_keys: gpio-keysgrp {
332f126890aSEmmanuel Vadot		fsl,pins = <
333f126890aSEmmanuel Vadot			MX6SL_PAD_SD1_DAT1__GPIO5_IO08  0x17059
334f126890aSEmmanuel Vadot			MX6SL_PAD_SD1_DAT4__GPIO5_IO12  0x17059
335f126890aSEmmanuel Vadot			MX6SL_PAD_KEY_COL1__GPIO3_IO26  0x17059
336f126890aSEmmanuel Vadot			MX6SL_PAD_KEY_ROW0__GPIO3_IO25  0x17059
337f126890aSEmmanuel Vadot		>;
338f126890aSEmmanuel Vadot	};
339f126890aSEmmanuel Vadot
340f126890aSEmmanuel Vadot	pinctrl_hog: hoggrp {
341f126890aSEmmanuel Vadot		fsl,pins = <
342f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT0__GPIO2_IO20	0x79
343f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT1__GPIO2_IO21	0x79
344f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT2__GPIO2_IO22	0x79
345f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT3__GPIO2_IO23	0x79
346f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT4__GPIO2_IO24	0x79
347f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT5__GPIO2_IO25	0x79
348f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT6__GPIO2_IO26	0x79
349f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT7__GPIO2_IO27	0x79
350f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT8__GPIO2_IO28	0x79
351f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT9__GPIO2_IO29	0x79
352f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT10__GPIO2_IO30	0x79
353f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT11__GPIO2_IO31	0x79
354f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT12__GPIO3_IO00	0x79
355f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT13__GPIO3_IO01	0x79
356f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT14__GPIO3_IO02	0x79
357f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT15__GPIO3_IO03	0x79
358f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT16__GPIO3_IO04	0x79
359f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT17__GPIO3_IO05	0x79
360f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT18__GPIO3_IO06	0x79
361f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT19__GPIO3_IO07	0x79
362f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT20__GPIO3_IO08	0x79
363f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT21__GPIO3_IO09	0x79
364f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT22__GPIO3_IO10	0x79
365f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_DAT23__GPIO3_IO11	0x79
366f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_CLK__GPIO2_IO15		0x79
367f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_ENABLE__GPIO2_IO16	0x79
368f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_HSYNC__GPIO2_IO17	0x79
369f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_VSYNC__GPIO2_IO18	0x79
370f126890aSEmmanuel Vadot			MX6SL_PAD_LCD_RESET__GPIO2_IO19	0x79
371f126890aSEmmanuel Vadot			MX6SL_PAD_KEY_COL3__GPIO3_IO30		0x79
372f126890aSEmmanuel Vadot			MX6SL_PAD_KEY_ROW7__GPIO4_IO07		0x79
373f126890aSEmmanuel Vadot			MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13	0x79
374f126890aSEmmanuel Vadot			MX6SL_PAD_KEY_COL5__GPIO4_IO02		0x79
375f126890aSEmmanuel Vadot		>;
376f126890aSEmmanuel Vadot	};
377f126890aSEmmanuel Vadot
378f126890aSEmmanuel Vadot	pinctrl_i2c1: i2c1grp {
379f126890aSEmmanuel Vadot		fsl,pins = <
380f126890aSEmmanuel Vadot			MX6SL_PAD_I2C1_SCL__I2C1_SCL	 0x4001f8b1
381f126890aSEmmanuel Vadot			MX6SL_PAD_I2C1_SDA__I2C1_SDA	 0x4001f8b1
382f126890aSEmmanuel Vadot		>;
383f126890aSEmmanuel Vadot	};
384f126890aSEmmanuel Vadot
385f126890aSEmmanuel Vadot	pinctrl_i2c1_sleep: i2c1grp-sleep {
386f126890aSEmmanuel Vadot		fsl,pins = <
387f126890aSEmmanuel Vadot			MX6SL_PAD_I2C1_SCL__I2C1_SCL	 0x400108b1
388f126890aSEmmanuel Vadot			MX6SL_PAD_I2C1_SDA__I2C1_SDA	 0x400108b1
389f126890aSEmmanuel Vadot		>;
390f126890aSEmmanuel Vadot	};
391f126890aSEmmanuel Vadot
392f126890aSEmmanuel Vadot	pinctrl_i2c2: i2c2grp {
393f126890aSEmmanuel Vadot		fsl,pins = <
394f126890aSEmmanuel Vadot			MX6SL_PAD_I2C2_SCL__I2C2_SCL	 0x4001f8b1
395f126890aSEmmanuel Vadot			MX6SL_PAD_I2C2_SDA__I2C2_SDA	 0x4001f8b1
396f126890aSEmmanuel Vadot		>;
397f126890aSEmmanuel Vadot	};
398f126890aSEmmanuel Vadot
399f126890aSEmmanuel Vadot	pinctrl_i2c2_sleep: i2c2grp-sleep {
400f126890aSEmmanuel Vadot		fsl,pins = <
401f126890aSEmmanuel Vadot			MX6SL_PAD_I2C2_SCL__I2C2_SCL	 0x400108b1
402f126890aSEmmanuel Vadot			MX6SL_PAD_I2C2_SDA__I2C2_SDA	 0x400108b1
403f126890aSEmmanuel Vadot		>;
404f126890aSEmmanuel Vadot	};
405f126890aSEmmanuel Vadot
406f126890aSEmmanuel Vadot	pinctrl_i2c3: i2c3grp {
407f126890aSEmmanuel Vadot		fsl,pins = <
408f126890aSEmmanuel Vadot			MX6SL_PAD_REF_CLK_24M__I2C3_SCL  0x4001f8b1
409f126890aSEmmanuel Vadot			MX6SL_PAD_REF_CLK_32K__I2C3_SDA  0x4001f8b1
410f126890aSEmmanuel Vadot		>;
411f126890aSEmmanuel Vadot	};
412f126890aSEmmanuel Vadot
413f126890aSEmmanuel Vadot	pinctrl_led: ledgrp {
414f126890aSEmmanuel Vadot		fsl,pins = <
415f126890aSEmmanuel Vadot			MX6SL_PAD_SD1_DAT2__GPIO5_IO13    0x17059
416f126890aSEmmanuel Vadot			MX6SL_PAD_EPDC_SDCE2__GPIO1_IO29  0x17059
417f126890aSEmmanuel Vadot		>;
418f126890aSEmmanuel Vadot	};
419f126890aSEmmanuel Vadot
420f126890aSEmmanuel Vadot	pinctrl_ricoh_gpio: ricoh_gpiogrp {
421f126890aSEmmanuel Vadot		fsl,pins = <
422f126890aSEmmanuel Vadot			MX6SL_PAD_SD1_CLK__GPIO5_IO15	0x1b8b1 /* ricoh619 chg */
423f126890aSEmmanuel Vadot			MX6SL_PAD_SD1_DAT0__GPIO5_IO11	0x1b8b1 /* ricoh619 irq */
424f126890aSEmmanuel Vadot			MX6SL_PAD_KEY_COL2__GPIO3_IO28	0x1b8b1 /* ricoh619 bat_low_int */
425f126890aSEmmanuel Vadot		>;
426f126890aSEmmanuel Vadot	};
427f126890aSEmmanuel Vadot
428f126890aSEmmanuel Vadot	pinctrl_uart1: uart1grp {
429f126890aSEmmanuel Vadot		fsl,pins = <
430f126890aSEmmanuel Vadot			MX6SL_PAD_UART1_TXD__UART1_TX_DATA 0x1b0b1
431f126890aSEmmanuel Vadot			MX6SL_PAD_UART1_RXD__UART1_RX_DATA 0x1b0b1
432f126890aSEmmanuel Vadot		>;
433f126890aSEmmanuel Vadot	};
434f126890aSEmmanuel Vadot
435f126890aSEmmanuel Vadot	pinctrl_uart4: uart4grp {
436f126890aSEmmanuel Vadot		fsl,pins = <
437f126890aSEmmanuel Vadot			MX6SL_PAD_KEY_ROW6__UART4_TX_DATA 0x1b0b1
438f126890aSEmmanuel Vadot			MX6SL_PAD_KEY_COL6__UART4_RX_DATA 0x1b0b1
439f126890aSEmmanuel Vadot		>;
440f126890aSEmmanuel Vadot	};
441f126890aSEmmanuel Vadot
442f126890aSEmmanuel Vadot	pinctrl_usbotg1: usbotg1grp {
443f126890aSEmmanuel Vadot		fsl,pins = <
444f126890aSEmmanuel Vadot			MX6SL_PAD_EPDC_PWRCOM__USB_OTG1_ID 0x17059
445f126890aSEmmanuel Vadot		>;
446f126890aSEmmanuel Vadot	};
447f126890aSEmmanuel Vadot
448f126890aSEmmanuel Vadot	pinctrl_usdhc2: usdhc2grp {
449f126890aSEmmanuel Vadot		fsl,pins = <
450f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_CMD__SD2_CMD		0x17059
451f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_CLK__SD2_CLK		0x13059
452f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT0__SD2_DATA0		0x17059
453f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT1__SD2_DATA1		0x17059
454f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT2__SD2_DATA2		0x17059
455f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT3__SD2_DATA3		0x17059
456f126890aSEmmanuel Vadot		>;
457f126890aSEmmanuel Vadot	};
458f126890aSEmmanuel Vadot
459f126890aSEmmanuel Vadot	pinctrl_usdhc2_100mhz: usdhc2grp-100mhz {
460f126890aSEmmanuel Vadot		fsl,pins = <
461f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_CMD__SD2_CMD		0x170b9
462f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_CLK__SD2_CLK		0x130b9
463f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT0__SD2_DATA0		0x170b9
464f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT1__SD2_DATA1		0x170b9
465f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT2__SD2_DATA2		0x170b9
466f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT3__SD2_DATA3		0x170b9
467f126890aSEmmanuel Vadot		>;
468f126890aSEmmanuel Vadot	};
469f126890aSEmmanuel Vadot
470f126890aSEmmanuel Vadot	pinctrl_usdhc2_200mhz: usdhc2grp-200mhz {
471f126890aSEmmanuel Vadot		fsl,pins = <
472f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_CMD__SD2_CMD		0x170f9
473f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_CLK__SD2_CLK		0x130f9
474f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT0__SD2_DATA0		0x170f9
475f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT1__SD2_DATA1		0x170f9
476f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT2__SD2_DATA2		0x170f9
477f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT3__SD2_DATA3		0x170f9
478f126890aSEmmanuel Vadot		>;
479f126890aSEmmanuel Vadot	};
480f126890aSEmmanuel Vadot
481f126890aSEmmanuel Vadot	pinctrl_usdhc2_sleep: usdhc2grp-sleep {
482f126890aSEmmanuel Vadot		fsl,pins = <
483f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_CMD__GPIO5_IO04		0x100f9
484f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_CLK__GPIO5_IO05		0x100f9
485f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT0__GPIO5_IO01		0x100f9
486f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT1__GPIO4_IO30		0x100f9
487f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT2__GPIO5_IO03		0x100f9
488f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT3__GPIO4_IO28		0x100f9
489f126890aSEmmanuel Vadot		>;
490f126890aSEmmanuel Vadot	};
491f126890aSEmmanuel Vadot
492f126890aSEmmanuel Vadot	pinctrl_usdhc3: usdhc3grp {
493f126890aSEmmanuel Vadot		fsl,pins = <
494f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_CMD__SD3_CMD	0x11059
495f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_CLK__SD3_CLK	0x11059
496f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT0__SD3_DATA0	0x11059
497f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT1__SD3_DATA1	0x11059
498f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT2__SD3_DATA2	0x11059
499f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT3__SD3_DATA3	0x11059
500f126890aSEmmanuel Vadot		>;
501f126890aSEmmanuel Vadot	};
502f126890aSEmmanuel Vadot
503f126890aSEmmanuel Vadot	pinctrl_usdhc3_100mhz: usdhc3grp-100mhz {
504f126890aSEmmanuel Vadot		fsl,pins = <
505f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_CMD__SD3_CMD	0x170b9
506f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_CLK__SD3_CLK	0x170b9
507f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT0__SD3_DATA0	0x170b9
508f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT1__SD3_DATA1	0x170b9
509f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT2__SD3_DATA2	0x170b9
510f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT3__SD3_DATA3	0x170b9
511f126890aSEmmanuel Vadot		>;
512f126890aSEmmanuel Vadot	};
513f126890aSEmmanuel Vadot
514f126890aSEmmanuel Vadot	pinctrl_usdhc3_200mhz: usdhc3grp-200mhz {
515f126890aSEmmanuel Vadot		fsl,pins = <
516f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_CMD__SD3_CMD	0x170f9
517f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_CLK__SD3_CLK	0x170f9
518f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT0__SD3_DATA0	0x170f9
519f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT1__SD3_DATA1	0x170f9
520f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT2__SD3_DATA2	0x170f9
521f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT3__SD3_DATA3	0x170f9
522f126890aSEmmanuel Vadot		>;
523f126890aSEmmanuel Vadot	};
524f126890aSEmmanuel Vadot
525f126890aSEmmanuel Vadot	pinctrl_usdhc3_sleep: usdhc3grp-sleep {
526f126890aSEmmanuel Vadot		fsl,pins = <
527f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_CMD__GPIO5_IO21	0x100c1
528f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_CLK__GPIO5_IO18	0x100c1
529f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT0__GPIO5_IO19	0x100c1
530f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT1__GPIO5_IO20	0x100c1
531f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT2__GPIO5_IO16	0x100c1
532f126890aSEmmanuel Vadot			MX6SL_PAD_SD3_DAT3__GPIO5_IO17	0x100c1
533f126890aSEmmanuel Vadot		>;
534f126890aSEmmanuel Vadot	};
535f126890aSEmmanuel Vadot
536f126890aSEmmanuel Vadot	pinctrl_wifi_power: wifi-powergrp {
537f126890aSEmmanuel Vadot		fsl,pins = <
538f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT6__GPIO4_IO29	0x10059	/* WIFI_3V3_ON */
539f126890aSEmmanuel Vadot		>;
540f126890aSEmmanuel Vadot	};
541f126890aSEmmanuel Vadot
542f126890aSEmmanuel Vadot	pinctrl_wifi_reset: wifi-resetgrp {
543f126890aSEmmanuel Vadot		fsl,pins = <
544f126890aSEmmanuel Vadot			MX6SL_PAD_SD2_DAT7__GPIO5_IO00	0x10059	/* WIFI_RST */
545f126890aSEmmanuel Vadot		>;
546f126890aSEmmanuel Vadot	};
547f126890aSEmmanuel Vadot
548f126890aSEmmanuel Vadot	pinctrl_zforce: zforcegrp {
549f126890aSEmmanuel Vadot		fsl,pins = <
550f126890aSEmmanuel Vadot			MX6SL_PAD_SD1_DAT3__GPIO5_IO06		0x17059 /* TP_INT */
551f126890aSEmmanuel Vadot			MX6SL_PAD_SD1_DAT5__GPIO5_IO09		0x10059 /* TP_RST */
552f126890aSEmmanuel Vadot		>;
553f126890aSEmmanuel Vadot	};
554f126890aSEmmanuel Vadot};
555f126890aSEmmanuel Vadot
556f126890aSEmmanuel Vadot&reg_vdd1p1 {
557f126890aSEmmanuel Vadot	vin-supply = <&dcdc2_reg>;
558f126890aSEmmanuel Vadot};
559f126890aSEmmanuel Vadot
560f126890aSEmmanuel Vadot&reg_vdd2p5 {
561f126890aSEmmanuel Vadot	vin-supply = <&dcdc2_reg>;
562f126890aSEmmanuel Vadot};
563f126890aSEmmanuel Vadot
564f126890aSEmmanuel Vadot&reg_arm {
565f126890aSEmmanuel Vadot	vin-supply = <&dcdc3_reg>;
566f126890aSEmmanuel Vadot};
567f126890aSEmmanuel Vadot
568f126890aSEmmanuel Vadot&reg_soc {
569f126890aSEmmanuel Vadot	vin-supply = <&dcdc1_reg>;
570f126890aSEmmanuel Vadot};
571f126890aSEmmanuel Vadot
572f126890aSEmmanuel Vadot&reg_pu {
573f126890aSEmmanuel Vadot	vin-supply = <&dcdc1_reg>;
574f126890aSEmmanuel Vadot};
575f126890aSEmmanuel Vadot
576f126890aSEmmanuel Vadot&snvs_rtc {
577f126890aSEmmanuel Vadot	/*
578f126890aSEmmanuel Vadot	 * We are using the RTC in the PMIC, but this one is not disabled
579f126890aSEmmanuel Vadot	 * in imx6sl.dtsi.
580f126890aSEmmanuel Vadot	 */
581f126890aSEmmanuel Vadot	status = "disabled";
582f126890aSEmmanuel Vadot};
583f126890aSEmmanuel Vadot
584f126890aSEmmanuel Vadot&uart1 {
585f126890aSEmmanuel Vadot	/* J4, through-holes */
586f126890aSEmmanuel Vadot	pinctrl-names = "default";
587f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart1>;
588f126890aSEmmanuel Vadot	status = "okay";
589f126890aSEmmanuel Vadot};
590f126890aSEmmanuel Vadot
591f126890aSEmmanuel Vadot&uart4 {
592f126890aSEmmanuel Vadot	/* TP198, next to J4, SMD pads */
593f126890aSEmmanuel Vadot	pinctrl-names = "default";
594f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart4>;
595f126890aSEmmanuel Vadot	status = "okay";
596f126890aSEmmanuel Vadot};
597f126890aSEmmanuel Vadot
598f126890aSEmmanuel Vadot&usdhc2 {
599f126890aSEmmanuel Vadot	pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
600f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc2>;
601f126890aSEmmanuel Vadot	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
602f126890aSEmmanuel Vadot	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
603f126890aSEmmanuel Vadot	pinctrl-3 = <&pinctrl_usdhc2_sleep>;
604f126890aSEmmanuel Vadot	non-removable;
605f126890aSEmmanuel Vadot	status = "okay";
606f126890aSEmmanuel Vadot
607f126890aSEmmanuel Vadot	/* internal uSD card */
608f126890aSEmmanuel Vadot};
609f126890aSEmmanuel Vadot
610f126890aSEmmanuel Vadot&usdhc3 {
611f126890aSEmmanuel Vadot	pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
612f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc3>;
613f126890aSEmmanuel Vadot	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
614f126890aSEmmanuel Vadot	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
615f126890aSEmmanuel Vadot	pinctrl-3 = <&pinctrl_usdhc3_sleep>;
616f126890aSEmmanuel Vadot	vmmc-supply = <&reg_wifi>;
617f126890aSEmmanuel Vadot	mmc-pwrseq = <&wifi_pwrseq>;
618f126890aSEmmanuel Vadot	cap-power-off-card;
619f126890aSEmmanuel Vadot	non-removable;
620f126890aSEmmanuel Vadot	status = "okay";
621f126890aSEmmanuel Vadot
622f126890aSEmmanuel Vadot	/*
623f126890aSEmmanuel Vadot	 * 37NB-E60QF0+4A2: CyberTan WC121 (BCM43362) SDIO WiFi
624f126890aSEmmanuel Vadot	 * 37NB-E60QF0+4A3: RTL8189F SDIO WiFi
625f126890aSEmmanuel Vadot	 */
626f126890aSEmmanuel Vadot};
627f126890aSEmmanuel Vadot
628f126890aSEmmanuel Vadot&usbotg1 {
629f126890aSEmmanuel Vadot	pinctrl-names = "default";
630f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usbotg1>;
631f126890aSEmmanuel Vadot	disable-over-current;
632f126890aSEmmanuel Vadot	srp-disable;
633f126890aSEmmanuel Vadot	hnp-disable;
634f126890aSEmmanuel Vadot	adp-disable;
635f126890aSEmmanuel Vadot	status = "okay";
636f126890aSEmmanuel Vadot};
637