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