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: 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};
284