xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/imx/imx6sll-kobo-clara2e-common.dtsi (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
1*5f62a964SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0)
2*5f62a964SEmmanuel Vadot/*
3*5f62a964SEmmanuel Vadot * Common part for Kobo Clara 2e device tree
4*5f62a964SEmmanuel Vadot * Copyright 2024 Andreas Kemnade
5*5f62a964SEmmanuel Vadot */
6*5f62a964SEmmanuel Vadot
7*5f62a964SEmmanuel Vadot/dts-v1/;
8*5f62a964SEmmanuel Vadot
9*5f62a964SEmmanuel Vadot#include <dt-bindings/input/input.h>
10*5f62a964SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
11*5f62a964SEmmanuel Vadot#include <dt-bindings/leds/common.h>
12*5f62a964SEmmanuel Vadot#include "imx6sll.dtsi"
13*5f62a964SEmmanuel Vadot
14*5f62a964SEmmanuel Vadot/ {
15*5f62a964SEmmanuel Vadot	aliases {
16*5f62a964SEmmanuel Vadot		mmc0 = &usdhc2;
17*5f62a964SEmmanuel Vadot		mmc1 = &usdhc3;
18*5f62a964SEmmanuel Vadot	};
19*5f62a964SEmmanuel Vadot
20*5f62a964SEmmanuel Vadot	chosen {
21*5f62a964SEmmanuel Vadot		stdout-path = &uart1;
22*5f62a964SEmmanuel Vadot	};
23*5f62a964SEmmanuel Vadot
24*5f62a964SEmmanuel Vadot	gpio-keys {
25*5f62a964SEmmanuel Vadot		compatible = "gpio-keys";
26*5f62a964SEmmanuel Vadot		pinctrl-names = "default";
27*5f62a964SEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpio_keys>;
28*5f62a964SEmmanuel Vadot
29*5f62a964SEmmanuel Vadot		key-cover {
30*5f62a964SEmmanuel Vadot			label = "Cover";
31*5f62a964SEmmanuel Vadot			gpios = <&gpio4 23 GPIO_ACTIVE_LOW>;
32*5f62a964SEmmanuel Vadot			linux,code = <SW_LID>;
33*5f62a964SEmmanuel Vadot			linux,input-type = <EV_SW>;
34*5f62a964SEmmanuel Vadot			wakeup-source;
35*5f62a964SEmmanuel Vadot		};
36*5f62a964SEmmanuel Vadot	};
37*5f62a964SEmmanuel Vadot
38*5f62a964SEmmanuel Vadot	leds {
39*5f62a964SEmmanuel Vadot		compatible = "gpio-leds";
40*5f62a964SEmmanuel Vadot		pinctrl-names = "default";
41*5f62a964SEmmanuel Vadot		pinctrl-0 = <&pinctrl_led>;
42*5f62a964SEmmanuel Vadot
43*5f62a964SEmmanuel Vadot		led {
44*5f62a964SEmmanuel Vadot			color = <LED_COLOR_ID_WHITE>;
45*5f62a964SEmmanuel Vadot			function = LED_FUNCTION_POWER;
46*5f62a964SEmmanuel Vadot			gpios = <&gpio4 17 GPIO_ACTIVE_LOW>;
47*5f62a964SEmmanuel Vadot			linux,default-trigger = "timer";
48*5f62a964SEmmanuel Vadot		};
49*5f62a964SEmmanuel Vadot	};
50*5f62a964SEmmanuel Vadot
51*5f62a964SEmmanuel Vadot	memory@80000000 {
52*5f62a964SEmmanuel Vadot		device_type = "memory";
53*5f62a964SEmmanuel Vadot		reg = <0x80000000 0x20000000>;
54*5f62a964SEmmanuel Vadot	};
55*5f62a964SEmmanuel Vadot
56*5f62a964SEmmanuel Vadot	reg_wifi: regulator-wifi {
57*5f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
58*5f62a964SEmmanuel Vadot		regulator-name = "SD3_SPWR";
59*5f62a964SEmmanuel Vadot		regulator-min-microvolt = <3000000>;
60*5f62a964SEmmanuel Vadot		regulator-max-microvolt = <3000000>;
61*5f62a964SEmmanuel Vadot		gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
62*5f62a964SEmmanuel Vadot		enable-active-high;
63*5f62a964SEmmanuel Vadot	};
64*5f62a964SEmmanuel Vadot};
65*5f62a964SEmmanuel Vadot
66*5f62a964SEmmanuel Vadot&clks {
67*5f62a964SEmmanuel Vadot	assigned-clocks = <&clks IMX6SLL_CLK_PLL4_AUDIO_DIV>;
68*5f62a964SEmmanuel Vadot	assigned-clock-rates = <393216000>;
69*5f62a964SEmmanuel Vadot};
70*5f62a964SEmmanuel Vadot
71*5f62a964SEmmanuel Vadot&cpu0 {
72*5f62a964SEmmanuel Vadot	arm-supply = <&buck1>;
73*5f62a964SEmmanuel Vadot	soc-supply = <&buck2>;
74*5f62a964SEmmanuel Vadot};
75*5f62a964SEmmanuel Vadot
76*5f62a964SEmmanuel Vadot&i2c1 {
77*5f62a964SEmmanuel Vadot	pinctrl-names = "default","sleep";
78*5f62a964SEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c1>;
79*5f62a964SEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c1_sleep>;
80*5f62a964SEmmanuel Vadot	clock-frequency = <100000>;
81*5f62a964SEmmanuel Vadot	status = "okay";
82*5f62a964SEmmanuel Vadot
83*5f62a964SEmmanuel Vadot	/* backlight aw99703 at 0x36 */
84*5f62a964SEmmanuel Vadot};
85*5f62a964SEmmanuel Vadot
86*5f62a964SEmmanuel Vadot&i2c2 {
87*5f62a964SEmmanuel Vadot	pinctrl-names = "default","sleep";
88*5f62a964SEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c2>;
89*5f62a964SEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c2_sleep>;
90*5f62a964SEmmanuel Vadot	clock-frequency = <100000>;
91*5f62a964SEmmanuel Vadot	status = "okay";
92*5f62a964SEmmanuel Vadot
93*5f62a964SEmmanuel Vadot	/* backlight aw99703 at 0x36 */
94*5f62a964SEmmanuel Vadot
95*5f62a964SEmmanuel Vadot	touchscreen@38 {
96*5f62a964SEmmanuel Vadot		compatible = "focaltech,ft5426";
97*5f62a964SEmmanuel Vadot		reg = <0x38>;
98*5f62a964SEmmanuel Vadot		pinctrl-names = "default", "suspend";
99*5f62a964SEmmanuel Vadot		pinctrl-0 = <&pinctrl_touch_gpio>;
100*5f62a964SEmmanuel Vadot		pinctrl-1 = <&pinctrl_touch_gpio_sleep>;
101*5f62a964SEmmanuel Vadot		interrupt-parent = <&gpio4>;
102*5f62a964SEmmanuel Vadot		interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
103*5f62a964SEmmanuel Vadot		reset-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>;
104*5f62a964SEmmanuel Vadot		touchscreen-size-x = <1072>;
105*5f62a964SEmmanuel Vadot		touchscreen-size-y = <1448>;
106*5f62a964SEmmanuel Vadot		touchscreen-swapped-x-y;
107*5f62a964SEmmanuel Vadot	};
108*5f62a964SEmmanuel Vadot};
109*5f62a964SEmmanuel Vadot
110*5f62a964SEmmanuel Vadot&i2c3 {
111*5f62a964SEmmanuel Vadot	/* Bus seems to be in bad state after boot, allow full recovery */
112*5f62a964SEmmanuel Vadot	pinctrl-names = "default", "gpio";
113*5f62a964SEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c3>;
114*5f62a964SEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c3_gpio>;
115*5f62a964SEmmanuel Vadot	sda-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
116*5f62a964SEmmanuel Vadot	scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
117*5f62a964SEmmanuel Vadot	clock-frequency = <100000>;
118*5f62a964SEmmanuel Vadot	status = "okay";
119*5f62a964SEmmanuel Vadot
120*5f62a964SEmmanuel Vadot	pmic@4b {
121*5f62a964SEmmanuel Vadot		compatible = "rohm,bd71879", "rohm,bd71828";
122*5f62a964SEmmanuel Vadot		reg = <0x4b>;
123*5f62a964SEmmanuel Vadot		pinctrl-names = "default";
124*5f62a964SEmmanuel Vadot		pinctrl-0 = <&pinctrl_bd71828>;
125*5f62a964SEmmanuel Vadot		interrupt-parent = <&gpio4>;
126*5f62a964SEmmanuel Vadot		interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
127*5f62a964SEmmanuel Vadot		system-power-controller;
128*5f62a964SEmmanuel Vadot		clocks = <&clks 0>;
129*5f62a964SEmmanuel Vadot		#clock-cells = <0>;
130*5f62a964SEmmanuel Vadot		clock-output-names = "bd71828-32k-out";
131*5f62a964SEmmanuel Vadot		gpio-controller;
132*5f62a964SEmmanuel Vadot		#gpio-cells = <2>;
133*5f62a964SEmmanuel Vadot		gpio-reserved-ranges = <0 1>, <2 1>;
134*5f62a964SEmmanuel Vadot
135*5f62a964SEmmanuel Vadot		/* charge sense resistor is 30 milli-ohm */
136*5f62a964SEmmanuel Vadot
137*5f62a964SEmmanuel Vadot		regulators {
138*5f62a964SEmmanuel Vadot			LDO1 {
139*5f62a964SEmmanuel Vadot				name = "LDO1";
140*5f62a964SEmmanuel Vadot				regulator-name = "ldo1";
141*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <800000>;
142*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
143*5f62a964SEmmanuel Vadot			};
144*5f62a964SEmmanuel Vadot
145*5f62a964SEmmanuel Vadot			LDO2 {
146*5f62a964SEmmanuel Vadot				name = "LDO2";
147*5f62a964SEmmanuel Vadot				regulator-name = "ldo2";
148*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <800000>;
149*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
150*5f62a964SEmmanuel Vadot			};
151*5f62a964SEmmanuel Vadot
152*5f62a964SEmmanuel Vadot			LDO3 {
153*5f62a964SEmmanuel Vadot				name = "LDO3";
154*5f62a964SEmmanuel Vadot				regulator-name = "ldo3";
155*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <800000>;
156*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
157*5f62a964SEmmanuel Vadot			};
158*5f62a964SEmmanuel Vadot
159*5f62a964SEmmanuel Vadot			ldo4: LDO4 {
160*5f62a964SEmmanuel Vadot				name = "LDO4";
161*5f62a964SEmmanuel Vadot				regulator-name = "ldo4";
162*5f62a964SEmmanuel Vadot				regulator-always-on;
163*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <1100000>;
164*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <1100000>;
165*5f62a964SEmmanuel Vadot			};
166*5f62a964SEmmanuel Vadot
167*5f62a964SEmmanuel Vadot			LDO5 {
168*5f62a964SEmmanuel Vadot				name = "LDO5";
169*5f62a964SEmmanuel Vadot				regulator-name = "ldo5";
170*5f62a964SEmmanuel Vadot				regulator-always-on;
171*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <800000>;
172*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
173*5f62a964SEmmanuel Vadot			};
174*5f62a964SEmmanuel Vadot
175*5f62a964SEmmanuel Vadot			LDO6 {
176*5f62a964SEmmanuel Vadot				name = "LDO6";
177*5f62a964SEmmanuel Vadot				regulator-name = "ldo6";
178*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
179*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
180*5f62a964SEmmanuel Vadot			};
181*5f62a964SEmmanuel Vadot
182*5f62a964SEmmanuel Vadot			LDO7 {
183*5f62a964SEmmanuel Vadot				name = "LDO7";
184*5f62a964SEmmanuel Vadot				regulator-name = "ldo7";
185*5f62a964SEmmanuel Vadot				regulator-always-on;
186*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <800000>;
187*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
188*5f62a964SEmmanuel Vadot				regulator-boot-on;
189*5f62a964SEmmanuel Vadot			};
190*5f62a964SEmmanuel Vadot
191*5f62a964SEmmanuel Vadot			buck1: BUCK1 {
192*5f62a964SEmmanuel Vadot				name = "BUCK1";
193*5f62a964SEmmanuel Vadot				regulator-name = "buck1";
194*5f62a964SEmmanuel Vadot				regulator-always-on;
195*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <500000>;
196*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <1400000>;
197*5f62a964SEmmanuel Vadot				regulator-boot-on;
198*5f62a964SEmmanuel Vadot			};
199*5f62a964SEmmanuel Vadot
200*5f62a964SEmmanuel Vadot			buck2: BUCK2 {
201*5f62a964SEmmanuel Vadot				name = "BUCK2";
202*5f62a964SEmmanuel Vadot				regulator-name = "buck2";
203*5f62a964SEmmanuel Vadot				regulator-always-on;
204*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <500000>;
205*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <2000000>;
206*5f62a964SEmmanuel Vadot				regulator-boot-on;
207*5f62a964SEmmanuel Vadot			};
208*5f62a964SEmmanuel Vadot
209*5f62a964SEmmanuel Vadot			BUCK3 {
210*5f62a964SEmmanuel Vadot				name = "BUCK3";
211*5f62a964SEmmanuel Vadot				regulator-name = "buck3";
212*5f62a964SEmmanuel Vadot				regulator-always-on;
213*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <1200000>;
214*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
215*5f62a964SEmmanuel Vadot				regulator-boot-on;
216*5f62a964SEmmanuel Vadot			};
217*5f62a964SEmmanuel Vadot
218*5f62a964SEmmanuel Vadot			BUCK4 {
219*5f62a964SEmmanuel Vadot				name = "BUCK4";
220*5f62a964SEmmanuel Vadot				regulator-name = "buck4";
221*5f62a964SEmmanuel Vadot				regulator-always-on;
222*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <1000000>;
223*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <1200000>;
224*5f62a964SEmmanuel Vadot				regulator-boot-on;
225*5f62a964SEmmanuel Vadot			};
226*5f62a964SEmmanuel Vadot
227*5f62a964SEmmanuel Vadot			BUCK5 {
228*5f62a964SEmmanuel Vadot				name = "BUCK5";
229*5f62a964SEmmanuel Vadot				regulator-name = "buck5";
230*5f62a964SEmmanuel Vadot				regulator-always-on;
231*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <2500000>;
232*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
233*5f62a964SEmmanuel Vadot				regulator-boot-on;
234*5f62a964SEmmanuel Vadot			};
235*5f62a964SEmmanuel Vadot
236*5f62a964SEmmanuel Vadot			BUCK6 {
237*5f62a964SEmmanuel Vadot				name = "BUCK6";
238*5f62a964SEmmanuel Vadot				regulator-name = "buck6";
239*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <500000>;
240*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <2000000>;
241*5f62a964SEmmanuel Vadot			};
242*5f62a964SEmmanuel Vadot
243*5f62a964SEmmanuel Vadot			BUCK7 {
244*5f62a964SEmmanuel Vadot				name = "BUCK7";
245*5f62a964SEmmanuel Vadot				regulator-name = "buck7";
246*5f62a964SEmmanuel Vadot				regulator-min-microvolt = <500000>;
247*5f62a964SEmmanuel Vadot				regulator-max-microvolt = <2000000>;
248*5f62a964SEmmanuel Vadot			};
249*5f62a964SEmmanuel Vadot		};
250*5f62a964SEmmanuel Vadot	};
251*5f62a964SEmmanuel Vadot};
252*5f62a964SEmmanuel Vadot
253*5f62a964SEmmanuel Vadot&iomuxc {
254*5f62a964SEmmanuel Vadot	pinctrl_bd71828: bd71828-gpiogrp {
255*5f62a964SEmmanuel Vadot		fsl,pins = <
256*5f62a964SEmmanuel Vadot			MX6SLL_PAD_KEY_COL0__GPIO3_IO24		0x1b8b1
257*5f62a964SEmmanuel Vadot			MX6SLL_PAD_GPIO4_IO19__GPIO4_IO19	0x1b8b1
258*5f62a964SEmmanuel Vadot		>;
259*5f62a964SEmmanuel Vadot	};
260*5f62a964SEmmanuel Vadot
261*5f62a964SEmmanuel Vadot	pinctrl_gpio_keys: gpio-keysgrp {
262*5f62a964SEmmanuel Vadot		fsl,pins = <
263*5f62a964SEmmanuel Vadot			MX6SLL_PAD_GPIO4_IO25__GPIO4_IO25	0x17059	/* PWR_SW */
264*5f62a964SEmmanuel Vadot			MX6SLL_PAD_GPIO4_IO23__GPIO4_IO23	0x17059	/* HALL_EN */
265*5f62a964SEmmanuel Vadot		>;
266*5f62a964SEmmanuel Vadot	};
267*5f62a964SEmmanuel Vadot
268*5f62a964SEmmanuel Vadot	pinctrl_i2c1: i2c1grp {
269*5f62a964SEmmanuel Vadot		fsl,pins = <
270*5f62a964SEmmanuel Vadot			MX6SLL_PAD_I2C1_SCL__I2C1_SCL	0x4001f8b1
271*5f62a964SEmmanuel Vadot			MX6SLL_PAD_I2C1_SDA__I2C1_SDA	0x4001f8b1
272*5f62a964SEmmanuel Vadot		>;
273*5f62a964SEmmanuel Vadot	};
274*5f62a964SEmmanuel Vadot
275*5f62a964SEmmanuel Vadot	pinctrl_i2c1_sleep: i2c1-sleepgrp {
276*5f62a964SEmmanuel Vadot		fsl,pins = <
277*5f62a964SEmmanuel Vadot			MX6SLL_PAD_I2C1_SCL__I2C1_SCL	0x400108b1
278*5f62a964SEmmanuel Vadot			MX6SLL_PAD_I2C1_SDA__I2C1_SDA	0x400108b1
279*5f62a964SEmmanuel Vadot		>;
280*5f62a964SEmmanuel Vadot	};
281*5f62a964SEmmanuel Vadot
282*5f62a964SEmmanuel Vadot	pinctrl_i2c2: i2c2grp {
283*5f62a964SEmmanuel Vadot		fsl,pins = <
284*5f62a964SEmmanuel Vadot			MX6SLL_PAD_I2C2_SCL__I2C2_SCL	0x4001f8b1
285*5f62a964SEmmanuel Vadot			MX6SLL_PAD_I2C2_SDA__I2C2_SDA	0x4001f8b1
286*5f62a964SEmmanuel Vadot		>;
287*5f62a964SEmmanuel Vadot	};
288*5f62a964SEmmanuel Vadot
289*5f62a964SEmmanuel Vadot	pinctrl_i2c2_sleep: i2c2-sleepgrp {
290*5f62a964SEmmanuel Vadot		fsl,pins = <
291*5f62a964SEmmanuel Vadot			MX6SLL_PAD_I2C2_SCL__I2C2_SCL	0x400108b1
292*5f62a964SEmmanuel Vadot			MX6SLL_PAD_I2C2_SDA__I2C2_SDA	0x400108b1
293*5f62a964SEmmanuel Vadot		>;
294*5f62a964SEmmanuel Vadot	};
295*5f62a964SEmmanuel Vadot
296*5f62a964SEmmanuel Vadot	pinctrl_i2c3: i2c3grp {
297*5f62a964SEmmanuel Vadot		fsl,pins = <
298*5f62a964SEmmanuel Vadot			MX6SLL_PAD_REF_CLK_24M__I2C3_SCL 0x4001f8b1
299*5f62a964SEmmanuel Vadot			MX6SLL_PAD_REF_CLK_32K__I2C3_SDA 0x4001f8b1
300*5f62a964SEmmanuel Vadot		>;
301*5f62a964SEmmanuel Vadot	};
302*5f62a964SEmmanuel Vadot
303*5f62a964SEmmanuel Vadot	pinctrl_i2c3_gpio: i2c3-gpiogrp {
304*5f62a964SEmmanuel Vadot		fsl,pins = <
305*5f62a964SEmmanuel Vadot			MX6SLL_PAD_REF_CLK_24M__GPIO3_IO21 0x4001f8b1
306*5f62a964SEmmanuel Vadot			MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22 0x4001f8b1
307*5f62a964SEmmanuel Vadot		>;
308*5f62a964SEmmanuel Vadot	};
309*5f62a964SEmmanuel Vadot
310*5f62a964SEmmanuel Vadot	pinctrl_led: ledgrp {
311*5f62a964SEmmanuel Vadot		fsl,pins = <
312*5f62a964SEmmanuel Vadot			MX6SLL_PAD_GPIO4_IO17__GPIO4_IO17 0x10059
313*5f62a964SEmmanuel Vadot		>;
314*5f62a964SEmmanuel Vadot	};
315*5f62a964SEmmanuel Vadot
316*5f62a964SEmmanuel Vadot	pinctrl_touch_gpio: touch-gpiogrp {
317*5f62a964SEmmanuel Vadot		fsl,pins = <
318*5f62a964SEmmanuel Vadot			MX6SLL_PAD_GPIO4_IO24__GPIO4_IO24	0x17059 /* TP_INT */
319*5f62a964SEmmanuel Vadot			MX6SLL_PAD_GPIO4_IO18__GPIO4_IO18	0x10059 /* TP_RST */
320*5f62a964SEmmanuel Vadot		>;
321*5f62a964SEmmanuel Vadot	};
322*5f62a964SEmmanuel Vadot
323*5f62a964SEmmanuel Vadot	pinctrl_touch_gpio_sleep: touch-gpio-sleepgrp {
324*5f62a964SEmmanuel Vadot		fsl,pins = <
325*5f62a964SEmmanuel Vadot			MX6SLL_PAD_GPIO4_IO24__GPIO4_IO24	0x10059 /* TP_INT */
326*5f62a964SEmmanuel Vadot			MX6SLL_PAD_GPIO4_IO18__GPIO4_IO18	0x10059 /* TP_RST */
327*5f62a964SEmmanuel Vadot		>;
328*5f62a964SEmmanuel Vadot	};
329*5f62a964SEmmanuel Vadot
330*5f62a964SEmmanuel Vadot	pinctrl_uart1: uart1grp {
331*5f62a964SEmmanuel Vadot		fsl,pins = <
332*5f62a964SEmmanuel Vadot			MX6SLL_PAD_UART1_TXD__UART1_DCE_TX 0x1b0b1
333*5f62a964SEmmanuel Vadot			MX6SLL_PAD_UART1_RXD__UART1_DCE_RX 0x1b0b1
334*5f62a964SEmmanuel Vadot		>;
335*5f62a964SEmmanuel Vadot	};
336*5f62a964SEmmanuel Vadot
337*5f62a964SEmmanuel Vadot	pinctrl_uart2: uart2grp {
338*5f62a964SEmmanuel Vadot		fsl,pins = <
339*5f62a964SEmmanuel Vadot			MX6SLL_PAD_LCD_ENABLE__UART2_DCE_RX	0x41b0b1
340*5f62a964SEmmanuel Vadot			MX6SLL_PAD_LCD_HSYNC__UART2_DCE_TX	0x41b0b1
341*5f62a964SEmmanuel Vadot			MX6SLL_PAD_LCD_VSYNC__UART2_DCE_RTS	0x41b0b1
342*5f62a964SEmmanuel Vadot			MX6SLL_PAD_LCD_RESET__UART2_DCE_CTS	0x41b0b1
343*5f62a964SEmmanuel Vadot		>;
344*5f62a964SEmmanuel Vadot	};
345*5f62a964SEmmanuel Vadot
346*5f62a964SEmmanuel Vadot	pinctrl_uart2_sleep: uart2-sleepgrp {
347*5f62a964SEmmanuel Vadot		fsl,pins = <
348*5f62a964SEmmanuel Vadot			MX6SLL_PAD_LCD_ENABLE__GPIO2_IO16	0x10059
349*5f62a964SEmmanuel Vadot			MX6SLL_PAD_LCD_HSYNC__GPIO2_IO17	0x10059
350*5f62a964SEmmanuel Vadot			MX6SLL_PAD_LCD_VSYNC__GPIO2_IO18	0x10059
351*5f62a964SEmmanuel Vadot			MX6SLL_PAD_LCD_RESET__GPIO2_IO19	0x10059
352*5f62a964SEmmanuel Vadot		>;
353*5f62a964SEmmanuel Vadot	};
354*5f62a964SEmmanuel Vadot
355*5f62a964SEmmanuel Vadot	pinctrl_usbotg1: usbotg1grp {
356*5f62a964SEmmanuel Vadot		fsl,pins = <
357*5f62a964SEmmanuel Vadot			MX6SLL_PAD_EPDC_PWR_COM__USB_OTG1_ID 0x17059
358*5f62a964SEmmanuel Vadot		>;
359*5f62a964SEmmanuel Vadot	};
360*5f62a964SEmmanuel Vadot
361*5f62a964SEmmanuel Vadot	pinctrl_usdhc2: usdhc2grp {
362*5f62a964SEmmanuel Vadot		fsl,pins = <
363*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_CMD__SD2_CMD		0x17059
364*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_CLK__SD2_CLK		0x13059
365*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA0__SD2_DATA0		0x17059
366*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA1__SD2_DATA1		0x17059
367*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA2__SD2_DATA2		0x17059
368*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA3__SD2_DATA3		0x17059
369*5f62a964SEmmanuel Vadot		>;
370*5f62a964SEmmanuel Vadot	};
371*5f62a964SEmmanuel Vadot
372*5f62a964SEmmanuel Vadot	pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
373*5f62a964SEmmanuel Vadot		fsl,pins = <
374*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_CMD__SD2_CMD		0x170b9
375*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_CLK__SD2_CLK		0x130b9
376*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA0__SD2_DATA0		0x170b9
377*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA1__SD2_DATA1		0x170b9
378*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA2__SD2_DATA2		0x170b9
379*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA3__SD2_DATA3		0x170b9
380*5f62a964SEmmanuel Vadot		>;
381*5f62a964SEmmanuel Vadot	};
382*5f62a964SEmmanuel Vadot
383*5f62a964SEmmanuel Vadot	pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
384*5f62a964SEmmanuel Vadot		fsl,pins = <
385*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_CMD__SD2_CMD		0x170f9
386*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_CLK__SD2_CLK		0x130f9
387*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA0__SD2_DATA0		0x170f9
388*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA1__SD2_DATA1		0x170f9
389*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA2__SD2_DATA2		0x170f9
390*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA3__SD2_DATA3		0x170f9
391*5f62a964SEmmanuel Vadot		>;
392*5f62a964SEmmanuel Vadot	};
393*5f62a964SEmmanuel Vadot
394*5f62a964SEmmanuel Vadot	pinctrl_usdhc2_sleep: usdhc2-sleepgrp {
395*5f62a964SEmmanuel Vadot		fsl,pins = <
396*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_CMD__GPIO5_IO04		0x100f9
397*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_CLK__GPIO5_IO05		0x100f9
398*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA0__GPIO5_IO01	0x100f9
399*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA1__GPIO4_IO30	0x100f9
400*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA2__GPIO5_IO03	0x100f9
401*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA3__GPIO4_IO28	0x100f9
402*5f62a964SEmmanuel Vadot		>;
403*5f62a964SEmmanuel Vadot	};
404*5f62a964SEmmanuel Vadot
405*5f62a964SEmmanuel Vadot	pinctrl_usdhc3: usdhc3grp {
406*5f62a964SEmmanuel Vadot		fsl,pins = <
407*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_CMD__SD3_CMD	0x11059
408*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_CLK__SD3_CLK	0x11059
409*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA0__SD3_DATA0	0x11059
410*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA1__SD3_DATA1	0x11059
411*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA2__SD3_DATA2	0x11059
412*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA3__SD3_DATA3	0x11059
413*5f62a964SEmmanuel Vadot		>;
414*5f62a964SEmmanuel Vadot	};
415*5f62a964SEmmanuel Vadot
416*5f62a964SEmmanuel Vadot	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
417*5f62a964SEmmanuel Vadot		fsl,pins = <
418*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_CMD__SD3_CMD	0x170b9
419*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_CLK__SD3_CLK	0x170b9
420*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA0__SD3_DATA0	0x170b9
421*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA1__SD3_DATA1	0x170b9
422*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA2__SD3_DATA2	0x170b9
423*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA3__SD3_DATA3	0x170b9
424*5f62a964SEmmanuel Vadot		>;
425*5f62a964SEmmanuel Vadot	};
426*5f62a964SEmmanuel Vadot
427*5f62a964SEmmanuel Vadot	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
428*5f62a964SEmmanuel Vadot		fsl,pins = <
429*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_CMD__SD3_CMD	0x170f9
430*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_CLK__SD3_CLK	0x170f9
431*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA0__SD3_DATA0	0x170f9
432*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA1__SD3_DATA1	0x170f9
433*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA2__SD3_DATA2	0x170f9
434*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA3__SD3_DATA3	0x170f9
435*5f62a964SEmmanuel Vadot		>;
436*5f62a964SEmmanuel Vadot	};
437*5f62a964SEmmanuel Vadot
438*5f62a964SEmmanuel Vadot	pinctrl_usdhc3_sleep: usdhc3-sleepgrp {
439*5f62a964SEmmanuel Vadot		fsl,pins = <
440*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_CMD__GPIO5_IO21	0x100c1
441*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_CLK__GPIO5_IO18	0x100c1
442*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA0__GPIO5_IO19	0x100c1
443*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA1__GPIO5_IO20	0x100c1
444*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA2__GPIO5_IO16	0x100c1
445*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD3_DATA3__GPIO5_IO17	0x100c1
446*5f62a964SEmmanuel Vadot		>;
447*5f62a964SEmmanuel Vadot	};
448*5f62a964SEmmanuel Vadot
449*5f62a964SEmmanuel Vadot	pinctrl_wifi_power: wifi-powergrp {
450*5f62a964SEmmanuel Vadot		fsl,pins = <
451*5f62a964SEmmanuel Vadot			MX6SLL_PAD_SD2_DATA6__GPIO4_IO29	0x10059
452*5f62a964SEmmanuel Vadot		>;
453*5f62a964SEmmanuel Vadot	};
454*5f62a964SEmmanuel Vadot};
455*5f62a964SEmmanuel Vadot
456*5f62a964SEmmanuel Vadot&snvs_rtc {
457*5f62a964SEmmanuel Vadot	/* we are using the rtc in the pmic, not disabled in imx6sll.dtsi */
458*5f62a964SEmmanuel Vadot	status = "disabled";
459*5f62a964SEmmanuel Vadot};
460*5f62a964SEmmanuel Vadot
461*5f62a964SEmmanuel Vadot&uart1 {
462*5f62a964SEmmanuel Vadot	pinctrl-names = "default";
463*5f62a964SEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart1>;
464*5f62a964SEmmanuel Vadot	status = "okay";
465*5f62a964SEmmanuel Vadot};
466*5f62a964SEmmanuel Vadot
467*5f62a964SEmmanuel Vadot&uart2 {
468*5f62a964SEmmanuel Vadot	pinctrl-names = "default", "sleep";
469*5f62a964SEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart2>;
470*5f62a964SEmmanuel Vadot	pinctrl-1 = <&pinctrl_uart2_sleep>;
471*5f62a964SEmmanuel Vadot	status = "okay";
472*5f62a964SEmmanuel Vadot
473*5f62a964SEmmanuel Vadot	/* requires LDO4 + power enable gpio */
474*5f62a964SEmmanuel Vadot	bluetooth {
475*5f62a964SEmmanuel Vadot		compatible = "nxp,88w8987-bt";
476*5f62a964SEmmanuel Vadot		fw-init-baudrate = <1500000>;
477*5f62a964SEmmanuel Vadot	};
478*5f62a964SEmmanuel Vadot};
479*5f62a964SEmmanuel Vadot
480*5f62a964SEmmanuel Vadot&usbotg1 {
481*5f62a964SEmmanuel Vadot	pinctrl-names = "default";
482*5f62a964SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usbotg1>;
483*5f62a964SEmmanuel Vadot	disable-over-current;
484*5f62a964SEmmanuel Vadot	srp-disable;
485*5f62a964SEmmanuel Vadot	hnp-disable;
486*5f62a964SEmmanuel Vadot	adp-disable;
487*5f62a964SEmmanuel Vadot	status = "okay";
488*5f62a964SEmmanuel Vadot};
489*5f62a964SEmmanuel Vadot
490*5f62a964SEmmanuel Vadot&usdhc2 {
491*5f62a964SEmmanuel Vadot	pinctrl-names = "default", "state_100mhz", "state_200mhz","sleep";
492*5f62a964SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc2>;
493*5f62a964SEmmanuel Vadot	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
494*5f62a964SEmmanuel Vadot	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
495*5f62a964SEmmanuel Vadot	pinctrl-3 = <&pinctrl_usdhc2_sleep>;
496*5f62a964SEmmanuel Vadot	non-removable;
497*5f62a964SEmmanuel Vadot	status = "okay";
498*5f62a964SEmmanuel Vadot};
499*5f62a964SEmmanuel Vadot
500*5f62a964SEmmanuel Vadot&usdhc3 {
501*5f62a964SEmmanuel Vadot	pinctrl-names = "default", "state_100mhz", "state_200mhz","sleep";
502*5f62a964SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc3>;
503*5f62a964SEmmanuel Vadot	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
504*5f62a964SEmmanuel Vadot	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
505*5f62a964SEmmanuel Vadot	pinctrl-3 = <&pinctrl_usdhc3_sleep>;
506*5f62a964SEmmanuel Vadot	/* card requires also ldo4 */
507*5f62a964SEmmanuel Vadot	vmmc-supply = <&reg_wifi>;
508*5f62a964SEmmanuel Vadot	cap-power-off-card;
509*5f62a964SEmmanuel Vadot	non-removable;
510*5f62a964SEmmanuel Vadot	status = "okay";
511*5f62a964SEmmanuel Vadot};
512