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