]>
Commit | Line | Data |
---|---|---|
93743d24 TR |
1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
2 | ||
3 | /dts-v1/; | |
4 | ||
5 | #include <dt-bindings/gpio/gpio.h> | |
6 | #include <dt-bindings/input/linux-event-codes.h> | |
7 | #include <dt-bindings/leds/common.h> | |
8 | #include <dt-bindings/pinctrl/rockchip.h> | |
9 | #include <dt-bindings/soc/rockchip,vop2.h> | |
10 | #include "rk3566.dtsi" | |
11 | ||
12 | / { | |
762f85bb TR |
13 | chassis-type = "handset"; |
14 | ||
93743d24 TR |
15 | aliases { |
16 | mmc1 = &sdmmc0; | |
17 | mmc2 = &sdmmc1; | |
18 | mmc3 = &sdmmc2; | |
19 | }; | |
20 | ||
21 | adc-joystick { | |
22 | compatible = "adc-joystick"; | |
23 | io-channels = <&adc_mux 0>, | |
24 | <&adc_mux 1>, | |
25 | <&adc_mux 2>, | |
26 | <&adc_mux 3>; | |
27 | pinctrl-0 = <&joy_mux_en>; | |
28 | pinctrl-names = "default"; | |
29 | poll-interval = <60>; | |
30 | #address-cells = <1>; | |
31 | #size-cells = <0>; | |
32 | ||
33 | axis@0 { | |
34 | reg = <0>; | |
35 | abs-flat = <32>; | |
36 | abs-fuzz = <32>; | |
37 | abs-range = <1023 15>; | |
38 | linux,code = <ABS_X>; | |
39 | }; | |
40 | ||
41 | axis@1 { | |
42 | reg = <1>; | |
43 | abs-flat = <32>; | |
44 | abs-fuzz = <32>; | |
45 | abs-range = <15 1023>; | |
46 | linux,code = <ABS_RX>; | |
47 | }; | |
48 | ||
49 | axis@2 { | |
50 | reg = <2>; | |
51 | abs-flat = <32>; | |
52 | abs-fuzz = <32>; | |
53 | abs-range = <15 1023>; | |
54 | linux,code = <ABS_Y>; | |
55 | }; | |
56 | ||
57 | axis@3 { | |
58 | reg = <3>; | |
59 | abs-flat = <32>; | |
60 | abs-fuzz = <32>; | |
61 | abs-range = <1023 15>; | |
62 | linux,code = <ABS_RY>; | |
63 | }; | |
64 | }; | |
65 | ||
66 | adc_mux: adc-mux { | |
67 | compatible = "io-channel-mux"; | |
68 | channels = "left_x", "right_x", "left_y", "right_y"; | |
69 | #io-channel-cells = <1>; | |
70 | io-channels = <&saradc 3>; | |
71 | io-channel-names = "parent"; | |
72 | mux-controls = <&gpio_mux>; | |
73 | settle-time-us = <100>; | |
74 | }; | |
75 | ||
76 | backlight: backlight { | |
77 | compatible = "pwm-backlight"; | |
78 | power-supply = <&vcc_sys>; | |
79 | pwms = <&pwm4 0 25000 0>; | |
80 | }; | |
81 | ||
82 | battery: battery { | |
83 | compatible = "simple-battery"; | |
84 | charge-full-design-microamp-hours = <3151000>; | |
85 | charge-term-current-microamp = <300000>; | |
86 | constant-charge-current-max-microamp = <2000000>; | |
87 | constant-charge-voltage-max-microvolt = <4250000>; | |
88 | factory-internal-resistance-micro-ohms = <117000>; | |
89 | voltage-max-design-microvolt = <4172000>; | |
90 | voltage-min-design-microvolt = <3400000>; | |
91 | ||
92 | ocv-capacity-celsius = <20>; | |
93 | ocv-capacity-table-0 = <4172000 100>, <4092000 95>, <4035000 90>, <3990000 85>, | |
94 | <3939000 80>, <3895000 75>, <3852000 70>, <3807000 65>, | |
95 | <3762000 60>, <3713000 55>, <3672000 50>, <3647000 45>, | |
96 | <3629000 40>, <3613000 35>, <3598000 30>, <3578000 25>, | |
97 | <3550000 20>, <3519000 15>, <3479000 10>, <3438000 5>, | |
98 | <3400000 0>; | |
99 | }; | |
100 | ||
101 | gpio_keys_control: gpio-keys-control { | |
102 | compatible = "gpio-keys"; | |
103 | pinctrl-0 = <&btn_pins_ctrl>; | |
104 | pinctrl-names = "default"; | |
105 | ||
106 | button-a { | |
107 | gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; | |
108 | label = "EAST"; | |
109 | linux,code = <BTN_EAST>; | |
110 | }; | |
111 | ||
112 | button-b { | |
113 | gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; | |
114 | label = "SOUTH"; | |
115 | linux,code = <BTN_SOUTH>; | |
116 | }; | |
117 | ||
118 | button-down { | |
119 | gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; | |
120 | label = "DPAD-DOWN"; | |
121 | linux,code = <BTN_DPAD_DOWN>; | |
122 | }; | |
123 | ||
124 | button-l1 { | |
125 | gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; | |
126 | label = "TL"; | |
127 | linux,code = <BTN_TL>; | |
128 | }; | |
129 | ||
130 | button-l2 { | |
131 | gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; | |
132 | label = "TL2"; | |
133 | linux,code = <BTN_TL2>; | |
134 | }; | |
135 | ||
136 | button-left { | |
137 | gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; | |
138 | label = "DPAD-LEFT"; | |
139 | linux,code = <BTN_DPAD_LEFT>; | |
140 | }; | |
141 | ||
142 | button-r1 { | |
143 | gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; | |
144 | label = "TR"; | |
145 | linux,code = <BTN_TR>; | |
146 | }; | |
147 | ||
148 | button-r2 { | |
149 | gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; | |
150 | label = "TR2"; | |
151 | linux,code = <BTN_TR2>; | |
152 | }; | |
153 | ||
154 | button-right { | |
155 | gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; | |
156 | label = "DPAD-RIGHT"; | |
157 | linux,code = <BTN_DPAD_RIGHT>; | |
158 | }; | |
159 | ||
160 | button-select { | |
161 | gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; | |
162 | label = "SELECT"; | |
163 | linux,code = <BTN_SELECT>; | |
164 | }; | |
165 | ||
166 | button-start { | |
167 | gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; | |
168 | label = "START"; | |
169 | linux,code = <BTN_START>; | |
170 | }; | |
171 | ||
172 | button-thumbl { | |
173 | gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; | |
174 | label = "THUMBL"; | |
175 | linux,code = <BTN_THUMBL>; | |
176 | }; | |
177 | ||
178 | button-thumbr { | |
179 | gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; | |
180 | label = "THUMBR"; | |
181 | linux,code = <BTN_THUMBR>; | |
182 | }; | |
183 | ||
184 | button-up { | |
185 | gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; | |
186 | label = "DPAD-UP"; | |
187 | linux,code = <BTN_DPAD_UP>; | |
188 | }; | |
189 | ||
190 | button-x { | |
191 | gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; | |
192 | label = "NORTH"; | |
193 | linux,code = <BTN_NORTH>; | |
194 | }; | |
195 | ||
196 | button-y { | |
197 | gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; | |
198 | label = "WEST"; | |
199 | linux,code = <BTN_WEST>; | |
200 | }; | |
201 | }; | |
202 | ||
203 | gpio_keys_vol: gpio-keys-vol { | |
204 | compatible = "gpio-keys"; | |
205 | autorepeat; | |
206 | pinctrl-0 = <&btn_pins_vol>; | |
207 | pinctrl-names = "default"; | |
208 | ||
209 | button-vol-down { | |
210 | gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; | |
211 | label = "VOLUMEDOWN"; | |
212 | linux,code = <KEY_VOLUMEDOWN>; | |
213 | }; | |
214 | ||
215 | button-vol-up { | |
216 | gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>; | |
217 | label = "VOLUMEUP"; | |
218 | linux,code = <KEY_VOLUMEUP>; | |
219 | }; | |
220 | }; | |
221 | ||
222 | gpio_mux: mux-controller { | |
223 | compatible = "gpio-mux"; | |
224 | mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>, | |
225 | <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; | |
226 | #mux-control-cells = <0>; | |
227 | }; | |
228 | ||
229 | hdmi-con { | |
230 | compatible = "hdmi-connector"; | |
231 | ddc-i2c-bus = <&i2c5>; | |
232 | type = "c"; | |
233 | ||
234 | port { | |
235 | hdmi_con_in: endpoint { | |
236 | remote-endpoint = <&hdmi_out_con>; | |
237 | }; | |
238 | }; | |
239 | }; | |
240 | ||
241 | /* | |
242 | * Device also includes an always on LED that is wired to the 5V input | |
243 | * voltage and is on when the device is plugged in. | |
244 | */ | |
245 | leds: pwm-leds { | |
246 | compatible = "pwm-leds"; | |
247 | ||
248 | green_led: led-0 { | |
249 | color = <LED_COLOR_ID_GREEN>; | |
250 | function = LED_FUNCTION_STATUS; | |
251 | max-brightness = <255>; | |
252 | pwms = <&pwm6 0 25000 0>; | |
253 | }; | |
254 | ||
255 | red_led: led-1 { | |
256 | color = <LED_COLOR_ID_RED>; | |
257 | function = LED_FUNCTION_CHARGING; | |
258 | max-brightness = <255>; | |
259 | pwms = <&pwm7 0 25000 0>; | |
260 | }; | |
261 | }; | |
262 | ||
263 | sdio_pwrseq: sdio-pwrseq { | |
264 | compatible = "mmc-pwrseq-simple"; | |
265 | clocks = <&rk817 1>; | |
266 | clock-names = "ext_clock"; | |
267 | pinctrl-0 = <&wifi_enable_h>; | |
268 | pinctrl-names = "default"; | |
269 | post-power-on-delay-ms = <200>; | |
270 | reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_LOW>; | |
271 | }; | |
272 | ||
273 | /* | |
274 | * Channels reversed for speakers. Headphones automatically switch via hardware when | |
275 | * detected with no ability to control output in software. Headphones appear to be mono | |
276 | * (each output channel receives all audio). No microphone support on 3.5mm jack. | |
277 | */ | |
278 | sound { | |
279 | compatible = "simple-audio-card"; | |
280 | simple-audio-card,name = "rk817_ext"; | |
281 | simple-audio-card,format = "i2s"; | |
282 | simple-audio-card,mclk-fs = <256>; | |
283 | simple-audio-card,widgets = | |
284 | "Headphone", "Headphones"; | |
285 | simple-audio-card,routing = | |
286 | "Headphones", "HPOL", | |
287 | "Headphones", "HPOR"; | |
288 | ||
289 | simple-audio-card,codec { | |
290 | sound-dai = <&rk817>; | |
291 | }; | |
292 | ||
293 | simple-audio-card,cpu { | |
294 | sound-dai = <&i2s1_8ch>; | |
295 | }; | |
296 | }; | |
297 | ||
298 | vcc3v3_lcd0_n: regulator-vcc3v3-lcd0 { | |
299 | compatible = "regulator-fixed"; | |
300 | gpio = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>; | |
301 | enable-active-high; | |
302 | pinctrl-0 = <&vcc_lcd_h>; | |
303 | pinctrl-names = "default"; | |
304 | regulator-boot-on; | |
305 | regulator-min-microvolt = <3300000>; | |
306 | regulator-max-microvolt = <3300000>; | |
307 | regulator-name = "vcc3v3_lcd0_n"; | |
308 | vin-supply = <&vcc_3v3>; | |
309 | regulator-state-mem { | |
310 | regulator-off-in-suspend; | |
311 | }; | |
312 | }; | |
313 | ||
314 | vcc_sys: regulator-vcc-sys { | |
315 | compatible = "regulator-fixed"; | |
316 | regulator-always-on; | |
317 | regulator-boot-on; | |
318 | regulator-min-microvolt = <3800000>; | |
319 | regulator-max-microvolt = <3800000>; | |
320 | regulator-name = "vcc_sys"; | |
321 | }; | |
322 | ||
323 | vcc_wifi: regulator-vcc-wifi { | |
324 | compatible = "regulator-fixed"; | |
325 | enable-active-high; | |
326 | gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; | |
327 | pinctrl-0 = <&vcc_wifi_h>; | |
328 | pinctrl-names = "default"; | |
329 | regulator-always-on; | |
330 | regulator-boot-on; | |
331 | regulator-min-microvolt = <3300000>; | |
332 | regulator-max-microvolt = <3300000>; | |
333 | regulator-name = "vcc_wifi"; | |
334 | }; | |
335 | }; | |
336 | ||
337 | &combphy1 { | |
338 | status = "okay"; | |
339 | }; | |
340 | ||
341 | &cpu0 { | |
342 | cpu-supply = <&vdd_cpu>; | |
343 | }; | |
344 | ||
345 | &cpu1 { | |
346 | cpu-supply = <&vdd_cpu>; | |
347 | }; | |
348 | ||
349 | &cpu2 { | |
350 | cpu-supply = <&vdd_cpu>; | |
351 | }; | |
352 | ||
353 | &cpu3 { | |
354 | cpu-supply = <&vdd_cpu>; | |
355 | }; | |
356 | ||
357 | &dsi0 { | |
358 | status = "okay"; | |
359 | #address-cells = <1>; | |
360 | #size-cells = <0>; | |
361 | ||
362 | ports { | |
363 | dsi0_in: port@0 { | |
364 | reg = <0>; | |
365 | dsi0_in_vp1: endpoint { | |
366 | remote-endpoint = <&vp1_out_dsi0>; | |
367 | }; | |
368 | }; | |
369 | ||
370 | dsi0_out: port@1 { | |
371 | reg = <1>; | |
372 | mipi_out_panel: endpoint { | |
373 | remote-endpoint = <&mipi_in_panel>; | |
374 | }; | |
375 | }; | |
376 | }; | |
377 | }; | |
378 | ||
379 | &dsi_dphy0 { | |
380 | status = "okay"; | |
381 | }; | |
382 | ||
383 | &gpu { | |
384 | mali-supply = <&vdd_gpu>; | |
385 | status = "okay"; | |
386 | }; | |
387 | ||
388 | &hdmi { | |
389 | ddc-i2c-bus = <&i2c5>; | |
390 | pinctrl-0 = <&hdmitxm0_cec>; | |
391 | pinctrl-names = "default"; | |
392 | status = "okay"; | |
393 | }; | |
394 | ||
395 | &hdmi_in { | |
396 | hdmi_in_vp0: endpoint { | |
397 | remote-endpoint = <&vp0_out_hdmi>; | |
398 | }; | |
399 | }; | |
400 | ||
401 | &hdmi_out { | |
402 | hdmi_out_con: endpoint { | |
403 | remote-endpoint = <&hdmi_con_in>; | |
404 | }; | |
405 | }; | |
406 | ||
407 | &hdmi_sound { | |
408 | status = "okay"; | |
409 | }; | |
410 | ||
411 | &i2c0 { | |
412 | status = "okay"; | |
413 | ||
414 | rk817: pmic@20 { | |
415 | compatible = "rockchip,rk817"; | |
416 | reg = <0x20>; | |
417 | interrupt-parent = <&gpio0>; | |
418 | interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; | |
419 | clock-output-names = "rk808-clkout1", "rk808-clkout2"; | |
420 | clock-names = "mclk"; | |
421 | clocks = <&cru I2S1_MCLKOUT_TX>; | |
422 | assigned-clocks = <&cru I2S1_MCLKOUT_TX>; | |
423 | assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; | |
424 | #clock-cells = <1>; | |
425 | #sound-dai-cells = <0>; | |
426 | pinctrl-names = "default"; | |
427 | pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>; | |
428 | wakeup-source; | |
429 | ||
430 | vcc1-supply = <&vcc_sys>; | |
431 | vcc2-supply = <&vcc_sys>; | |
432 | vcc3-supply = <&vcc_sys>; | |
433 | vcc4-supply = <&vcc_sys>; | |
434 | vcc5-supply = <&vcc_sys>; | |
435 | vcc6-supply = <&vcc_sys>; | |
436 | vcc7-supply = <&vcc_sys>; | |
437 | vcc8-supply = <&vcc_sys>; | |
438 | vcc9-supply = <&dcdc_boost>; | |
439 | ||
440 | regulators { | |
441 | vdd_logic: DCDC_REG1 { | |
442 | regulator-always-on; | |
443 | regulator-boot-on; | |
444 | regulator-min-microvolt = <500000>; | |
445 | regulator-max-microvolt = <1350000>; | |
446 | regulator-ramp-delay = <6001>; | |
447 | regulator-initial-mode = <0x2>; | |
448 | regulator-name = "vdd_logic"; | |
449 | regulator-state-mem { | |
450 | regulator-off-in-suspend; | |
451 | regulator-suspend-microvolt = <900000>; | |
452 | }; | |
453 | }; | |
454 | ||
455 | vdd_gpu: DCDC_REG2 { | |
456 | regulator-always-on; | |
457 | regulator-boot-on; | |
458 | regulator-min-microvolt = <500000>; | |
459 | regulator-max-microvolt = <1350000>; | |
460 | regulator-ramp-delay = <6001>; | |
461 | regulator-initial-mode = <0x2>; | |
462 | regulator-name = "vdd_gpu"; | |
463 | regulator-state-mem { | |
464 | regulator-off-in-suspend; | |
465 | }; | |
466 | }; | |
467 | ||
468 | vcc_ddr: DCDC_REG3 { | |
469 | regulator-always-on; | |
470 | regulator-boot-on; | |
471 | regulator-initial-mode = <0x2>; | |
472 | regulator-name = "vcc_ddr"; | |
473 | regulator-state-mem { | |
474 | regulator-on-in-suspend; | |
475 | }; | |
476 | }; | |
477 | ||
478 | vcc_3v3: DCDC_REG4 { | |
479 | regulator-always-on; | |
480 | regulator-boot-on; | |
481 | regulator-min-microvolt = <3300000>; | |
482 | regulator-max-microvolt = <3300000>; | |
483 | regulator-initial-mode = <0x2>; | |
484 | regulator-name = "vcc_3v3"; | |
485 | regulator-state-mem { | |
486 | regulator-on-in-suspend; | |
487 | regulator-suspend-microvolt = <3300000>; | |
488 | }; | |
489 | }; | |
490 | ||
491 | vcca1v8_pmu: LDO_REG1 { | |
492 | regulator-always-on; | |
493 | regulator-boot-on; | |
494 | regulator-min-microvolt = <1800000>; | |
495 | regulator-max-microvolt = <1800000>; | |
496 | regulator-name = "vcca1v8_pmu"; | |
497 | regulator-state-mem { | |
498 | regulator-on-in-suspend; | |
499 | regulator-suspend-microvolt = <1800000>; | |
500 | }; | |
501 | }; | |
502 | ||
503 | vdda_0v9: LDO_REG2 { | |
504 | regulator-always-on; | |
505 | regulator-boot-on; | |
506 | regulator-min-microvolt = <900000>; | |
507 | regulator-max-microvolt = <900000>; | |
508 | regulator-name = "vdda_0v9"; | |
509 | regulator-state-mem { | |
510 | regulator-off-in-suspend; | |
511 | }; | |
512 | }; | |
513 | ||
514 | vdda0v9_pmu: LDO_REG3 { | |
515 | regulator-always-on; | |
516 | regulator-boot-on; | |
517 | regulator-min-microvolt = <900000>; | |
518 | regulator-max-microvolt = <900000>; | |
519 | regulator-name = "vdda0v9_pmu"; | |
520 | regulator-state-mem { | |
521 | regulator-on-in-suspend; | |
522 | regulator-suspend-microvolt = <900000>; | |
523 | }; | |
524 | }; | |
525 | ||
526 | vccio_acodec: LDO_REG4 { | |
527 | regulator-always-on; | |
528 | regulator-boot-on; | |
529 | regulator-min-microvolt = <3300000>; | |
530 | regulator-max-microvolt = <3300000>; | |
531 | regulator-name = "vccio_acodec"; | |
532 | regulator-state-mem { | |
533 | regulator-off-in-suspend; | |
534 | }; | |
535 | }; | |
536 | ||
537 | vccio_sd: LDO_REG5 { | |
538 | regulator-always-on; | |
539 | regulator-boot-on; | |
540 | regulator-min-microvolt = <1800000>; | |
541 | regulator-max-microvolt = <3300000>; | |
542 | regulator-name = "vccio_sd"; | |
543 | regulator-state-mem { | |
544 | regulator-off-in-suspend; | |
545 | }; | |
546 | }; | |
547 | ||
548 | vcc3v3_pmu: LDO_REG6 { | |
549 | regulator-always-on; | |
550 | regulator-boot-on; | |
551 | regulator-min-microvolt = <3300000>; | |
552 | regulator-max-microvolt = <3300000>; | |
553 | regulator-name = "vcc3v3_pmu"; | |
554 | regulator-state-mem { | |
555 | regulator-on-in-suspend; | |
556 | regulator-suspend-microvolt = <3300000>; | |
557 | }; | |
558 | }; | |
559 | ||
560 | vcc_1v8: LDO_REG7 { | |
561 | regulator-always-on; | |
562 | regulator-boot-on; | |
563 | regulator-min-microvolt = <1800000>; | |
564 | regulator-max-microvolt = <1800000>; | |
565 | regulator-name = "vcc_1v8"; | |
566 | regulator-state-mem { | |
567 | regulator-off-in-suspend; | |
568 | }; | |
569 | }; | |
570 | ||
571 | vcc1v8_dvp: LDO_REG8 { | |
572 | regulator-always-on; | |
573 | regulator-boot-on; | |
574 | regulator-min-microvolt = <1800000>; | |
575 | regulator-max-microvolt = <3300000>; | |
576 | regulator-name = "vcc1v8_dvp"; | |
577 | regulator-state-mem { | |
578 | regulator-off-in-suspend; | |
579 | }; | |
580 | }; | |
581 | ||
582 | vcc2v8_dvp: LDO_REG9 { | |
583 | regulator-always-on; | |
584 | regulator-boot-on; | |
585 | regulator-min-microvolt = <2800000>; | |
586 | regulator-max-microvolt = <2800000>; | |
587 | regulator-name = "vcc2v8_dvp"; | |
588 | regulator-state-mem { | |
589 | regulator-off-in-suspend; | |
590 | }; | |
591 | }; | |
592 | ||
593 | dcdc_boost: BOOST { | |
594 | regulator-always-on; | |
595 | regulator-boot-on; | |
596 | regulator-min-microvolt = <4700000>; | |
597 | regulator-max-microvolt = <5400000>; | |
598 | regulator-name = "boost"; | |
599 | regulator-state-mem { | |
600 | regulator-off-in-suspend; | |
601 | }; | |
602 | }; | |
603 | ||
604 | otg_switch: OTG_SWITCH { | |
605 | regulator-name = "otg_switch"; | |
606 | regulator-state-mem { | |
607 | regulator-off-in-suspend; | |
608 | }; | |
609 | }; | |
610 | }; | |
611 | ||
612 | rk817_charger: charger { | |
613 | monitored-battery = <&battery>; | |
614 | rockchip,resistor-sense-micro-ohms = <10000>; | |
615 | rockchip,sleep-enter-current-microamp = <300000>; | |
616 | rockchip,sleep-filter-current-microamp = <100000>; | |
617 | }; | |
618 | }; | |
93743d24 TR |
619 | }; |
620 | ||
621 | &i2c5 { | |
622 | pinctrl-0 = <&i2c5m1_xfer>; | |
623 | pinctrl-names = "default"; | |
624 | status = "okay"; | |
625 | }; | |
626 | ||
627 | &i2s0_8ch { | |
628 | status = "okay"; | |
629 | }; | |
630 | ||
631 | &i2s1_8ch { | |
632 | pinctrl-0 = <&i2s1m0_sclktx | |
633 | &i2s1m0_lrcktx | |
634 | &i2s1m0_sdi0 | |
635 | &i2s1m0_sdo0>; | |
636 | pinctrl-names = "default"; | |
637 | rockchip,trcm-sync-tx-only; | |
638 | status = "okay"; | |
639 | }; | |
640 | ||
641 | &pinctrl { | |
642 | gpio-btns { | |
643 | btn_pins_ctrl: btn-pins-ctrl { | |
644 | rockchip,pins = | |
645 | <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>, | |
646 | <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>, | |
647 | <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>, | |
648 | <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, | |
649 | <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>, | |
650 | <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>, | |
651 | <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>, | |
652 | <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>, | |
653 | <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>, | |
654 | <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>, | |
655 | <3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>, | |
656 | <3 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>, | |
657 | <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>, | |
658 | <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>, | |
659 | <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>, | |
660 | <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>; | |
661 | }; | |
662 | ||
663 | btn_pins_vol: btn-pins-vol { | |
664 | rockchip,pins = | |
665 | <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>, | |
666 | <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; | |
667 | }; | |
668 | }; | |
669 | ||
670 | joy-mux { | |
671 | joy_mux_en: joy-mux-en { | |
672 | rockchip,pins = | |
673 | <0 RK_PB5 RK_FUNC_GPIO &pcfg_output_low>; | |
674 | }; | |
675 | }; | |
676 | ||
677 | gpio-lcd { | |
678 | lcd_rst: lcd-rst { | |
679 | rockchip,pins = | |
680 | <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; | |
681 | }; | |
682 | }; | |
683 | ||
684 | pmic { | |
685 | pmic_int_l: pmic-int-l { | |
686 | rockchip,pins = | |
687 | <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; | |
688 | }; | |
689 | }; | |
690 | ||
691 | sdio-pwrseq { | |
692 | wifi_enable_h: wifi-enable-h { | |
693 | rockchip,pins = | |
694 | <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; | |
695 | }; | |
696 | }; | |
697 | ||
698 | vcc3v3-lcd { | |
699 | vcc_lcd_h: vcc-lcd-h { | |
700 | rockchip,pins = | |
701 | <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; | |
702 | }; | |
703 | }; | |
704 | ||
705 | vcc-wifi { | |
706 | vcc_wifi_h: vcc-wifi-h { | |
707 | rockchip,pins = | |
708 | <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; | |
709 | }; | |
710 | }; | |
711 | }; | |
712 | ||
713 | &pmu_io_domains { | |
714 | status = "okay"; | |
715 | pmuio1-supply = <&vcc3v3_pmu>; | |
716 | pmuio2-supply = <&vcc3v3_pmu>; | |
717 | vccio1-supply = <&vccio_acodec>; | |
718 | vccio3-supply = <&vccio_sd>; | |
719 | vccio4-supply = <&vcc_1v8>; | |
720 | vccio5-supply = <&vcc_3v3>; | |
721 | vccio6-supply = <&vcc1v8_dvp>; | |
722 | vccio7-supply = <&vcc_3v3>; | |
723 | }; | |
724 | ||
725 | &pwm4 { | |
726 | status = "okay"; | |
727 | }; | |
728 | ||
729 | &pwm6 { | |
730 | status = "okay"; | |
731 | }; | |
732 | ||
733 | &pwm7 { | |
734 | status = "okay"; | |
735 | }; | |
736 | ||
737 | &saradc { | |
738 | vref-supply = <&vcc_1v8>; | |
739 | status = "okay"; | |
740 | }; | |
741 | ||
742 | &sdmmc0 { | |
743 | bus-width = <4>; | |
744 | cap-sd-highspeed; | |
745 | cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; | |
746 | disable-wp; | |
747 | pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; | |
748 | pinctrl-names = "default"; | |
749 | sd-uhs-sdr104; | |
750 | vmmc-supply = <&vcc_3v3>; | |
751 | vqmmc-supply = <&vccio_sd>; | |
752 | status = "okay"; | |
753 | }; | |
754 | ||
755 | &sdmmc1 { | |
756 | bus-width = <4>; | |
757 | cap-sd-highspeed; | |
758 | cd-gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_LOW>; | |
759 | disable-wp; | |
760 | pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &sdmmc1_det>; | |
761 | pinctrl-names = "default"; | |
762 | sd-uhs-sdr104; | |
763 | vmmc-supply = <&vcc_3v3>; | |
764 | vqmmc-supply = <&vcc1v8_dvp>; | |
765 | status = "okay"; | |
766 | }; | |
767 | ||
768 | &sdmmc2 { | |
769 | bus-width = <4>; | |
770 | cap-sd-highspeed; | |
771 | cap-sdio-irq; | |
772 | keep-power-in-suspend; | |
773 | mmc-pwrseq = <&sdio_pwrseq>; | |
774 | non-removable; | |
775 | pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>; | |
776 | pinctrl-names = "default"; | |
777 | vmmc-supply = <&vcc_wifi>; | |
778 | vqmmc-supply = <&vcca1v8_pmu>; | |
779 | status = "okay"; | |
780 | }; | |
781 | ||
782 | &tsadc { | |
783 | rockchip,hw-tshut-mode = <1>; | |
784 | rockchip,hw-tshut-polarity = <0>; | |
785 | status = "okay"; | |
786 | }; | |
787 | ||
788 | &uart1 { | |
789 | pinctrl-0 = <&uart1m1_xfer &uart1m1_ctsn &uart1m1_rtsn>; | |
790 | pinctrl-names = "default"; | |
791 | uart-has-rtscts; | |
792 | status = "okay"; | |
793 | ||
6bb92fcf | 794 | bluetooth: bluetooth { |
93743d24 TR |
795 | compatible = "realtek,rtl8821cs-bt", "realtek,rtl8723bs-bt"; |
796 | device-wake-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; | |
797 | enable-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>; | |
798 | host-wake-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; | |
799 | }; | |
800 | }; | |
801 | ||
802 | &usb_host0_xhci { | |
803 | dr_mode = "peripheral"; | |
804 | phys = <&usb2phy0_otg>; | |
805 | phy-names = "usb2-phy"; | |
806 | status = "okay"; | |
807 | }; | |
808 | ||
809 | &usb_host1_ehci { | |
810 | status = "okay"; | |
811 | }; | |
812 | ||
813 | &usb_host1_ohci { | |
814 | status = "okay"; | |
815 | }; | |
816 | ||
817 | &usb_host1_xhci { | |
818 | phy-names = "usb2-phy", "usb3-phy"; | |
819 | phys = <&usb2phy1_host>, <&combphy1 PHY_TYPE_USB3>; | |
820 | status = "okay"; | |
821 | }; | |
822 | ||
823 | &usb2phy0 { | |
824 | status = "okay"; | |
825 | }; | |
826 | ||
827 | &usb2phy0_otg { | |
828 | status = "okay"; | |
829 | }; | |
830 | ||
831 | &usb2phy1 { | |
832 | status = "okay"; | |
833 | }; | |
834 | ||
835 | &usb2phy1_host { | |
836 | status = "okay"; | |
837 | }; | |
838 | ||
839 | &vop { | |
840 | assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; | |
841 | assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; | |
842 | status = "okay"; | |
843 | }; | |
844 | ||
845 | &vop_mmu { | |
846 | status = "okay"; | |
847 | }; | |
848 | ||
849 | &vp0 { | |
850 | vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { | |
851 | reg = <ROCKCHIP_VOP2_EP_HDMI0>; | |
852 | remote-endpoint = <&hdmi_in_vp0>; | |
853 | }; | |
854 | }; | |
855 | ||
856 | &vp1 { | |
857 | vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { | |
858 | reg = <ROCKCHIP_VOP2_EP_MIPI0>; | |
859 | remote-endpoint = <&dsi0_in_vp1>; | |
860 | }; | |
861 | }; |