xref: /openbmc/u-boot/arch/arm/dts/rk3288-evb.dtsi (revision 17fa0326)
1/*
2 * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3 *
4 * SPDX-License-Identifier:     GPL-2.0+ X11
5 */
6
7#include "rk3288.dtsi"
8
9/ {
10	memory {
11		reg = <0 0x80000000>;
12	};
13
14	keys: gpio-keys {
15		compatible = "gpio-keys";
16		#address-cells = <1>;
17		#size-cells = <0>;
18
19		button@0 {
20			gpio-key,wakeup = <1>;
21			gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
22			label = "GPIO Power";
23			linux,code = <116>;
24			pinctrl-names = "default";
25			pinctrl-0 = <&pwr_key>;
26		};
27	};
28
29	vcc_sys: vsys-regulator {
30		compatible = "regulator-fixed";
31		regulator-name = "vcc_sys";
32		regulator-min-microvolt = <5000000>;
33		regulator-max-microvolt = <5000000>;
34		regulator-always-on;
35		regulator-boot-on;
36	};
37
38	vcc_flash: flash-regulator {
39		compatible = "regulator-fixed";
40		regulator-name = "vcc_flash";
41		regulator-min-microvolt = <1800000>;
42		regulator-max-microvolt = <1800000>;
43		vin-supply = <&vcc_io>;
44	};
45
46	vcc_5v: usb-regulator {
47		compatible = "regulator-fixed";
48		regulator-name = "vcc_5v";
49		regulator-min-microvolt = <5000000>;
50		regulator-max-microvolt = <5000000>;
51		regulator-always-on;
52		regulator-boot-on;
53		vin-supply = <&vcc_sys>;
54	};
55
56	vcc_host_5v: usb-host-regulator {
57		compatible = "regulator-fixed";
58		enable-active-high;
59		gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
60		pinctrl-names = "default";
61		pinctrl-0 = <&host_vbus_drv>;
62		regulator-name = "vcc_host_5v";
63		regulator-min-microvolt = <5000000>;
64		regulator-max-microvolt = <5000000>;
65		regulator-always-on;
66		vin-supply = <&vcc_5v>;
67	};
68
69	vcc_otg_5v: usb-otg-regulator {
70		compatible = "regulator-fixed";
71		enable-active-high;
72		gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
73		pinctrl-names = "default";
74		pinctrl-0 = <&otg_vbus_drv>;
75		regulator-name = "vcc_otg_5v";
76		regulator-min-microvolt = <5000000>;
77		regulator-max-microvolt = <5000000>;
78		regulator-always-on;
79		vin-supply = <&vcc_5v>;
80	};
81};
82
83&cpu0 {
84	cpu0-supply = <&vdd_cpu>;
85};
86
87&emmc {
88	broken-cd;
89	bus-width = <8>;
90	cap-mmc-highspeed;
91	disable-wp;
92	non-removable;
93	num-slots = <1>;
94	pinctrl-names = "default";
95	pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
96	vmmc-supply = <&vcc_io>;
97	vqmmc-supply = <&vcc_flash>;
98	status = "okay";
99};
100
101&hdmi {
102	ddc-i2c-bus = <&i2c5>;
103	status = "okay";
104};
105
106&i2c0 {
107	clock-frequency = <400000>;
108	status = "okay";
109
110	vdd_cpu: syr827@40 {
111		compatible = "silergy,syr827";
112		fcs,suspend-voltage-selector = <1>;
113		reg = <0x40>;
114		regulator-name = "vdd_cpu";
115		regulator-min-microvolt = <850000>;
116		regulator-max-microvolt = <1350000>;
117		regulator-always-on;
118		regulator-boot-on;
119		vin-supply = <&vcc_sys>;
120	};
121
122	vdd_gpu: syr828@41 {
123		compatible = "silergy,syr828";
124		fcs,suspend-voltage-selector = <1>;
125		reg = <0x41>;
126		regulator-name = "vdd_gpu";
127		regulator-min-microvolt = <850000>;
128		regulator-max-microvolt = <1350000>;
129		regulator-always-on;
130		vin-supply = <&vcc_sys>;
131	};
132
133	hym8563: hym8563@51 {
134		compatible = "haoyu,hym8563";
135		reg = <0x51>;
136		#clock-cells = <0>;
137		clock-frequency = <32768>;
138		clock-output-names = "xin32k";
139		interrupt-parent = <&gpio7>;
140		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
141		pinctrl-names = "default";
142		pinctrl-0 = <&rtc_int>;
143	};
144
145	act8846: act8846@5a {
146		compatible = "active-semi,act8846";
147		reg = <0x5a>;
148		pinctrl-names = "default";
149		pinctrl-0 = <&pwr_hold>;
150		system-power-controller;
151
152		regulators {
153			vcc_ddr: REG1 {
154				regulator-name = "vcc_ddr";
155				regulator-min-microvolt = <1200000>;
156				regulator-max-microvolt = <1200000>;
157				regulator-always-on;
158			};
159
160			vcc_io: REG2 {
161				regulator-name = "vcc_io";
162				regulator-min-microvolt = <3300000>;
163				regulator-max-microvolt = <3300000>;
164				regulator-always-on;
165			};
166
167			vdd_log: REG3 {
168				regulator-name = "vdd_log";
169				regulator-min-microvolt = <1100000>;
170				regulator-max-microvolt = <1100000>;
171				regulator-always-on;
172			};
173
174			vcc_20: REG4 {
175				regulator-name = "vcc_20";
176				regulator-min-microvolt = <2000000>;
177				regulator-max-microvolt = <2000000>;
178				regulator-always-on;
179			};
180
181			vccio_sd: REG5 {
182				regulator-name = "vccio_sd";
183				regulator-min-microvolt = <3300000>;
184				regulator-max-microvolt = <3300000>;
185				regulator-always-on;
186			};
187
188			vdd10_lcd: REG6 {
189				regulator-name = "vdd10_lcd";
190				regulator-min-microvolt = <1000000>;
191				regulator-max-microvolt = <1000000>;
192				regulator-always-on;
193			};
194
195			vcca_codec: REG7 {
196				regulator-name = "vcca_codec";
197				regulator-min-microvolt = <3300000>;
198				regulator-max-microvolt = <3300000>;
199			};
200
201			vcc_tp: REG8 {
202				regulator-name = "vcca_33";
203				regulator-min-microvolt = <3300000>;
204				regulator-max-microvolt = <3300000>;
205			};
206
207			vccio_pmu: REG9 {
208				regulator-name = "vccio_pmu";
209				regulator-min-microvolt = <3300000>;
210				regulator-max-microvolt = <3300000>;
211			};
212
213			vdd_10: REG10 {
214				regulator-name = "vdd_10";
215				regulator-min-microvolt = <1000000>;
216				regulator-max-microvolt = <1000000>;
217				regulator-always-on;
218			};
219
220			vcc_18: REG11 {
221				regulator-name = "vcc_18";
222				regulator-min-microvolt = <1800000>;
223				regulator-max-microvolt = <1800000>;
224				regulator-always-on;
225			};
226
227			vcc18_lcd: REG12 {
228				regulator-name = "vcc18_lcd";
229				regulator-min-microvolt = <1800000>;
230				regulator-max-microvolt = <1800000>;
231				regulator-always-on;
232			};
233		};
234	};
235};
236
237&i2c1 {
238	status = "okay";
239};
240
241&i2c2 {
242	status = "okay";
243};
244
245&i2c4 {
246	status = "okay";
247};
248
249&i2c5 {
250	status = "okay";
251};
252
253&pinctrl {
254	pcfg_output_high: pcfg-output-high {
255		output-high;
256	};
257
258	pcfg_output_low: pcfg-output-low {
259		output-low;
260	};
261
262	act8846 {
263		pwr_hold: pwr-hold {
264			rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_output_high>;
265		};
266	};
267
268	hym8563 {
269		rtc_int: rtc-int {
270			rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>;
271		};
272	};
273
274	keys {
275		pwr_key: pwr-key {
276			rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
277		};
278	};
279
280	sdmmc {
281		sdmmc_pwr: sdmmc-pwr {
282			rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
283		};
284	};
285
286	usb_host {
287		host_vbus_drv: host-vbus-drv {
288			rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
289		};
290	};
291
292	usb_otg {
293		otg_vbus_drv: otg-vbus-drv {
294			rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
295		};
296	};
297};
298
299&saradc {
300	vref-supply = <&vcc_18>;
301	status = "okay";
302};
303
304&sdio0 {
305	broken-cd;
306	bus-width = <4>;
307	disable-wp;
308	non-removable;
309	num-slots = <1>;
310	pinctrl-names = "default";
311	pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
312	vmmc-supply = <&vcc_18>;
313	status = "disabled";
314};
315
316&sdmmc {
317	bus-width = <4>;
318	cap-mmc-highspeed;
319	cap-sd-highspeed;
320	card-detect-delay = <200>;
321	disable-wp;
322	num-slots = <1>;
323	pinctrl-names = "default";
324	pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
325	vmmc-supply = <&vccio_sd>;
326	status = "okay";
327};
328
329&spi0 {
330	pinctrl-names = "default";
331	pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
332	status = "okay";
333};
334
335&uart0 {
336	pinctrl-names = "default";
337	pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
338	status = "okay";
339};
340
341&uart1 {
342	status = "okay";
343};
344
345&uart2 {
346	status = "okay";
347};
348
349&uart3 {
350	status = "okay";
351};
352
353&usb_host1 {
354	status = "okay";
355};
356
357&usb_otg {
358	status = "okay";
359};
360
361&vopb {
362	status = "okay";
363};
364
365&vopb_mmu {
366	status = "okay";
367};
368
369&vopl {
370	status = "okay";
371};
372
373&vopl_mmu {
374	status = "okay";
375};
376
377&wdt {
378	status = "okay";
379};
380