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