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