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