Linux-libre 5.4.47-gnu
[librecmc/linux-libre.git] / arch / arm / boot / dts / rk3229-xms6.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3 /dts-v1/;
4
5 #include <dt-bindings/input/input.h>
6 #include "rk3229.dtsi"
7
8 / {
9         model = "Mecer Xtreme Mini S6";
10         compatible = "mecer,xms6", "rockchip,rk3229";
11
12         memory@60000000 {
13                 device_type = "memory";
14                 reg = <0x60000000 0x40000000>;
15         };
16
17         dc_12v: dc-12v-regulator {
18                 compatible = "regulator-fixed";
19                 regulator-name = "dc_12v";
20                 regulator-always-on;
21                 regulator-boot-on;
22                 regulator-min-microvolt = <12000000>;
23                 regulator-max-microvolt = <12000000>;
24         };
25
26         ext_gmac: ext_gmac {
27                 compatible = "fixed-clock";
28                 clock-frequency = <125000000>;
29                 clock-output-names = "ext_gmac";
30                 #clock-cells = <0>;
31         };
32
33         power-led {
34                 compatible = "gpio-leds";
35
36                 blue {
37                         gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
38                         default-state = "on";
39                 };
40         };
41
42         vcc_host: vcc-host-regulator {
43                 compatible = "regulator-fixed";
44                 enable-active-high;
45                 gpio = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
46                 pinctrl-names = "default";
47                 pinctrl-0 = <&host_vbus_drv>;
48                 regulator-name = "vcc_host";
49                 regulator-always-on;
50                 regulator-boot-on;
51                 vin-supply = <&vcc_sys>;
52         };
53
54         vcc_phy: vcc-phy-regulator {
55                 compatible = "regulator-fixed";
56                 enable-active-high;
57                 regulator-name = "vcc_phy";
58                 regulator-min-microvolt = <1800000>;
59                 regulator-max-microvolt = <1800000>;
60                 regulator-always-on;
61                 regulator-boot-on;
62                 vin-supply = <&vccio_1v8>;
63         };
64
65         vcc_sys: vcc-sys-regulator {
66                 compatible = "regulator-fixed";
67                 regulator-name = "vcc_sys";
68                 regulator-always-on;
69                 regulator-boot-on;
70                 regulator-min-microvolt = <5000000>;
71                 regulator-max-microvolt = <5000000>;
72                 vin-supply = <&dc_12v>;
73         };
74
75         vccio_1v8: vccio-1v8-regulator {
76                 compatible = "regulator-fixed";
77                 regulator-name = "vccio_1v8";
78                 regulator-min-microvolt = <1800000>;
79                 regulator-max-microvolt = <1800000>;
80                 regulator-always-on;
81                 vin-supply = <&vcc_sys>;
82         };
83
84         vccio_3v3: vccio-3v3-regulator {
85                 compatible = "regulator-fixed";
86                 regulator-name = "vccio_3v3";
87                 regulator-min-microvolt = <3300000>;
88                 regulator-max-microvolt = <3300000>;
89                 regulator-always-on;
90                 vin-supply = <&vcc_sys>;
91         };
92
93         vdd_arm: vdd-arm-regulator {
94                 compatible = "pwm-regulator";
95                 pwms = <&pwm1 0 25000 1>;
96                 pwm-supply = <&vcc_sys>;
97                 regulator-name = "vdd_arm";
98                 regulator-min-microvolt = <950000>;
99                 regulator-max-microvolt = <1400000>;
100                 regulator-always-on;
101                 regulator-boot-on;
102         };
103
104         vdd_log: vdd-log-regulator {
105                 compatible = "pwm-regulator";
106                 pwms = <&pwm2 0 25000 1>;
107                 pwm-supply = <&vcc_sys>;
108                 regulator-name = "vdd_log";
109                 regulator-min-microvolt = <1000000>;
110                 regulator-max-microvolt = <1300000>;
111                 regulator-always-on;
112                 regulator-boot-on;
113         };
114 };
115
116 &cpu0 {
117         cpu-supply = <&vdd_arm>;
118 };
119
120 &cpu1 {
121         cpu-supply = <&vdd_arm>;
122 };
123
124 &cpu2 {
125         cpu-supply = <&vdd_arm>;
126 };
127
128 &cpu3 {
129         cpu-supply = <&vdd_arm>;
130 };
131
132 &emmc {
133         cap-mmc-highspeed;
134         disable-wp;
135         non-removable;
136         status = "okay";
137 };
138
139 &gmac {
140         assigned-clocks = <&cru SCLK_MAC_SRC>;
141         assigned-clock-rates = <50000000>;
142         clock_in_out = "output";
143         phy-handle = <&phy>;
144         phy-mode = "rmii";
145         phy-supply = <&vcc_phy>;
146         status = "okay";
147
148         mdio {
149                 compatible = "snps,dwmac-mdio";
150                 #address-cells = <1>;
151                 #size-cells = <0>;
152
153                 phy: ethernet-phy@0 {
154                         compatible = "ethernet-phy-id1234.d400",
155                                      "ethernet-phy-ieee802.3-c22";
156                         reg = <0>;
157                         clocks = <&cru SCLK_MAC_PHY>;
158                         phy-is-integrated;
159                         resets = <&cru SRST_MACPHY>;
160                 };
161         };
162 };
163
164 &gpu {
165         mali-supply = <&vdd_log>;
166         status = "okay";
167 };
168
169 &hdmi {
170         status = "okay";
171 };
172
173 &hdmi_phy {
174         status = "okay";
175 };
176
177 &iep_mmu {
178         status = "okay";
179 };
180
181 &io_domains {
182         status = "okay";
183
184         vccio1-supply = <&vccio_3v3>;
185         vccio2-supply = <&vccio_1v8>;
186         vccio4-supply = <&vccio_3v3>;
187 };
188
189 &pinctrl {
190         usb {
191                 host_vbus_drv: host-vbus-drv {
192                         rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
193                 };
194         };
195 };
196
197 &pwm1 {
198         status = "okay";
199 };
200
201 &pwm2 {
202         status = "okay";
203 };
204
205 &sdmmc {
206         cap-mmc-highspeed;
207         disable-wp;
208         status = "okay";
209 };
210
211 &tsadc {
212         rockchip,hw-tshut-mode = <0>;
213         status = "okay";
214 };
215
216 &u2phy0 {
217         status = "okay";
218
219         u2phy0_host: host-port {
220                 phy-supply = <&vcc_host>;
221                 status = "okay";
222         };
223
224         u2phy0_otg: otg-port {
225                 phy-supply = <&vcc_host>;
226                 status = "okay";
227         };
228 };
229
230 &u2phy1 {
231         status = "okay";
232
233         u2phy1_host: host-port {
234                 phy-supply = <&vcc_host>;
235                 status = "okay";
236         };
237
238         u2phy1_otg: otg-port {
239                 phy-supply = <&vcc_host>;
240                 status = "okay";
241         };
242 };
243
244 &uart2 {
245         pinctrl-0 = <&uart21_xfer>;
246         status = "okay";
247 };
248
249 &usb_host0_ehci {
250         status = "okay";
251 };
252
253 &usb_host0_ohci {
254         status = "okay";
255 };
256
257 &usb_host1_ehci {
258         status = "okay";
259 };
260
261 &usb_host1_ohci {
262         status = "okay";
263 };
264
265 &usb_host2_ehci {
266         status = "okay";
267 };
268
269 &usb_host2_ohci {
270         status = "okay";
271 };
272
273 &usb_otg {
274         status = "okay";
275 };
276
277 &vop {
278         status = "okay";
279 };
280
281 &vop_mmu {
282         status = "okay";
283 };