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