xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/rk3308-dot-v10-aarch32.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/input/input.h>
9#include "arm64/rockchip/rk3308.dtsi"
10
11/ {
12	model = "Rockchip RK3308 Dot V10 (AArch32)";
13	compatible = "rockchip,rk3308-dot-v10-aarch32", "rockchip,rk3308";
14
15	chosen {
16		bootargs = "earlycon=uart8250,mmio32,0xff0c0000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=squashfs rootwait snd_aloop.index=7 snd_aloop.use_raw_jiffies=1";
17	};
18
19	acodec_sound: acodec-sound {
20		compatible = "rockchip,multicodecs-card";
21		rockchip,card-name = "rockchip,rk3308-acodec";
22		rockchip,codec-hp-det;
23		rockchip,mclk-fs = <256>;
24		rockchip,cpu = <&i2s_8ch_2>;
25		rockchip,codec = <&acodec>;
26		status = "okay";
27	};
28
29	adc-keys {
30		compatible = "adc-keys";
31		io-channels = <&saradc 1>;
32		io-channel-names = "buttons";
33		poll-interval = <100>;
34		keyup-threshold-microvolt = <1800000>;
35
36		esc-key {
37			linux,code = <KEY_MICMUTE>;
38			label = "micmute";
39			press-threshold-microvolt = <1130000>;
40		};
41
42		menu-key {
43			linux,code = <KEY_PLAY>;
44			label = "play";
45			press-threshold-microvolt = <624000>;
46		};
47
48		vol-down-key {
49			linux,code = <KEY_VOLUMEDOWN>;
50			label = "volume down";
51			press-threshold-microvolt = <300000>;
52		};
53
54		vol-up-key {
55			linux,code = <KEY_VOLUMEUP>;
56			label = "volume up";
57			press-threshold-microvolt = <18000>;
58		};
59	};
60
61	dummy_codec: dummy-codec {
62		compatible = "rockchip,dummy-codec";
63		#sound-dai-cells = <0>;
64	};
65
66	sdio_pwrseq: sdio-pwrseq {
67		compatible = "mmc-pwrseq-simple";
68		pinctrl-names = "default";
69		pinctrl-0 = <&wifi_enable_h>;
70
71		/*
72		 * On the module itself this is one of these (depending
73		 * on the actual card populated):
74		 * - SDIO_RESET_L_WL_REG_ON
75		 * - PDN (power down when low)
76		 */
77		reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
78	};
79
80	spdif_tx_sound: spdif-tx-sound {
81		status = "disabled";
82		compatible = "simple-audio-card";
83		simple-audio-card,name = "rockchip,spdif-tx-sound";
84		simple-audio-card,mclk-fs = <128>;
85		simple-audio-card,cpu {
86			sound-dai = <&spdif_tx>;
87		};
88		simple-audio-card,codec {
89			sound-dai = <&dummy_codec>;
90		};
91	};
92
93	vad-sound {
94		status = "disabled";
95		compatible = "rockchip,multicodecs-card";
96		rockchip,card-name = "rockchip,rk3308-vad";
97		rockchip,codec-hp-det;
98		rockchip,cpu = <&i2s_8ch_2>;
99		rockchip,codec = <&acodec>, <&vad>;
100	};
101
102	vdd_log: vdd_core: vdd-core {
103		compatible = "pwm-regulator";
104		pwms = <&pwm0 0 5000 1>;
105		regulator-name = "vdd_core";
106		regulator-min-microvolt = <827000>;
107		regulator-max-microvolt = <1340000>;
108		regulator-init-microvolt = <1015000>;
109		regulator-always-on;
110		regulator-boot-on;
111		regulator-settling-time-up-us = <250>;
112		status = "okay";
113	};
114
115	vdd_1v0: vdd-1v0 {
116		compatible = "regulator-fixed";
117		regulator-name = "vdd_1v0";
118		regulator-always-on;
119		regulator-boot-on;
120		regulator-min-microvolt = <1000000>;
121		regulator-max-microvolt = <1000000>;
122	};
123
124	vcc_1v8: vcc-1v8 {
125		compatible = "regulator-fixed";
126		regulator-name = "vcc_1v8";
127		regulator-always-on;
128		regulator-boot-on;
129		regulator-min-microvolt = <1800000>;
130		regulator-max-microvolt = <1800000>;
131		vin-supply = <&vcc_io>;
132	};
133
134	vcc_ddr: vcc-ddr {
135		compatible = "regulator-fixed";
136		regulator-name = "vcc_ddr";
137		regulator-always-on;
138		regulator-boot-on;
139		regulator-min-microvolt = <1500000>;
140		regulator-max-microvolt = <1500000>;
141	};
142
143	vccio_sdio: vcc_io: vcc-io {
144		compatible = "regulator-fixed";
145		regulator-name = "vcc_io";
146		regulator-always-on;
147		regulator-boot-on;
148		regulator-min-microvolt = <3300000>;
149		regulator-max-microvolt = <3300000>;
150	};
151
152	wireless-bluetooth {
153		compatible = "bluetooth-platdata";
154		uart_rts_gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>;
155		pinctrl-names = "default", "rts_gpio";
156		pinctrl-0 = <&uart4_rts>;
157		pinctrl-1 = <&uart4_rts_gpio>;
158		BT,power_gpio    = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
159		BT,wake_host_irq = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
160		status = "okay";
161	};
162
163	wireless-wlan {
164		compatible = "wlan-platdata";
165		rockchip,grf = <&grf>;
166		clocks = <&cru SCLK_WIFI>;
167		clock-names = "clk_wifi";
168		ref-clock-frequency = <24000000>;
169		pinctrl-names = "default";
170		pinctrl-0 = <&wifi_wake_host>, <&rtc_32k>;
171		wifi_chip_type = "rtl8723ds";
172		WIFI,host_wake_irq = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
173		status = "okay";
174	};
175};
176
177&acodec {
178	status = "okay";
179	rockchip,micbias1;
180	rockchip,micbias2;
181	rockchip,no-deep-low-power;
182	rockchip,no-hp-det;
183	rockchip,loopback-grp = <1>;
184	spk-ctl-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
185	/* ADC5-8 for 4ch capture, loopback to ADC3-4 */
186	rockchip,adc-grps-route = <2 3 1 0>;
187};
188
189&cpu0 {
190	cpu-supply = <&vdd_core>;
191};
192
193&dmc {
194	center-supply = <&vdd_log>;
195	status = "okay";
196};
197
198&fiq_debugger {
199	status = "okay";
200};
201
202&i2s_8ch_2 {
203	status = "okay";
204};
205
206&io_domains {
207	status = "okay";
208
209	vccio0-supply = <&vcc_io>;
210	vccio1-supply = <&vcc_io>;
211	vccio2-supply = <&vcc_1v8>;
212	vccio3-supply = <&vcc_io>;
213	vccio4-supply = <&vccio_sdio>;
214	vccio5-supply = <&vcc_io>;
215};
216
217&nandc {
218	status = "okay";
219};
220
221&pinctrl {
222	sdio-pwrseq {
223		wifi_enable_h: wifi-enable-h {
224			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
225		};
226	};
227
228	wireless-wlan {
229		wifi_wake_host: wifi-wake-host {
230			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
231		};
232	};
233};
234
235&pwm0 {
236	status = "okay";
237	pinctrl-names = "active";
238	pinctrl-0 = <&pwm0_pin_pull_down>;
239};
240
241&ramoops {
242	reg = <0x0 0x30000 0x0 0x20000>;
243	record-size = <0x00000>;
244	console-size = <0x20000>;
245};
246
247&rockchip_suspend {
248	rockchip,pwm-regulator-config = <
249		(0
250		| RKPM_PWM_REGULATOR
251		)
252	>;
253
254	status = "okay";
255};
256
257&saradc {
258	status = "okay";
259	vref-supply = <&vcc_1v8>;
260};
261
262&sdio {
263	max-frequency = <110000000>;
264	bus-width = <4>;
265	cap-sd-highspeed;
266	no-sd;
267	no-mmc;
268	ignore-pm-notify;
269	keep-power-in-suspend;
270	non-removable;
271	mmc-pwrseq = <&sdio_pwrseq>;
272	sd-uhs-sdr104;
273	status = "okay";
274};
275
276&sfc {
277	status = "okay";
278};
279
280&tsadc {
281	rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
282	rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
283	status = "okay";
284};
285
286&u2phy {
287	status = "okay";
288	u2phy_otg: otg-port {
289		status = "okay";
290	};
291};
292
293&usb20_otg {
294	status = "okay";
295};
296
297&vad {
298	status = "disabled";
299	rockchip,audio-src = <&i2s_8ch_2>;
300	rockchip,det-channel = <0>;
301	rockchip,mode = <1>;
302	rockchip,buffer-time-ms = <500>;
303	#sound-dai-cells = <0>;
304};
305