xref: /linux/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts (revision e7e86d7697c6ed1dbbde18d7185c35b6967945ed)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2024 Chris Morgan <macromorgan@hotmail.com>
4 */
5
6/dts-v1/;
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/input/input.h>
9#include <dt-bindings/leds/common.h>
10#include <dt-bindings/pinctrl/rockchip.h>
11#include "rk3326.dtsi"
12
13/ {
14	model = "GameForce Chi";
15	compatible = "gameforce,chi", "rockchip,rk3326";
16	chassis-type = "handset";
17
18	aliases {
19		mmc0 = &sdmmc;
20		mmc1 = &sdio;
21	};
22
23	chosen {
24		stdout-path = "serial2:115200n8";
25	};
26
27	adc_joystick: adc-joystick {
28		compatible = "adc-joystick";
29		io-channels = <&saradc 0>,
30			      <&saradc 1>;
31		poll-interval = <100>;
32		#address-cells = <1>;
33		#size-cells = <0>;
34
35		axis@0 {
36			reg = <0>;
37			abs-flat = <10>;
38			abs-fuzz = <10>;
39			abs-range = <850 175>;
40			linux,code = <ABS_Y>;
41		};
42
43		axis@1 {
44			reg = <1>;
45			abs-flat = <10>;
46			abs-fuzz = <10>;
47			abs-range = <800 190>;
48			linux,code = <ABS_X>;
49		};
50	};
51
52	adc_keys: adc-keys {
53		compatible = "adc-keys";
54		io-channels = <&saradc 2>;
55		io-channel-names = "buttons";
56		keyup-threshold-microvolt = <1800000>;
57		poll-interval = <60>;
58
59		button-1 {
60			label = "HAPPY1";
61			linux,code = <BTN_TRIGGER_HAPPY1>;
62			press-threshold-microvolt = <15000>;
63		};
64
65		button-2 {
66			label = "HAPPY2";
67			linux,code = <BTN_TRIGGER_HAPPY2>;
68			press-threshold-microvolt = <300000>;
69		};
70	};
71
72	backlight: backlight {
73		compatible = "pwm-backlight";
74		power-supply = <&vcc_bl>;
75		pwms = <&pwm1 0 25000 0>;
76	};
77
78	battery: battery {
79		compatible = "simple-battery";
80		charge-full-design-microamp-hours = <3000000>;
81		charge-term-current-microamp = <300000>;
82		constant-charge-current-max-microamp = <1500000>;
83		constant-charge-voltage-max-microvolt = <4200000>;
84		factory-internal-resistance-micro-ohms = <180000>;
85		ocv-capacity-celsius = <20>;
86		ocv-capacity-table-0 =  <4106000 100>, <4071000 95>, <4018000 90>, <3975000 85>,
87					<3946000 80>, <3908000 75>, <3877000 70>, <3853000 65>,
88					<3834000 60>, <3816000 55>, <3802000 50>, <3788000 45>,
89					<3774000 40>, <3760000 35>, <3748000 30>, <3735000 25>,
90					<3718000 20>, <3697000 15>, <3685000 10>, <3625000 5>,
91					<3400000 0>;
92		voltage-max-design-microvolt = <4250000>;
93		voltage-min-design-microvolt = <3400000>;
94	};
95
96	gpio_leds: gpio-leds {
97		compatible = "gpio-leds";
98		pinctrl-names = "default";
99		pinctrl-0 = <&led_pins>;
100
101		red_led: led-0 {
102			color = <LED_COLOR_ID_RED>;
103			gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
104		};
105
106		green_led: led-1 {
107			color = <LED_COLOR_ID_GREEN>;
108			gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
109		};
110
111		blue_led: led-2 {
112			color = <LED_COLOR_ID_BLUE>;
113			gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>;
114		};
115
116		white_led: led-3 {
117			color = <LED_COLOR_ID_WHITE>;
118			function = LED_FUNCTION_STATUS;
119			gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
120		};
121
122		chg_led: led-4 {
123			color = <LED_COLOR_ID_RED>;
124			function = LED_FUNCTION_CHARGING;
125			gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
126		};
127
128	};
129
130	gpio_keys: gpio-keys {
131		compatible = "gpio-keys";
132		pinctrl-0 = <&btn_pins_ctrl>;
133		pinctrl-names = "default";
134
135		button-a {
136			gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
137			label = "EAST";
138			linux,code = <BTN_EAST>;
139		};
140
141		button-b {
142			gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
143			label = "SOUTH";
144			linux,code = <BTN_SOUTH>;
145		};
146
147		button-down {
148			gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
149			label = "DPAD-DOWN";
150			linux,code = <BTN_DPAD_DOWN>;
151		};
152
153		button-home {
154			gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
155			label = "HOME";
156			linux,code = <BTN_MODE>;
157		};
158
159		button-l1 {
160			gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
161			label = "TL";
162			linux,code = <BTN_TL>;
163		};
164
165		button-l2 {
166			gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
167			label = "TL2";
168			linux,code = <BTN_TL2>;
169		};
170
171		button-left {
172			gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
173			label = "DPAD-LEFT";
174			linux,code = <BTN_DPAD_LEFT>;
175		};
176
177		button-r1 {
178			gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
179			label = "TR";
180			linux,code = <BTN_TR>;
181		};
182
183		button-r2 {
184			gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
185			label = "TR2";
186			linux,code = <BTN_TR2>;
187		};
188
189		button-right {
190			gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
191			label = "DPAD-RIGHT";
192			linux,code = <BTN_DPAD_RIGHT>;
193		};
194
195		button-select {
196			gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
197			label = "SELECT";
198			linux,code = <BTN_SELECT>;
199		};
200
201		button-start {
202			gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
203			label = "START";
204			linux,code = <BTN_START>;
205		};
206
207		button-up {
208			gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
209			label = "DPAD-UP";
210			linux,code = <BTN_DPAD_UP>;
211		};
212
213		button-x {
214			gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>;
215			label = "NORTH";
216			linux,code = <BTN_NORTH>;
217		};
218
219		button-y {
220			gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_LOW>;
221			label = "WEST";
222			linux,code = <BTN_WEST>;
223		};
224	};
225
226	multi-led {
227		compatible = "leds-group-multicolor";
228		color = <LED_COLOR_ID_RGB>;
229		function = LED_FUNCTION_KBD_BACKLIGHT;
230		leds = <&red_led>, <&green_led>, <&blue_led>;
231	};
232
233	spk_amp: audio-amplifier {
234		compatible = "simple-audio-amplifier";
235		enable-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
236		pinctrl-0 = <&spk_amp_enable_h>;
237		pinctrl-names = "default";
238		sound-name-prefix = "Speaker Amp";
239	};
240
241	sound {
242		compatible = "simple-audio-card";
243		pinctrl-0 = <&hp_det>;
244		pinctrl-names = "default";
245		simple-audio-card,name = "rk817_ext";
246		simple-audio-card,aux-devs = <&spk_amp>;
247		simple-audio-card,format = "i2s";
248		simple-audio-card,hp-det-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
249		simple-audio-card,mclk-fs = <256>;
250		simple-audio-card,widgets =
251			"Microphone", "Mic Jack",
252			"Headphone", "Headphones",
253			"Speaker", "Internal Speakers";
254		simple-audio-card,routing =
255			"MICL", "Mic Jack",
256			"Headphones", "HPOL",
257			"Headphones", "HPOR",
258			"Internal Speakers", "Speaker Amp OUTL",
259			"Internal Speakers", "Speaker Amp OUTR",
260			"Speaker Amp INL", "HPOL",
261			"Speaker Amp INR", "HPOR";
262		simple-audio-card,pin-switches = "Internal Speakers";
263
264		simple-audio-card,codec {
265			sound-dai = <&rk817>;
266		};
267
268		simple-audio-card,cpu {
269			sound-dai = <&i2s1_2ch>;
270		};
271	};
272
273	vibrator_left: pwm-vibrator-l {
274		compatible = "pwm-vibrator";
275		pwm-names = "enable";
276		pwms = <&pwm4 0 25000 0>;
277	};
278
279	vibrator_right: pwm-vibrator-r {
280		compatible = "pwm-vibrator";
281		pwm-names = "enable";
282		pwms = <&pwm5 0 25000 0>;
283	};
284
285	sdio_pwrseq: sdio-pwrseq {
286		compatible = "mmc-pwrseq-simple";
287		clocks = <&rk817 1>;
288		clock-names = "ext_clock";
289		pinctrl-0 = <&wifi_enable_h>;
290		pinctrl-names = "default";
291		post-power-on-delay-ms = <200>;
292		reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
293	};
294
295	vccsys: regulator-vccsys {
296		compatible = "regulator-fixed";
297		regulator-name = "vcc3v8_sys";
298		regulator-always-on;
299		regulator-min-microvolt = <3800000>;
300		regulator-max-microvolt = <3800000>;
301	};
302};
303
304&cpu0 {
305	cpu-supply = <&vdd_arm>;
306};
307
308&cpu1 {
309	cpu-supply = <&vdd_arm>;
310};
311
312&cpu2 {
313	cpu-supply = <&vdd_arm>;
314};
315
316&cpu3 {
317	cpu-supply = <&vdd_arm>;
318};
319
320&display_subsystem {
321	status = "okay";
322};
323
324&dsi {
325	#address-cells = <1>;
326	#size-cells = <0>;
327	status = "okay";
328
329	internal_display: panel@0 {
330		reg = <0>;
331		compatible = "gameforce,chi-panel";
332		backlight = <&backlight>;
333		iovcc-supply = <&vcc_lcd>;
334		vcc-supply = <&vcc_lcd>;
335		reset-gpios = <&gpio3 RK_PA0 GPIO_ACTIVE_LOW>;
336
337		port {
338			mipi_in_panel: endpoint {
339				remote-endpoint = <&mipi_out_panel>;
340			};
341		};
342	};
343
344	ports {
345		mipi_out: port@1 {
346			reg = <1>;
347
348			mipi_out_panel: endpoint {
349				remote-endpoint = <&mipi_in_panel>;
350			};
351		};
352	};
353};
354
355&dsi_dphy {
356	status = "okay";
357};
358
359&gpu {
360	mali-supply = <&vdd_logic>;
361	status = "okay";
362};
363
364&i2c0 {
365	clock-frequency = <400000>;
366	i2c-scl-falling-time-ns = <16>;
367	i2c-scl-rising-time-ns = <280>;
368	status = "okay";
369
370	rk817: pmic@20 {
371		compatible = "rockchip,rk817";
372		reg = <0x20>;
373		#clock-cells = <1>;
374		clock-names = "mclk";
375		clock-output-names = "rk808-clkout1", "xin32k";
376		clocks = <&cru SCLK_I2S1_OUT>;
377		interrupt-parent = <&gpio0>;
378		interrupts = <RK_PC1 IRQ_TYPE_LEVEL_LOW>;
379		pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
380		pinctrl-names = "default";
381		#sound-dai-cells = <0>;
382		system-power-controller;
383		wakeup-source;
384
385		vcc1-supply = <&vccsys>;
386		vcc2-supply = <&vccsys>;
387		vcc3-supply = <&vccsys>;
388		vcc4-supply = <&vccsys>;
389		vcc5-supply = <&vccsys>;
390		vcc6-supply = <&vccsys>;
391		vcc7-supply = <&vcc_3v0>;
392		vcc8-supply = <&vccsys>;
393		vcc9-supply = <&dcdc_boost>;
394
395		regulators {
396			vdd_logic: DCDC_REG1 {
397				regulator-always-on;
398				regulator-boot-on;
399				regulator-max-microvolt = <1150000>;
400				regulator-min-microvolt = <950000>;
401				regulator-name = "vdd_logic";
402				regulator-ramp-delay = <6001>;
403
404				regulator-state-mem {
405					regulator-on-in-suspend;
406					regulator-suspend-microvolt = <950000>;
407				};
408			};
409
410			vdd_arm: DCDC_REG2 {
411				regulator-always-on;
412				regulator-boot-on;
413				regulator-max-microvolt = <1350000>;
414				regulator-min-microvolt = <950000>;
415				regulator-name = "vdd_arm";
416				regulator-ramp-delay = <6001>;
417
418				regulator-state-mem {
419					regulator-off-in-suspend;
420					regulator-suspend-microvolt = <950000>;
421				};
422			};
423
424			vcc_ddr: DCDC_REG3 {
425				regulator-always-on;
426				regulator-boot-on;
427				regulator-name = "vcc_ddr";
428
429				regulator-state-mem {
430					regulator-on-in-suspend;
431				};
432			};
433
434			vcc_3v0: DCDC_REG4 {
435				regulator-always-on;
436				regulator-boot-on;
437				regulator-max-microvolt = <3000000>;
438				regulator-min-microvolt = <3000000>;
439				regulator-name = "vcc_3v0";
440
441				regulator-state-mem {
442					regulator-off-in-suspend;
443					regulator-suspend-microvolt = <3000000>;
444				};
445			};
446
447			vcc_1v8: LDO_REG2 {
448				regulator-always-on;
449				regulator-boot-on;
450				regulator-max-microvolt = <1800000>;
451				regulator-min-microvolt = <1800000>;
452				regulator-name = "vcc_1v8";
453
454				regulator-state-mem {
455					regulator-on-in-suspend;
456					regulator-suspend-microvolt = <1800000>;
457				};
458			};
459
460			vdd_1v0: LDO_REG3 {
461				regulator-always-on;
462				regulator-boot-on;
463				regulator-max-microvolt = <1000000>;
464				regulator-min-microvolt = <1000000>;
465				regulator-name = "vdd_1v0";
466
467				regulator-state-mem {
468					regulator-on-in-suspend;
469					regulator-suspend-microvolt = <1000000>;
470				};
471			};
472
473			vcc_3v0_pmu: LDO_REG4 {
474				regulator-always-on;
475				regulator-boot-on;
476				regulator-max-microvolt = <3000000>;
477				regulator-min-microvolt = <3000000>;
478				regulator-name = "vcc_3v0_pmu";
479
480				regulator-state-mem {
481					regulator-on-in-suspend;
482					regulator-suspend-microvolt = <3000000>;
483				};
484			};
485
486			vccio_sd: LDO_REG5 {
487				regulator-always-on;
488				regulator-boot-on;
489				regulator-max-microvolt = <3300000>;
490				regulator-min-microvolt = <1800000>;
491				regulator-name = "vccio_sd";
492
493				regulator-state-mem {
494					regulator-on-in-suspend;
495					regulator-suspend-microvolt = <3300000>;
496				};
497			};
498
499			vcc_sd: LDO_REG6 {
500				regulator-boot-on;
501				regulator-max-microvolt = <3300000>;
502				regulator-min-microvolt = <3300000>;
503				regulator-name = "vcc_sd";
504
505				regulator-state-mem {
506					regulator-on-in-suspend;
507					regulator-suspend-microvolt = <3300000>;
508				};
509			};
510
511			vcc_bl: LDO_REG7 {
512				regulator-max-microvolt = <3300000>;
513				regulator-min-microvolt = <3300000>;
514				regulator-name = "vcc_bl";
515
516				regulator-state-mem {
517					regulator-off-in-suspend;
518					regulator-suspend-microvolt = <3300000>;
519				};
520			};
521
522			vcc_lcd: LDO_REG8 {
523				regulator-max-microvolt = <2800000>;
524				regulator-min-microvolt = <2800000>;
525				regulator-name = "vcc_lcd";
526
527				regulator-state-mem {
528					regulator-off-in-suspend;
529					regulator-suspend-microvolt = <2800000>;
530				};
531			};
532
533			vcc_wifi: LDO_REG9 {
534				regulator-always-on;
535				regulator-boot-on;
536				regulator-max-microvolt = <3300000>;
537				regulator-min-microvolt = <3300000>;
538				regulator-name = "vcc_wifi";
539
540				regulator-state-mem {
541					regulator-off-in-suspend;
542					regulator-suspend-microvolt = <3300000>;
543				};
544			};
545
546			dcdc_boost: BOOST {
547				regulator-max-microvolt = <5000000>;
548				regulator-min-microvolt = <5000000>;
549				regulator-name = "dcdc_boost";
550
551				regulator-state-mem {
552					regulator-off-in-suspend;
553				};
554			};
555
556			otg_switch: OTG_SWITCH {
557				regulator-name = "otg_switch";
558
559				regulator-state-mem {
560					regulator-off-in-suspend;
561				};
562			};
563		};
564
565		rk817_charger: charger {
566			monitored-battery = <&battery>;
567			rockchip,resistor-sense-micro-ohms = <10000>;
568			rockchip,sleep-enter-current-microamp = <300000>;
569			rockchip,sleep-filter-current-microamp = <100000>;
570		};
571	};
572};
573
574&i2s1_2ch {
575	status = "okay";
576};
577
578&io_domains {
579	vccio1-supply = <&vcc_3v0_pmu>;
580	vccio2-supply = <&vccio_sd>;
581	vccio3-supply = <&vcc_3v0>;
582	vccio4-supply = <&vcc_3v0>;
583	vccio5-supply = <&vcc_3v0>;
584	vccio6-supply = <&vcc_3v0>;
585	status = "okay";
586};
587
588&pinctrl {
589	bluetooth-pins {
590		bt_reset: bt-reset {
591			rockchip,pins =
592				<0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
593		};
594
595		bt_wake_dev: bt-wake-dev {
596			rockchip,pins =
597				<0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
598		};
599
600		bt_wake_host: bt-wake-host {
601			rockchip,pins =
602				<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
603		};
604	};
605
606	headphone {
607		hp_det: hp-det {
608			rockchip,pins =
609				<2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
610		};
611	};
612
613	gpio-btns {
614		btn_pins_ctrl: btn-pins-ctrl {
615			rockchip,pins =
616				<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
617				<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
618				<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
619				<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
620				<2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
621				<2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
622				<2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
623				<2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
624				<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
625				<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
626				<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
627				<2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>,
628				<2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
629				<2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
630				<2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>;
631		};
632	};
633
634	gpio-leds {
635		led_pins: led-pins {
636			rockchip,pins =
637				<3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>,
638				<3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>,
639				<3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>,
640				<3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>,
641				<3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
642		};
643	};
644
645	pmic {
646		pmic_int: pmic-int {
647			rockchip,pins =
648				<0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
649		};
650
651		soc_slppin_gpio: soc_slppin_gpio {
652			rockchip,pins =
653				<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
654		};
655
656		soc_slppin_rst: soc_slppin_rst {
657			rockchip,pins =
658				<0 RK_PA4 2 &pcfg_pull_none>;
659		};
660
661		soc_slppin_slp: soc_slppin_slp {
662			rockchip,pins =
663				<0 RK_PA4 1 &pcfg_pull_none>;
664		};
665	};
666
667	sdio-pwrseq {
668		wifi_enable_h: wifi-enable-h {
669			rockchip,pins =
670				<0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
671		};
672	};
673
674	speaker {
675		spk_amp_enable_h: spk-amp-enable-h {
676			rockchip,pins =
677				<2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
678		};
679	};
680};
681
682&pmu_io_domains {
683	pmuio1-supply = <&vcc_1v8>;
684	pmuio2-supply = <&vcc_3v0_pmu>;
685	status = "okay";
686};
687
688&pwm1 {
689	status = "okay";
690};
691
692&pwm4 {
693	status = "okay";
694};
695
696&pwm5 {
697	status = "okay";
698};
699
700&saradc {
701	vref-supply = <&vcc_1v8>;
702	status = "okay";
703};
704
705&sdio {
706	bus-width = <4>;
707	cap-sd-highspeed;
708	cap-sdio-irq;
709	disable-wp;
710	keep-power-in-suspend;
711	mmc-pwrseq = <&sdio_pwrseq>;
712	no-mmc;
713	no-sd;
714	non-removable;
715	sd-uhs-sdr104;
716	status = "okay";
717};
718
719&sdmmc {
720	cap-mmc-highspeed;
721	cap-sd-highspeed;
722	no-sdio;
723	sd-uhs-sdr12;
724	sd-uhs-sdr25;
725	sd-uhs-sdr50;
726	sd-uhs-sdr104;
727	vmmc-supply = <&vcc_sd>;
728	vqmmc-supply = <&vccio_sd>;
729	status = "okay";
730};
731
732&sfc {
733	#address-cells = <1>;
734	pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus2>;
735	pinctrl-names = "default";
736	#size-cells = <0>;
737	status = "okay";
738
739	flash@0 {
740		compatible = "jedec,spi-nor";
741		reg = <0>;
742		spi-max-frequency = <108000000>;
743		spi-rx-bus-width = <2>;
744		spi-tx-bus-width = <1>;
745	};
746};
747
748&tsadc {
749	status = "okay";
750};
751
752&u2phy {
753	status = "okay";
754
755	u2phy_otg: otg-port {
756		status = "okay";
757	};
758};
759
760&usb20_otg {
761	status = "okay";
762};
763
764/*
765 * The right ADC joystick exists connected to an unknown ADC
766 * controller which can be communicated with via uart0. This ADC device
767 * is an 8-pin SOIC with no markings located right next to the left ADC
768 * joystick ribbon cable. The pinout for this ADC controller appears to
769 * be pin 1 - VCC (2.8v), pin 2 - 1.8v (clk maybe?), pin 3 - GPIO 10,
770 * pin 4 - unknown, pin 5 - unknown, pin 6 - analog in, pin 7 - analog in,
771 * pin 8 - ground. There is currently a userspace UART driver for this
772 * device but it only works with the BSP joystick driver.
773 */
774&uart0 {
775	status = "okay";
776};
777
778/*
779 * Bluetooth was not working on BSP and is not currently working on
780 * mainline due to missing firmware. Bluetooth requires removal of DMA
781 * or else it will not probe.
782 */
783&uart1 {
784	/delete-property/ dma-names;
785	/delete-property/ dmas;
786	uart-has-rtscts;
787	status = "okay";
788
789	bluetooth: bluetooth {
790		compatible = "realtek,rtl8723ds-bt";
791		device-wake-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
792		enable-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
793		host-wake-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_HIGH>;
794		pinctrl-0 = <&bt_reset>, <&bt_wake_dev>, <&bt_wake_host>;
795		pinctrl-names = "default";
796	};
797};
798
799&uart2 {
800	pinctrl-0 = <&uart2m1_xfer>;
801	pinctrl-names = "default";
802	status = "okay";
803};
804
805&vopb {
806	status = "okay";
807};
808
809&vopb_mmu {
810	status = "okay";
811};
812