xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3229-gva.dts (revision a2815bda5f240d3db7fe7ca8e5f9aecc847ff97c)
1b4a54859SKever Yang/*
2b4a54859SKever Yang * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
3b4a54859SKever Yang *
4b4a54859SKever Yang * SPDX-License-Identifier:     GPL-2.0+ X11
5b4a54859SKever Yang */
6b4a54859SKever Yang
7b4a54859SKever Yang/dts-v1/;
8b4a54859SKever Yang
9b4a54859SKever Yang#include "rk322x.dtsi"
10*a2815bdaSJoseph Chen#include "rk322x-u-boot.dtsi"
11b4a54859SKever Yang#include <dt-bindings/input/input.h>
12b4a54859SKever Yang
13b4a54859SKever Yang/ {
14b4a54859SKever Yang	model = "RK3229 GVA/Android Things Board V1.0";
15b4a54859SKever Yang	compatible = "rockchip,rk3229-gva", "rockchip,rk3229";
16b4a54859SKever Yang
17c9d8141cSCody Xie	chosen {
18c9d8141cSCody Xie		stdout-path = &uart2;
19c9d8141cSCody Xie	};
20c9d8141cSCody Xie
21b4a54859SKever Yang	memory@60000000 {
22b4a54859SKever Yang		device_type = "memory";
23b4a54859SKever Yang		reg = <0x60000000 0x40000000>;
24b4a54859SKever Yang	};
25b4a54859SKever Yang
26b4a54859SKever Yang	sdio_pwrseq: sdio-pwrseq {
27b4a54859SKever Yang		compatible = "mmc-pwrseq-simple";
28b4a54859SKever Yang		clocks = <&rk805 1>;
29b4a54859SKever Yang		clock-names = "ext_clock";
30b4a54859SKever Yang		pinctrl-names = "default";
31b4a54859SKever Yang		pinctrl-0 = <&wifi_enable_h>;
32b4a54859SKever Yang
33b4a54859SKever Yang		/*
34b4a54859SKever Yang		 * On the module itself this is one of these (depending
35b4a54859SKever Yang		 * on the actual card populated):
36b4a54859SKever Yang		 * - SDIO_RESET_L_WL_REG_ON
37b4a54859SKever Yang		 * - PDN (power down when low)
38b4a54859SKever Yang		 */
39b4a54859SKever Yang		reset-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>; /* GPIO2_D2 */
40b4a54859SKever Yang	};
41b4a54859SKever Yang
42b4a54859SKever Yang	vcc_host: vcc-host-regulator {
43b4a54859SKever Yang		compatible = "regulator-fixed";
44b4a54859SKever Yang		enable-active-high;
45b4a54859SKever Yang		gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>;
46b4a54859SKever Yang		pinctrl-names = "default";
47b4a54859SKever Yang		pinctrl-0 = <&host_vbus_drv>;
48b4a54859SKever Yang		regulator-name = "vcc_host";
49b4a54859SKever Yang		regulator-always-on;
50b4a54859SKever Yang		regulator-boot-on;
51b4a54859SKever Yang	};
52b4a54859SKever Yang
53b4a54859SKever Yang	wireless-bluetooth {
54b4a54859SKever Yang		compatible = "bluetooth-platdata";
55b4a54859SKever Yang		clocks = <&rk805 1>;
56b4a54859SKever Yang		clock-names = "ext_clock";
57b4a54859SKever Yang		uart_rts_gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
58b4a54859SKever Yang		pinctrl-names = "default", "rts_gpio";
59b4a54859SKever Yang		BT,reset_gpio    = <&gpio2 29 GPIO_ACTIVE_HIGH>;
60b4a54859SKever Yang		BT,wake_gpio     = <&gpio3 27 GPIO_ACTIVE_HIGH>;
61b4a54859SKever Yang		BT,wake_host_irq = <&gpio3 26 GPIO_ACTIVE_HIGH>;
62b4a54859SKever Yang		status = "okay";
63b4a54859SKever Yang	};
64b4a54859SKever Yang
65b4a54859SKever Yang	wireless-wlan {
66b4a54859SKever Yang		compatible = "wlan-platdata";
67b4a54859SKever Yang		rockchip,grf = <&grf>;
68b4a54859SKever Yang		wifi_chip_type = "ap6255";
69b4a54859SKever Yang		WIFI,host_wake_irq = <&gpio0 28 GPIO_ACTIVE_HIGH>;
70b4a54859SKever Yang		status = "okay";
71b4a54859SKever Yang	};
72b4a54859SKever Yang
73b4a54859SKever Yang	gpio_keys {
74b4a54859SKever Yang		compatible = "gpio-keys";
75b4a54859SKever Yang		#address-cells = <1>;
76b4a54859SKever Yang		#size-cells = <0>;
77b4a54859SKever Yang		autorepeat;
78b4a54859SKever Yang
79b4a54859SKever Yang		pinctrl-names = "default";
80b4a54859SKever Yang		pinctrl-0 = <&pwr_key>;
81b4a54859SKever Yang
82b4a54859SKever Yang		power_key: power-key {
83b4a54859SKever Yang			label = "GPIO Key Power";
84b4a54859SKever Yang			gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
85b4a54859SKever Yang			linux,code = <116>;
86b4a54859SKever Yang			debounce-interval = <100>;
87b4a54859SKever Yang			wakeup-source;
88b4a54859SKever Yang		};
89b4a54859SKever Yang	};
90b4a54859SKever Yang};
91b4a54859SKever Yang
92b4a54859SKever Yang
93b4a54859SKever Yang&i2c0 {
94b4a54859SKever Yang	status = "okay";
95b4a54859SKever Yang
96b4a54859SKever Yang	rk805: rk805@18 {
97b4a54859SKever Yang		compatible = "rockchip,rk805";
98b4a54859SKever Yang		status = "okay";
99b4a54859SKever Yang		reg = <0x18>;
100b4a54859SKever Yang		interrupt-parent = <&gpio1>;
101b4a54859SKever Yang		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
102b4a54859SKever Yang		pinctrl-names = "default";
103b4a54859SKever Yang		pinctrl-0 = <&pmic_int_l>;
104b4a54859SKever Yang		rockchip,system-power-controller;
105b4a54859SKever Yang		wakeup-source;
106b4a54859SKever Yang		gpio-controller;
107b4a54859SKever Yang		#gpio-cells = <2>;
108b4a54859SKever Yang		#clock-cells = <1>;
109b4a54859SKever Yang		clock-output-names = "xin32k", "rk805-clkout2";
110b4a54859SKever Yang
111b4a54859SKever Yang		rtc {
112b4a54859SKever Yang			status = "okay";
113b4a54859SKever Yang		};
114b4a54859SKever Yang
115b4a54859SKever Yang		pwrkey {
116b4a54859SKever Yang			status = "okay";
117b4a54859SKever Yang		};
118b4a54859SKever Yang
119b4a54859SKever Yang		gpio {
120b4a54859SKever Yang			status = "okay";
121b4a54859SKever Yang		};
122b4a54859SKever Yang
123b4a54859SKever Yang		regulators {
124b4a54859SKever Yang			compatible = "rk805-regulator";
125b4a54859SKever Yang			status = "okay";
126b4a54859SKever Yang			#address-cells = <1>;
127b4a54859SKever Yang			#size-cells = <0>;
128b4a54859SKever Yang
129b4a54859SKever Yang			vdd_arm: RK805_DCDC1@0 {
130b4a54859SKever Yang				regulator-compatible = "RK805_DCDC1";
131b4a54859SKever Yang				regulator-name = "vdd_arm";
132b4a54859SKever Yang				regulator-min-microvolt = <712500>;
133b4a54859SKever Yang				regulator-max-microvolt = <1450000>;
134b4a54859SKever Yang				regulator-initial-mode = <0x1>;
135b4a54859SKever Yang				regulator-ramp-delay = <12500>;
136b4a54859SKever Yang				regulator-boot-on;
137b4a54859SKever Yang				regulator-always-on;
138b4a54859SKever Yang				regulator-state-mem {
139b4a54859SKever Yang					regulator-mode = <0x2>;
140b4a54859SKever Yang					regulator-on-in-suspend;
141b4a54859SKever Yang					regulator-suspend-microvolt = <950000>;
142b4a54859SKever Yang				};
143b4a54859SKever Yang			};
144b4a54859SKever Yang
145b4a54859SKever Yang			vdd_logic: RK805_DCDC2@1 {
146b4a54859SKever Yang				regulator-compatible = "RK805_DCDC2";
147b4a54859SKever Yang				regulator-name = "vdd_logic";
148b4a54859SKever Yang				regulator-min-microvolt = <712500>;
149b4a54859SKever Yang				regulator-max-microvolt = <1450000>;
150b4a54859SKever Yang				regulator-initial-mode = <0x1>;
151b4a54859SKever Yang				regulator-ramp-delay = <12500>;
152b4a54859SKever Yang				regulator-boot-on;
153b4a54859SKever Yang				regulator-always-on;
154b4a54859SKever Yang				regulator-state-mem {
155b4a54859SKever Yang					regulator-mode = <0x2>;
156b4a54859SKever Yang					regulator-on-in-suspend;
157b4a54859SKever Yang					regulator-suspend-microvolt = <1000000>;
158b4a54859SKever Yang				};
159b4a54859SKever Yang			};
160b4a54859SKever Yang
161b4a54859SKever Yang			vcc_ddr: RK805_DCDC3@2 {
162b4a54859SKever Yang				regulator-compatible = "RK805_DCDC3";
163b4a54859SKever Yang				regulator-name = "vcc_ddr";
164b4a54859SKever Yang				regulator-initial-mode = <0x1>;
165b4a54859SKever Yang				regulator-boot-on;
166b4a54859SKever Yang				regulator-always-on;
167b4a54859SKever Yang				regulator-state-mem {
168b4a54859SKever Yang					regulator-mode = <0x2>;
169b4a54859SKever Yang					regulator-on-in-suspend;
170b4a54859SKever Yang				};
171b4a54859SKever Yang			};
172b4a54859SKever Yang
173b4a54859SKever Yang			vcc_io: RK805_DCDC4@3 {
174b4a54859SKever Yang				regulator-compatible = "RK805_DCDC4";
175b4a54859SKever Yang				regulator-name = "vcc_io";
176b4a54859SKever Yang				regulator-min-microvolt = <3300000>;
177b4a54859SKever Yang				regulator-max-microvolt = <3300000>;
178b4a54859SKever Yang				regulator-initial-mode = <0x1>;
179b4a54859SKever Yang				regulator-boot-on;
180b4a54859SKever Yang				regulator-always-on;
181b4a54859SKever Yang				regulator-state-mem {
182b4a54859SKever Yang					regulator-mode = <0x2>;
183b4a54859SKever Yang					regulator-on-in-suspend;
184b4a54859SKever Yang					regulator-suspend-microvolt = <3300000>;
185b4a54859SKever Yang				};
186b4a54859SKever Yang			};
187b4a54859SKever Yang
188b4a54859SKever Yang			vcc_18: RK805_LDO1@4 {
189b4a54859SKever Yang				regulator-compatible = "RK805_LDO1";
190b4a54859SKever Yang				regulator-name = "vcc_18";
191b4a54859SKever Yang				regulator-min-microvolt = <1800000>;
192b4a54859SKever Yang				regulator-max-microvolt = <1800000>;
193b4a54859SKever Yang				regulator-boot-on;
194b4a54859SKever Yang				regulator-always-on;
195b4a54859SKever Yang				regulator-state-mem {
196b4a54859SKever Yang					regulator-on-in-suspend;
197b4a54859SKever Yang					regulator-suspend-microvolt = <1800000>;
198b4a54859SKever Yang				};
199b4a54859SKever Yang			};
200b4a54859SKever Yang
201b4a54859SKever Yang			vcc_18emmc: RK805_LDO2@5 {
202b4a54859SKever Yang				regulator-compatible = "RK805_LDO2";
203b4a54859SKever Yang				regulator-name = "vcc_18emmc";
204b4a54859SKever Yang				regulator-min-microvolt = <1800000>;
205b4a54859SKever Yang				regulator-max-microvolt = <1800000>;
206b4a54859SKever Yang				regulator-boot-on;
207b4a54859SKever Yang				regulator-always-on;
208b4a54859SKever Yang				regulator-state-mem {
209b4a54859SKever Yang					regulator-on-in-suspend;
210b4a54859SKever Yang					regulator-suspend-microvolt = <1800000>;
211b4a54859SKever Yang				};
212b4a54859SKever Yang			};
213b4a54859SKever Yang
214b4a54859SKever Yang			vdd_10: RK805_LDO3@6 {
215b4a54859SKever Yang				regulator-compatible = "RK805_LDO3";
216b4a54859SKever Yang				regulator-name = "vdd_10";
217b4a54859SKever Yang				regulator-min-microvolt = <1000000>;
218b4a54859SKever Yang				regulator-max-microvolt = <1000000>;
219b4a54859SKever Yang				regulator-boot-on;
220b4a54859SKever Yang				regulator-always-on;
221b4a54859SKever Yang				regulator-state-mem {
222b4a54859SKever Yang					regulator-on-in-suspend;
223b4a54859SKever Yang					regulator-suspend-microvolt = <1000000>;
224b4a54859SKever Yang				};
225b4a54859SKever Yang			};
226b4a54859SKever Yang		};
227b4a54859SKever Yang	};
2286e7a7f70SShunqing Chen
2296e7a7f70SShunqing Chen	cw201x: cw2015@62 {
2306e7a7f70SShunqing Chen		compatible = "cw201x";
2316e7a7f70SShunqing Chen		status = "okay";
2326e7a7f70SShunqing Chen		reg = <0x62>;
2336e7a7f70SShunqing Chen		bat_config_info = <0x15 0x42 0x60 0x59 0x52 0x58 0x4D 0x48
2346e7a7f70SShunqing Chen				   0x48 0x44 0x44 0x46 0x49 0x48 0x32 0x24
2356e7a7f70SShunqing Chen				   0x20 0x17 0x13 0x0F 0x19 0x3E 0x51 0x45
2366e7a7f70SShunqing Chen				   0x08 0x76 0x0B 0x85 0x0E 0x1C 0x2E 0x3E
2376e7a7f70SShunqing Chen				   0x4D 0x52 0x52 0x57 0x3D 0x1B 0x6A 0x2D
2386e7a7f70SShunqing Chen				   0x25 0x43 0x52 0x87 0x8F 0x91 0x94 0x52
2396e7a7f70SShunqing Chen				   0x82 0x8C 0x92 0x96 0xFF 0x7B 0xBB 0xCB
2406e7a7f70SShunqing Chen				   0x2F 0x7D 0x72 0xA5 0xB5 0xC1 0x46 0xAE>;
2416e7a7f70SShunqing Chen		support_dc_adp = <1>;
2426e7a7f70SShunqing Chen		dc_det_gpio = <88>;
2436e7a7f70SShunqing Chen		dc_det_flag = <1>;
2446e7a7f70SShunqing Chen		hw_id_check = <1>;
2456e7a7f70SShunqing Chen		hw_id0_gpio = <86>;
2466e7a7f70SShunqing Chen		hw_id1_gpio = <87>;
2476e7a7f70SShunqing Chen	};
248b4a54859SKever Yang};
249b4a54859SKever Yang
250b4a54859SKever Yang&cpu0 {
251b4a54859SKever Yang	cpu-supply = <&vdd_arm>;
252b4a54859SKever Yang};
253b4a54859SKever Yang
254b4a54859SKever Yang&pinctrl {
255b4a54859SKever Yang	pmic {
256b4a54859SKever Yang		pmic_int_l: pmic-int-l {
257b4a54859SKever Yang			rockchip,pins = <1 12 RK_FUNC_GPIO &pcfg_pull_up>; /* gpio1_b4 */
258b4a54859SKever Yang		};
259b4a54859SKever Yang	};
260b4a54859SKever Yang
261b4a54859SKever Yang	sdio-pwrseq {
262b4a54859SKever Yang		wifi_enable_h: wifi-enable-h {
263b4a54859SKever Yang			rockchip,pins = <2 26 RK_FUNC_GPIO &pcfg_pull_none>;
264b4a54859SKever Yang		};
265b4a54859SKever Yang	};
266b4a54859SKever Yang
267b4a54859SKever Yang	usb {
268b4a54859SKever Yang		host_vbus_drv: host-vbus-drv {
269b4a54859SKever Yang			rockchip,pins = <3 20 RK_FUNC_GPIO &pcfg_pull_none>;
270b4a54859SKever Yang		};
271b4a54859SKever Yang	};
272b4a54859SKever Yang
273b4a54859SKever Yang	keys {
274b4a54859SKever Yang		pwr_key: pwr-key {
275b4a54859SKever Yang			rockchip,pins = <3 23 RK_FUNC_GPIO &pcfg_pull_up>;
276b4a54859SKever Yang		};
277b4a54859SKever Yang	};
278b4a54859SKever Yang};
279b4a54859SKever Yang
280b4a54859SKever Yang&dmc {
281b4a54859SKever Yang	rockchip,pctl-timing = <0x96 0xC8 0x1F3 0xF 0x8000004D 0x4 0x4E 0x6 0x3
282b4a54859SKever Yang		0x0 0x6 0x5 0xC 0x10 0x6 0x4 0x4
283b4a54859SKever Yang		0x5 0x4 0x200 0x3 0xA 0x40 0x0 0x1
284b4a54859SKever Yang		0x5 0x5 0x3 0xC 0x1E 0x100 0x0 0x4
285b4a54859SKever Yang		0x0 0x924>;
286b4a54859SKever Yang	rockchip,phy-timing = <0x220 0x1 0x0 0x0 0x0 0x4 0x60>;
287b4a54859SKever Yang	rockchip,sdram-params = <0x428B188 0x0 0x21 0x472 0x15
288b4a54859SKever Yang		0 300 3 0 120>;
289b4a54859SKever Yang};
290b4a54859SKever Yang
291b4a54859SKever Yang&emmc {
292b4a54859SKever Yang	status = "okay";
293b4a54859SKever Yang};
294b4a54859SKever Yang
295b4a54859SKever Yang&uart2 {
296b4a54859SKever Yang	status = "okay";
297b4a54859SKever Yang};
298b4a54859SKever Yang
2998f4f34a3SWilliam Wu&u2phy0 {
3008f4f34a3SWilliam Wu	status = "okay";
3018f4f34a3SWilliam Wu
3028f4f34a3SWilliam Wu	u2phy0_otg: otg-port {
3038f4f34a3SWilliam Wu		status = "okay";
3048f4f34a3SWilliam Wu	};
3058f4f34a3SWilliam Wu
3068f4f34a3SWilliam Wu	u2phy0_host: host-port {
3078f4f34a3SWilliam Wu		status = "okay";
3088f4f34a3SWilliam Wu	};
3098f4f34a3SWilliam Wu};
3108f4f34a3SWilliam Wu
311b4a54859SKever Yang&usb20_otg {
312b4a54859SKever Yang       status = "okay";
313b4a54859SKever Yang};
314