]> git.ipfire.org Git - thirdparty/u-boot.git/blob - arch/arm/dts/rk3188-radxarock.dts
Merge git://git.denx.de/u-boot-sunxi
[thirdparty/u-boot.git] / arch / arm / dts / rk3188-radxarock.dts
1 /*
2 * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
3 *
4 * SPDX-License-Identifier: GPL-2.0+ or X11
5 */
6
7 /dts-v1/;
8 #include <dt-bindings/input/input.h>
9 #include "rk3188.dtsi"
10 #include "rk3188-radxarock-u-boot.dtsi"
11
12 / {
13 model = "Radxa Rock";
14 compatible = "radxa,rock", "rockchip,rk3188";
15
16 chosen {
17 /* stdout-path = &uart2; */
18 stdout-path = "serial2:115200n8";
19 };
20
21 config {
22 u-boot,dm-pre-reloc;
23 u-boot,boot-led = "rock:red:power";
24 };
25
26 memory {
27 device_type = "memory";
28 reg = <0x60000000 0x80000000>;
29 };
30
31 gpio-keys {
32 compatible = "gpio-keys";
33 autorepeat;
34
35 power {
36 gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
37 linux,code = <KEY_POWER>;
38 label = "GPIO Key Power";
39 linux,input-type = <1>;
40 wakeup-source;
41 debounce-interval = <100>;
42 };
43 };
44
45 gpio-leds {
46 compatible = "gpio-leds";
47
48 green {
49 label = "rock:green:user1";
50 gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
51 default-state = "off";
52 };
53
54 blue {
55 label = "rock:blue:user2";
56 gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
57 default-state = "off";
58 };
59
60 sleep {
61 label = "rock:red:power";
62 gpios = <&gpio0 15 0>;
63 default-state = "off";
64 };
65 };
66
67 sound {
68 compatible = "simple-audio-card";
69 simple-audio-card,name = "SPDIF";
70
71 simple-audio-card,dai-link@1 { /* S/PDIF - S/PDIF */
72 cpu { sound-dai = <&spdif>; };
73 codec { sound-dai = <&spdif_out>; };
74 };
75 };
76
77 spdif_out: spdif-out {
78 compatible = "linux,spdif-dit";
79 #sound-dai-cells = <0>;
80 };
81
82 ir_recv: gpio-ir-receiver {
83 compatible = "gpio-ir-receiver";
84 gpios = <&gpio0 10 1>;
85 pinctrl-names = "default";
86 pinctrl-0 = <&ir_recv_pin>;
87 };
88
89 vcc_otg: usb-otg-regulator {
90 compatible = "regulator-fixed";
91 enable-active-high;
92 gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
93 pinctrl-names = "default";
94 pinctrl-0 = <&otg_vbus_drv>;
95 regulator-name = "otg-vbus";
96 regulator-min-microvolt = <5000000>;
97 regulator-max-microvolt = <5000000>;
98 regulator-always-on;
99 regulator-boot-on;
100 };
101
102 vcc_sd0: sdmmc-regulator {
103 compatible = "regulator-fixed";
104 regulator-name = "sdmmc-supply";
105 regulator-min-microvolt = <3300000>;
106 regulator-max-microvolt = <3300000>;
107 gpio = <&gpio3 1 GPIO_ACTIVE_LOW>;
108 startup-delay-us = <100000>;
109 vin-supply = <&vcc_io>;
110 };
111
112 vcc_host: usb-host-regulator {
113 compatible = "regulator-fixed";
114 enable-active-high;
115 gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>;
116 pinctrl-names = "default";
117 pinctrl-0 = <&host_vbus_drv>;
118 regulator-name = "host-pwr";
119 regulator-min-microvolt = <5000000>;
120 regulator-max-microvolt = <5000000>;
121 regulator-always-on;
122 regulator-boot-on;
123 };
124
125 vsys: vsys-regulator {
126 compatible = "regulator-fixed";
127 regulator-name = "vsys";
128 regulator-min-microvolt = <5000000>;
129 regulator-max-microvolt = <5000000>;
130 regulator-boot-on;
131 };
132 };
133
134 &dmc {
135 rockchip,pctl-timing = <0x12c 0xc8 0x1f4 0x1e 0x4e 0x4 0x69 0x6
136 0x3 0x0 0x6 0x5 0xc 0x10 0x6 0x4
137 0x4 0x5 0x4 0x200 0x3 0xa 0x40 0x0
138 0x1 0x5 0x5 0x3 0xc 0x1e 0x100 0x0
139 0x4 0x0>;
140 rockchip,phy-timing = <0x208c6690 0x690878 0x10022a00
141 0x220 0x40 0x0 0x0>;
142 rockchip,sdram-params = <0x24716310 0 2 300000000 3 9 0>;
143 };
144
145 &emac {
146 status = "okay";
147
148 pinctrl-names = "default";
149 pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
150
151 phy = <&phy0>;
152 phy-supply = <&vcc_rmii>;
153
154 phy0: ethernet-phy@0 {
155 reg = <0>;
156 interrupt-parent = <&gpio3>;
157 interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
158 };
159 };
160
161 &cpu0 {
162 cpu0-supply = <&vdd_arm>;
163 };
164
165 &i2c1 {
166 status = "okay";
167 clock-frequency = <400000>;
168
169 rtc@51 {
170 compatible = "haoyu,hym8563";
171 reg = <0x51>;
172 interrupt-parent = <&gpio0>;
173 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
174 pinctrl-names = "default";
175 pinctrl-0 = <&rtc_int>;
176 #clock-cells = <0>;
177 clock-output-names = "xin32k";
178 };
179
180 act8846: act8846@5a {
181 compatible = "active-semi,act8846";
182 reg = <0x5a>;
183 status = "okay";
184 system-power-controller;
185
186 pinctrl-names = "default";
187 pinctrl-0 = <&act8846_dvs0_ctl>;
188
189 vp1-supply = <&vsys>;
190 vp2-supply = <&vsys>;
191 vp3-supply = <&vsys>;
192 vp4-supply = <&vsys>;
193 inl1-supply = <&vcc_io>;
194 inl2-supply = <&vsys>;
195 inl3-supply = <&vsys>;
196
197 regulators {
198 vcc_ddr: REG1 {
199 regulator-name = "VCC_DDR";
200 regulator-min-microvolt = <1200000>;
201 regulator-max-microvolt = <1200000>;
202 regulator-always-on;
203 };
204
205 vdd_log: REG2 {
206 regulator-name = "VDD_LOG";
207 regulator-min-microvolt = <1000000>;
208 regulator-max-microvolt = <1000000>;
209 regulator-always-on;
210 };
211
212 vdd_arm: REG3 {
213 regulator-name = "VDD_ARM";
214 regulator-min-microvolt = <875000>;
215 regulator-max-microvolt = <1350000>;
216 regulator-always-on;
217 };
218
219 vcc_io: REG4 {
220 regulator-name = "VCC_IO";
221 regulator-min-microvolt = <3300000>;
222 regulator-max-microvolt = <3300000>;
223 regulator-always-on;
224 };
225
226 vdd_10: REG5 {
227 regulator-name = "VDD_10";
228 regulator-min-microvolt = <1000000>;
229 regulator-max-microvolt = <1000000>;
230 regulator-always-on;
231 };
232
233 vdd_hdmi: REG6 {
234 regulator-name = "VDD_HDMI";
235 regulator-min-microvolt = <2500000>;
236 regulator-max-microvolt = <2500000>;
237 regulator-always-on;
238 };
239
240 vcc18: REG7 {
241 regulator-name = "VCC_18";
242 regulator-min-microvolt = <1800000>;
243 regulator-max-microvolt = <1800000>;
244 regulator-always-on;
245 };
246
247 vcca_33: REG8 {
248 regulator-name = "VCCA_33";
249 regulator-min-microvolt = <3300000>;
250 regulator-max-microvolt = <3300000>;
251 regulator-always-on;
252 };
253
254 vcc_rmii: REG9 {
255 regulator-name = "VCC_RMII";
256 regulator-min-microvolt = <3300000>;
257 regulator-max-microvolt = <3300000>;
258 };
259
260 vccio_wl: REG10 {
261 regulator-name = "VCCIO_WL";
262 regulator-min-microvolt = <3300000>;
263 regulator-max-microvolt = <3300000>;
264 regulator-always-on;
265 };
266
267 vcc_18: REG11 {
268 regulator-name = "VCC18_IO";
269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <1800000>;
271 regulator-always-on;
272 };
273
274 vcc28: REG12 {
275 regulator-name = "VCC_28";
276 regulator-min-microvolt = <2800000>;
277 regulator-max-microvolt = <2800000>;
278 regulator-always-on;
279 };
280 };
281 };
282 };
283
284 &mmc0 {
285 num-slots = <1>;
286 status = "okay";
287 pinctrl-names = "default";
288 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
289 vmmc-supply = <&vcc_sd0>;
290
291 bus-width = <4>;
292 cap-mmc-highspeed;
293 cap-sd-highspeed;
294 disable-wp;
295 };
296
297 &pwm1 {
298 status = "okay";
299 };
300
301 &pwm2 {
302 status = "okay";
303 };
304
305 &pwm3 {
306 status = "okay";
307 };
308
309 &pinctrl {
310 pcfg_output_low: pcfg-output-low {
311 output-low;
312 };
313
314 act8846 {
315 act8846_dvs0_ctl: act8846-dvs0-ctl {
316 rockchip,pins = <RK_GPIO3 27 RK_FUNC_GPIO &pcfg_output_low>;
317 };
318 };
319
320 hym8563 {
321 rtc_int: rtc-int {
322 rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>;
323 };
324 };
325
326 lan8720a {
327 phy_int: phy-int {
328 rockchip,pins = <RK_GPIO3 26 RK_FUNC_GPIO &pcfg_pull_up>;
329 };
330 };
331
332 ir-receiver {
333 ir_recv_pin: ir-recv-pin {
334 rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>;
335 };
336 };
337
338 usb {
339 host_vbus_drv: host-vbus-drv {
340 rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>;
341 };
342 otg_vbus_drv: otg-vbus-drv {
343 rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>;
344 };
345 };
346 };
347
348 &spdif {
349 status = "okay";
350 };
351
352 &uart0 {
353 status = "okay";
354 };
355
356 &uart1 {
357 status = "okay";
358 };
359
360 &uart3 {
361 status = "okay";
362 };
363
364 &usbphy {
365 status = "okay";
366 };
367
368 &usb_host {
369 status = "okay";
370 };
371
372 &usb_otg {
373 status = "okay";
374 };
375
376 &wdt {
377 status = "okay";
378 };