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