xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/imx/e70k02.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright 2021 Andreas Kemnade
4*f126890aSEmmanuel Vadot * based on works
5*f126890aSEmmanuel Vadot * Copyright 2016 Freescale Semiconductor, Inc.
6*f126890aSEmmanuel Vadot * and
7*f126890aSEmmanuel Vadot * Copyright (C) 2014 Ricoh Electronic Devices Co., Ltd
8*f126890aSEmmanuel Vadot *
9*f126890aSEmmanuel Vadot * Netronix E70K02 board common.
10*f126890aSEmmanuel Vadot * This board is equipped with different SoCs and
11*f126890aSEmmanuel Vadot * found in ebook-readers like the Kobo Clara HD (with i.MX6SLL) and
12*f126890aSEmmanuel Vadot * the Tolino Shine 3 (with i.MX6SL)
13*f126890aSEmmanuel Vadot */
14*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
15*f126890aSEmmanuel Vadot
16*f126890aSEmmanuel Vadot/ {
17*f126890aSEmmanuel Vadot	aliases {
18*f126890aSEmmanuel Vadot		mmc0 = &usdhc1;
19*f126890aSEmmanuel Vadot		mmc1 = &usdhc3;
20*f126890aSEmmanuel Vadot	};
21*f126890aSEmmanuel Vadot
22*f126890aSEmmanuel Vadot	chosen {
23*f126890aSEmmanuel Vadot		stdout-path = &uart1;
24*f126890aSEmmanuel Vadot	};
25*f126890aSEmmanuel Vadot
26*f126890aSEmmanuel Vadot	gpio_keys: gpio-keys {
27*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
28*f126890aSEmmanuel Vadot
29*f126890aSEmmanuel Vadot		key-power {
30*f126890aSEmmanuel Vadot			label = "Power";
31*f126890aSEmmanuel Vadot			gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
32*f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
33*f126890aSEmmanuel Vadot			wakeup-source;
34*f126890aSEmmanuel Vadot		};
35*f126890aSEmmanuel Vadot
36*f126890aSEmmanuel Vadot		key-cover {
37*f126890aSEmmanuel Vadot			label = "Cover";
38*f126890aSEmmanuel Vadot			gpios = <&gpio4 23 GPIO_ACTIVE_LOW>;
39*f126890aSEmmanuel Vadot			linux,code = <SW_LID>;
40*f126890aSEmmanuel Vadot			linux,input-type = <EV_SW>;
41*f126890aSEmmanuel Vadot			wakeup-source;
42*f126890aSEmmanuel Vadot		};
43*f126890aSEmmanuel Vadot
44*f126890aSEmmanuel Vadot		key-pageup {
45*f126890aSEmmanuel Vadot			label = "PageUp";
46*f126890aSEmmanuel Vadot			gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
47*f126890aSEmmanuel Vadot			linux,code = <KEY_PAGEUP>;
48*f126890aSEmmanuel Vadot		};
49*f126890aSEmmanuel Vadot
50*f126890aSEmmanuel Vadot		key-pagedown {
51*f126890aSEmmanuel Vadot			label = "PageDown";
52*f126890aSEmmanuel Vadot			gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
53*f126890aSEmmanuel Vadot			linux,code = <KEY_PAGEDOWN>;
54*f126890aSEmmanuel Vadot		};
55*f126890aSEmmanuel Vadot	};
56*f126890aSEmmanuel Vadot
57*f126890aSEmmanuel Vadot	leds: leds {
58*f126890aSEmmanuel Vadot		compatible = "gpio-leds";
59*f126890aSEmmanuel Vadot
60*f126890aSEmmanuel Vadot		led {
61*f126890aSEmmanuel Vadot			label = "e70k02:white:on";
62*f126890aSEmmanuel Vadot			gpios = <&gpio4 17 GPIO_ACTIVE_LOW>;
63*f126890aSEmmanuel Vadot			linux,default-trigger = "timer";
64*f126890aSEmmanuel Vadot		};
65*f126890aSEmmanuel Vadot	};
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot	memory@80000000 {
68*f126890aSEmmanuel Vadot		device_type = "memory";
69*f126890aSEmmanuel Vadot		reg = <0x80000000 0x20000000>;
70*f126890aSEmmanuel Vadot	};
71*f126890aSEmmanuel Vadot
72*f126890aSEmmanuel Vadot	reg_wifi: regulator-wifi {
73*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
74*f126890aSEmmanuel Vadot		regulator-name = "SD3_SPWR";
75*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3000000>;
76*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3000000>;
77*f126890aSEmmanuel Vadot		gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
78*f126890aSEmmanuel Vadot		enable-active-high;
79*f126890aSEmmanuel Vadot	};
80*f126890aSEmmanuel Vadot
81*f126890aSEmmanuel Vadot	wifi_pwrseq: wifi-pwrseq {
82*f126890aSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
83*f126890aSEmmanuel Vadot		post-power-on-delay-ms = <20>;
84*f126890aSEmmanuel Vadot		reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
85*f126890aSEmmanuel Vadot	};
86*f126890aSEmmanuel Vadot};
87*f126890aSEmmanuel Vadot
88*f126890aSEmmanuel Vadot&i2c1 {
89*f126890aSEmmanuel Vadot	clock-frequency = <100000>;
90*f126890aSEmmanuel Vadot	status = "okay";
91*f126890aSEmmanuel Vadot
92*f126890aSEmmanuel Vadot	lm3630a: backlight@36 {
93*f126890aSEmmanuel Vadot		reg = <0x36>;
94*f126890aSEmmanuel Vadot		compatible = "ti,lm3630a";
95*f126890aSEmmanuel Vadot		enable-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
96*f126890aSEmmanuel Vadot
97*f126890aSEmmanuel Vadot		#address-cells = <1>;
98*f126890aSEmmanuel Vadot		#size-cells = <0>;
99*f126890aSEmmanuel Vadot
100*f126890aSEmmanuel Vadot		led@0 {
101*f126890aSEmmanuel Vadot			reg = <0>;
102*f126890aSEmmanuel Vadot			led-sources = <0>;
103*f126890aSEmmanuel Vadot			label = "backlight_warm";
104*f126890aSEmmanuel Vadot			default-brightness = <0>;
105*f126890aSEmmanuel Vadot			max-brightness = <255>;
106*f126890aSEmmanuel Vadot		};
107*f126890aSEmmanuel Vadot
108*f126890aSEmmanuel Vadot		led@1 {
109*f126890aSEmmanuel Vadot			reg = <1>;
110*f126890aSEmmanuel Vadot			led-sources = <1>;
111*f126890aSEmmanuel Vadot			label = "backlight_cold";
112*f126890aSEmmanuel Vadot			default-brightness = <0>;
113*f126890aSEmmanuel Vadot			max-brightness = <255>;
114*f126890aSEmmanuel Vadot		};
115*f126890aSEmmanuel Vadot	};
116*f126890aSEmmanuel Vadot
117*f126890aSEmmanuel Vadot	/* TODO: KX122 acceleration sensor a 0x1e */
118*f126890aSEmmanuel Vadot
119*f126890aSEmmanuel Vadot};
120*f126890aSEmmanuel Vadot
121*f126890aSEmmanuel Vadot&i2c2 {
122*f126890aSEmmanuel Vadot	clock-frequency = <100000>;
123*f126890aSEmmanuel Vadot	status = "okay";
124*f126890aSEmmanuel Vadot
125*f126890aSEmmanuel Vadot	touchscreen@24 {
126*f126890aSEmmanuel Vadot		compatible = "cypress,tt21000";
127*f126890aSEmmanuel Vadot		reg = <0x24>;
128*f126890aSEmmanuel Vadot		pinctrl-names = "default";
129*f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_cyttsp5_gpio>;
130*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio4>;
131*f126890aSEmmanuel Vadot		interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
132*f126890aSEmmanuel Vadot		reset-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>;
133*f126890aSEmmanuel Vadot		vdd-supply = <&ldo5_reg>;
134*f126890aSEmmanuel Vadot	};
135*f126890aSEmmanuel Vadot
136*f126890aSEmmanuel Vadot	/* TODO: SY7636 PMIC for E Ink at 0x62 */
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot};
139*f126890aSEmmanuel Vadot
140*f126890aSEmmanuel Vadot&i2c3 {
141*f126890aSEmmanuel Vadot	clock-frequency = <100000>;
142*f126890aSEmmanuel Vadot	status = "okay";
143*f126890aSEmmanuel Vadot
144*f126890aSEmmanuel Vadot	ricoh619: pmic@32 {
145*f126890aSEmmanuel Vadot		compatible = "ricoh,rc5t619";
146*f126890aSEmmanuel Vadot		reg = <0x32>;
147*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio4>;
148*f126890aSEmmanuel Vadot		interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
149*f126890aSEmmanuel Vadot		system-power-controller;
150*f126890aSEmmanuel Vadot
151*f126890aSEmmanuel Vadot		regulators {
152*f126890aSEmmanuel Vadot			dcdc1_reg: DCDC1 {
153*f126890aSEmmanuel Vadot				regulator-name = "DCDC1";
154*f126890aSEmmanuel Vadot				regulator-min-microvolt = <300000>;
155*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1875000>;
156*f126890aSEmmanuel Vadot				regulator-always-on;
157*f126890aSEmmanuel Vadot				regulator-boot-on;
158*f126890aSEmmanuel Vadot
159*f126890aSEmmanuel Vadot				regulator-state-mem {
160*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
161*f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <900000>;
162*f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <900000>;
163*f126890aSEmmanuel Vadot				};
164*f126890aSEmmanuel Vadot			};
165*f126890aSEmmanuel Vadot
166*f126890aSEmmanuel Vadot			/* Core3_3V3 */
167*f126890aSEmmanuel Vadot			dcdc2_reg: DCDC2 {
168*f126890aSEmmanuel Vadot				regulator-name = "DCDC2";
169*f126890aSEmmanuel Vadot				regulator-always-on;
170*f126890aSEmmanuel Vadot				regulator-boot-on;
171*f126890aSEmmanuel Vadot
172*f126890aSEmmanuel Vadot				regulator-state-mem {
173*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
174*f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <3300000>;
175*f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <3300000>;
176*f126890aSEmmanuel Vadot				};
177*f126890aSEmmanuel Vadot			};
178*f126890aSEmmanuel Vadot
179*f126890aSEmmanuel Vadot			dcdc3_reg: DCDC3 {
180*f126890aSEmmanuel Vadot				regulator-name = "DCDC3";
181*f126890aSEmmanuel Vadot				regulator-min-microvolt = <300000>;
182*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1875000>;
183*f126890aSEmmanuel Vadot				regulator-always-on;
184*f126890aSEmmanuel Vadot				regulator-boot-on;
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot				regulator-state-mem {
187*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
188*f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <1140000>;
189*f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <1140000>;
190*f126890aSEmmanuel Vadot				};
191*f126890aSEmmanuel Vadot			};
192*f126890aSEmmanuel Vadot
193*f126890aSEmmanuel Vadot			/* Core4_1V2 */
194*f126890aSEmmanuel Vadot			dcdc4_reg: DCDC4 {
195*f126890aSEmmanuel Vadot				regulator-name = "DCDC4";
196*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
197*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
198*f126890aSEmmanuel Vadot				regulator-always-on;
199*f126890aSEmmanuel Vadot				regulator-boot-on;
200*f126890aSEmmanuel Vadot
201*f126890aSEmmanuel Vadot				regulator-state-mem {
202*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
203*f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <1140000>;
204*f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <1140000>;
205*f126890aSEmmanuel Vadot				};
206*f126890aSEmmanuel Vadot			};
207*f126890aSEmmanuel Vadot
208*f126890aSEmmanuel Vadot			/* Core4_1V8 */
209*f126890aSEmmanuel Vadot			dcdc5_reg: DCDC5 {
210*f126890aSEmmanuel Vadot				regulator-name = "DCDC5";
211*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
212*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
213*f126890aSEmmanuel Vadot				regulator-always-on;
214*f126890aSEmmanuel Vadot				regulator-boot-on;
215*f126890aSEmmanuel Vadot
216*f126890aSEmmanuel Vadot				regulator-state-mem {
217*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
218*f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <1700000>;
219*f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <1700000>;
220*f126890aSEmmanuel Vadot				};
221*f126890aSEmmanuel Vadot			};
222*f126890aSEmmanuel Vadot
223*f126890aSEmmanuel Vadot			ldo1_reg: LDO1  {
224*f126890aSEmmanuel Vadot				regulator-name = "LDO1";
225*f126890aSEmmanuel Vadot				regulator-boot-on;
226*f126890aSEmmanuel Vadot			};
227*f126890aSEmmanuel Vadot
228*f126890aSEmmanuel Vadot			/* Core1_3V3 */
229*f126890aSEmmanuel Vadot			ldo2_reg: LDO2  {
230*f126890aSEmmanuel Vadot				regulator-name = "LDO2";
231*f126890aSEmmanuel Vadot				regulator-always-on;
232*f126890aSEmmanuel Vadot				regulator-boot-on;
233*f126890aSEmmanuel Vadot
234*f126890aSEmmanuel Vadot				regulator-state-mem {
235*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
236*f126890aSEmmanuel Vadot					regulator-suspend-max-microvolt = <3000000>;
237*f126890aSEmmanuel Vadot					regulator-suspend-min-microvolt = <3000000>;
238*f126890aSEmmanuel Vadot				};
239*f126890aSEmmanuel Vadot			};
240*f126890aSEmmanuel Vadot
241*f126890aSEmmanuel Vadot			/* Core5_1V2 */
242*f126890aSEmmanuel Vadot			ldo3_reg: LDO3  {
243*f126890aSEmmanuel Vadot				regulator-name = "LDO3";
244*f126890aSEmmanuel Vadot				regulator-always-on;
245*f126890aSEmmanuel Vadot				regulator-boot-on;
246*f126890aSEmmanuel Vadot			};
247*f126890aSEmmanuel Vadot
248*f126890aSEmmanuel Vadot			ldo4_reg: LDO4 {
249*f126890aSEmmanuel Vadot				regulator-name = "LDO4";
250*f126890aSEmmanuel Vadot				regulator-boot-on;
251*f126890aSEmmanuel Vadot			};
252*f126890aSEmmanuel Vadot
253*f126890aSEmmanuel Vadot			/* SPD_3V3 */
254*f126890aSEmmanuel Vadot			ldo5_reg: LDO5 {
255*f126890aSEmmanuel Vadot				regulator-name = "LDO5";
256*f126890aSEmmanuel Vadot				regulator-always-on;
257*f126890aSEmmanuel Vadot				regulator-boot-on;
258*f126890aSEmmanuel Vadot			};
259*f126890aSEmmanuel Vadot
260*f126890aSEmmanuel Vadot			/* DDR_0V6 */
261*f126890aSEmmanuel Vadot			ldo6_reg: LDO6 {
262*f126890aSEmmanuel Vadot				regulator-name = "LDO6";
263*f126890aSEmmanuel Vadot				regulator-always-on;
264*f126890aSEmmanuel Vadot				regulator-boot-on;
265*f126890aSEmmanuel Vadot			};
266*f126890aSEmmanuel Vadot
267*f126890aSEmmanuel Vadot			/* VDD_PWM */
268*f126890aSEmmanuel Vadot			ldo7_reg: LDO7 {
269*f126890aSEmmanuel Vadot				regulator-name = "LDO7";
270*f126890aSEmmanuel Vadot				regulator-boot-on;
271*f126890aSEmmanuel Vadot			};
272*f126890aSEmmanuel Vadot
273*f126890aSEmmanuel Vadot			/* ldo_1v8 */
274*f126890aSEmmanuel Vadot			ldo8_reg: LDO8 {
275*f126890aSEmmanuel Vadot				regulator-name = "LDO8";
276*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
277*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
278*f126890aSEmmanuel Vadot				regulator-boot-on;
279*f126890aSEmmanuel Vadot			};
280*f126890aSEmmanuel Vadot
281*f126890aSEmmanuel Vadot			ldo9_reg: LDO9 {
282*f126890aSEmmanuel Vadot				regulator-name = "LDO9";
283*f126890aSEmmanuel Vadot				regulator-boot-on;
284*f126890aSEmmanuel Vadot			};
285*f126890aSEmmanuel Vadot
286*f126890aSEmmanuel Vadot			ldo10_reg: LDO10 {
287*f126890aSEmmanuel Vadot				regulator-name = "LDO10";
288*f126890aSEmmanuel Vadot				regulator-boot-on;
289*f126890aSEmmanuel Vadot			};
290*f126890aSEmmanuel Vadot
291*f126890aSEmmanuel Vadot			ldortc1_reg: LDORTC1  {
292*f126890aSEmmanuel Vadot				regulator-name = "LDORTC1";
293*f126890aSEmmanuel Vadot				regulator-boot-on;
294*f126890aSEmmanuel Vadot			};
295*f126890aSEmmanuel Vadot		};
296*f126890aSEmmanuel Vadot	};
297*f126890aSEmmanuel Vadot};
298*f126890aSEmmanuel Vadot
299*f126890aSEmmanuel Vadot&snvs_rtc {
300*f126890aSEmmanuel Vadot	/* we are using the rtc in the pmic, not disabled in imx6sll.dtsi */
301*f126890aSEmmanuel Vadot	status = "disabled";
302*f126890aSEmmanuel Vadot};
303*f126890aSEmmanuel Vadot
304*f126890aSEmmanuel Vadot&uart1 {
305*f126890aSEmmanuel Vadot	status = "okay";
306*f126890aSEmmanuel Vadot};
307*f126890aSEmmanuel Vadot
308*f126890aSEmmanuel Vadot&usdhc1 {
309*f126890aSEmmanuel Vadot	non-removable;
310*f126890aSEmmanuel Vadot	no-1-8-v;
311*f126890aSEmmanuel Vadot	status = "okay";
312*f126890aSEmmanuel Vadot};
313*f126890aSEmmanuel Vadot
314*f126890aSEmmanuel Vadot&usdhc3 {
315*f126890aSEmmanuel Vadot	vmmc-supply = <&reg_wifi>;
316*f126890aSEmmanuel Vadot	mmc-pwrseq = <&wifi_pwrseq>;
317*f126890aSEmmanuel Vadot	cap-power-off-card;
318*f126890aSEmmanuel Vadot	non-removable;
319*f126890aSEmmanuel Vadot	status = "okay";
320*f126890aSEmmanuel Vadot};
321*f126890aSEmmanuel Vadot
322*f126890aSEmmanuel Vadot&usbotg1 {
323*f126890aSEmmanuel Vadot	pinctrl-names = "default";
324*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usbotg1>;
325*f126890aSEmmanuel Vadot	disable-over-current;
326*f126890aSEmmanuel Vadot	srp-disable;
327*f126890aSEmmanuel Vadot	hnp-disable;
328*f126890aSEmmanuel Vadot	adp-disable;
329*f126890aSEmmanuel Vadot	status = "okay";
330*f126890aSEmmanuel Vadot};
331