Linux-libre 5.4.47-gnu
[librecmc/linux-libre.git] / arch / arm / boot / dts / rk3066a-marsboard.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2014 Romain Perier <romain.perier@gmail.com>
4  */
5
6 /dts-v1/;
7 #include "rk3066a.dtsi"
8
9 / {
10         model = "MarsBoard RK3066";
11         compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a";
12
13         memory@60000000 {
14                 device_type = "memory";
15                 reg = <0x60000000 0x40000000>;
16         };
17
18         vdd_log: vdd-log {
19                 compatible = "pwm-regulator";
20                 pwms = <&pwm3 0 1000>;
21                 regulator-name = "vdd_log";
22                 regulator-min-microvolt = <1200000>;
23                 regulator-max-microvolt = <1200000>;
24                 regulator-always-on;
25                 voltage-table = <1000000 100>,
26                                 <1200000 42>;
27                 status = "okay";
28         };
29
30         vcc_sd0: sdmmc-regulator {
31                 compatible = "regulator-fixed";
32                 regulator-name = "sdmmc-supply";
33                 regulator-min-microvolt = <3000000>;
34                 regulator-max-microvolt = <3000000>;
35                 gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
36                 startup-delay-us = <100000>;
37                 vin-supply = <&vcc_io>;
38         };
39
40         vsys: vsys-regulator {
41                 compatible = "regulator-fixed";
42                 regulator-name = "vsys";
43                 regulator-min-microvolt = <5000000>;
44                 regulator-max-microvolt = <5000000>;
45                 regulator-boot-on;
46         };
47 };
48
49 &cpu0 {
50         cpu0-supply = <&vdd_arm>;
51 };
52
53 &i2c1 {
54         status = "okay";
55         clock-frequency = <400000>;
56
57         tps: tps@2d {
58                 reg = <0x2d>;
59
60                 interrupt-parent = <&gpio6>;
61                 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
62
63                 vcc1-supply = <&vsys>;
64                 vcc2-supply = <&vsys>;
65                 vcc3-supply = <&vsys>;
66                 vcc4-supply = <&vsys>;
67                 vcc5-supply = <&vcc_io>;
68                 vcc6-supply = <&vcc_io>;
69                 vcc7-supply = <&vsys>;
70                 vccio-supply = <&vsys>;
71
72                 regulators {
73                         vcc_rtc: regulator@0 {
74                                 regulator-name = "vcc_rtc";
75                                 regulator-always-on;
76                         };
77
78                         vcc_io: regulator@1 {
79                                 regulator-name = "vcc_io";
80                                 regulator-always-on;
81                         };
82
83                         vdd_arm: regulator@2 {
84                                 regulator-name = "vdd_arm";
85                                 regulator-min-microvolt = <600000>;
86                                 regulator-max-microvolt = <1500000>;
87                                 regulator-boot-on;
88                                 regulator-always-on;
89                         };
90
91                         vcc_ddr: regulator@3 {
92                                 regulator-name = "vcc_ddr";
93                                 regulator-min-microvolt = <600000>;
94                                 regulator-max-microvolt = <1500000>;
95                                 regulator-boot-on;
96                                 regulator-always-on;
97                         };
98
99                         vcc18_cif: regulator@5 {
100                                 regulator-name = "vcc18_cif";
101                                 regulator-always-on;
102                         };
103
104                         vdd_11: regulator@6 {
105                                 regulator-name = "vdd_11";
106                                 regulator-always-on;
107                         };
108
109                         vcc_25: regulator@7 {
110                                 regulator-name = "vcc_25";
111                                 regulator-always-on;
112                         };
113
114                         vcc_18: regulator@8 {
115                                 regulator-name = "vcc_18";
116                                 regulator-always-on;
117                         };
118
119                         vcc25_hdmi: regulator@9 {
120                                 regulator-name = "vcc25_hdmi";
121                                 regulator-always-on;
122                         };
123
124                         vcca_33: regulator@10 {
125                                 regulator-name = "vcca_33";
126                                 regulator-always-on;
127                         };
128
129                         vcc_rmii: regulator@11 {
130                                 regulator-name = "vcc_rmii";
131                         };
132
133                         vcc28_cif: regulator@12 {
134                                 regulator-name = "vcc28_cif";
135                                 regulator-always-on;
136                         };
137                 };
138         };
139 };
140
141 /* must be included after &tps gets defined */
142 #include "tps65910.dtsi"
143
144 &emac {
145         status = "okay";
146
147         phy = <&phy0>;
148         phy-supply = <&vcc_rmii>;
149
150         pinctrl-names = "default";
151         pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
152
153         phy0: ethernet-phy@0 {
154                 reg = <0>;
155                 interrupt-parent = <&gpio1>;
156                 interrupts = <RK_PD2 IRQ_TYPE_LEVEL_LOW>;
157         };
158 };
159
160 &mmc0 {
161         status = "okay";
162
163         pinctrl-names = "default";
164         pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
165         vmmc-supply = <&vcc_sd0>;
166 };
167
168 &pinctrl {
169         lan8720a {
170                 phy_int: phy-int {
171                         rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
172                 };
173         };
174 };
175
176 &pwm3 {
177         status = "okay";
178 };
179
180 &uart0 {
181         status = "okay";
182 };
183
184 &uart1 {
185         status = "okay";
186 };
187
188 &uart2 {
189         status = "okay";
190 };
191
192 &uart3 {
193         status = "okay";
194 };
195
196 &usbphy {
197         status = "okay";
198 };
199
200 &usb_host {
201         status = "okay";
202 };
203
204 &usb_otg {
205         status = "okay";
206 };
207
208 &wdt {
209         status = "okay";
210 };