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