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