SPDX: Convert all of our multiple license tags to Linux Kernel style
[oweals/u-boot.git] / arch / arm / dts / rk3188-radxarock.dts
1 // SPDX-License-Identifier: GPL-2.0+ OR X11
2 /*
3  * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
4  */
5
6 /dts-v1/;
7 #include <dt-bindings/input/input.h>
8 #include "rk3188.dtsi"
9 #include "rk3188-radxarock-u-boot.dtsi"
10
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
359 &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 };