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