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