1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*724ba675SRob Herring
3*724ba675SRob Herring/dts-v1/;
4*724ba675SRob Herring
5*724ba675SRob Herring#include <dt-bindings/input/input.h>
6*724ba675SRob Herring#include "rk3229.dtsi"
7*724ba675SRob Herring
8*724ba675SRob Herring/ {
9*724ba675SRob Herring	model = "Rockchip RK3229 Evaluation board";
10*724ba675SRob Herring	compatible = "rockchip,rk3229-evb", "rockchip,rk3229";
11*724ba675SRob Herring
12*724ba675SRob Herring	aliases {
13*724ba675SRob Herring		mmc0 = &emmc;
14*724ba675SRob Herring	};
15*724ba675SRob Herring
16*724ba675SRob Herring	memory@60000000 {
17*724ba675SRob Herring		device_type = "memory";
18*724ba675SRob Herring		reg = <0x60000000 0x40000000>;
19*724ba675SRob Herring	};
20*724ba675SRob Herring
21*724ba675SRob Herring	dc_12v: dc-12v-regulator {
22*724ba675SRob Herring		compatible = "regulator-fixed";
23*724ba675SRob Herring		regulator-name = "dc_12v";
24*724ba675SRob Herring		regulator-always-on;
25*724ba675SRob Herring		regulator-boot-on;
26*724ba675SRob Herring		regulator-min-microvolt = <12000000>;
27*724ba675SRob Herring		regulator-max-microvolt = <12000000>;
28*724ba675SRob Herring	};
29*724ba675SRob Herring
30*724ba675SRob Herring	ext_gmac: ext_gmac {
31*724ba675SRob Herring		compatible = "fixed-clock";
32*724ba675SRob Herring		clock-frequency = <125000000>;
33*724ba675SRob Herring		clock-output-names = "ext_gmac";
34*724ba675SRob Herring		#clock-cells = <0>;
35*724ba675SRob Herring	};
36*724ba675SRob Herring
37*724ba675SRob Herring	vcc_host: vcc-host-regulator {
38*724ba675SRob Herring		compatible = "regulator-fixed";
39*724ba675SRob Herring		enable-active-high;
40*724ba675SRob Herring		gpio = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
41*724ba675SRob Herring		pinctrl-names = "default";
42*724ba675SRob Herring		pinctrl-0 = <&host_vbus_drv>;
43*724ba675SRob Herring		regulator-name = "vcc_host";
44*724ba675SRob Herring		regulator-always-on;
45*724ba675SRob Herring		regulator-boot-on;
46*724ba675SRob Herring		vin-supply = <&vcc_sys>;
47*724ba675SRob Herring	};
48*724ba675SRob Herring
49*724ba675SRob Herring	vcc_phy: vcc-phy-regulator {
50*724ba675SRob Herring		compatible = "regulator-fixed";
51*724ba675SRob Herring		enable-active-high;
52*724ba675SRob Herring		regulator-name = "vcc_phy";
53*724ba675SRob Herring		regulator-min-microvolt = <1800000>;
54*724ba675SRob Herring		regulator-max-microvolt = <1800000>;
55*724ba675SRob Herring		regulator-always-on;
56*724ba675SRob Herring		regulator-boot-on;
57*724ba675SRob Herring		vin-supply = <&vccio_1v8>;
58*724ba675SRob Herring	};
59*724ba675SRob Herring
60*724ba675SRob Herring	vcc_sys: vcc-sys-regulator {
61*724ba675SRob Herring		compatible = "regulator-fixed";
62*724ba675SRob Herring		regulator-name = "vcc_sys";
63*724ba675SRob Herring		regulator-always-on;
64*724ba675SRob Herring		regulator-boot-on;
65*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
66*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
67*724ba675SRob Herring		vin-supply = <&dc_12v>;
68*724ba675SRob Herring	};
69*724ba675SRob Herring
70*724ba675SRob Herring	vccio_1v8: vccio-1v8-regulator {
71*724ba675SRob Herring		compatible = "regulator-fixed";
72*724ba675SRob Herring		regulator-name = "vccio_1v8";
73*724ba675SRob Herring		regulator-min-microvolt = <1800000>;
74*724ba675SRob Herring		regulator-max-microvolt = <1800000>;
75*724ba675SRob Herring		regulator-always-on;
76*724ba675SRob Herring		vin-supply = <&vcc_sys>;
77*724ba675SRob Herring	};
78*724ba675SRob Herring
79*724ba675SRob Herring	vccio_3v3: vccio-3v3-regulator {
80*724ba675SRob Herring		compatible = "regulator-fixed";
81*724ba675SRob Herring		regulator-name = "vccio_3v3";
82*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
83*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
84*724ba675SRob Herring		regulator-always-on;
85*724ba675SRob Herring		vin-supply = <&vcc_sys>;
86*724ba675SRob Herring	};
87*724ba675SRob Herring
88*724ba675SRob Herring	vdd_arm: vdd-arm-regulator {
89*724ba675SRob Herring		compatible = "pwm-regulator";
90*724ba675SRob Herring		pwms = <&pwm1 0 25000 1>;
91*724ba675SRob Herring		pwm-supply = <&vcc_sys>;
92*724ba675SRob Herring		regulator-name = "vdd_arm";
93*724ba675SRob Herring		regulator-min-microvolt = <950000>;
94*724ba675SRob Herring		regulator-max-microvolt = <1400000>;
95*724ba675SRob Herring		regulator-always-on;
96*724ba675SRob Herring		regulator-boot-on;
97*724ba675SRob Herring	};
98*724ba675SRob Herring
99*724ba675SRob Herring	vdd_log: vdd-log-regulator {
100*724ba675SRob Herring		compatible = "pwm-regulator";
101*724ba675SRob Herring		pwms = <&pwm2 0 25000 1>;
102*724ba675SRob Herring		pwm-supply = <&vcc_sys>;
103*724ba675SRob Herring		regulator-name = "vdd_log";
104*724ba675SRob Herring		regulator-min-microvolt = <1000000>;
105*724ba675SRob Herring		regulator-max-microvolt = <1300000>;
106*724ba675SRob Herring		regulator-always-on;
107*724ba675SRob Herring		regulator-boot-on;
108*724ba675SRob Herring	};
109*724ba675SRob Herring
110*724ba675SRob Herring	gpio-keys {
111*724ba675SRob Herring		compatible = "gpio-keys";
112*724ba675SRob Herring		autorepeat;
113*724ba675SRob Herring		pinctrl-names = "default";
114*724ba675SRob Herring		pinctrl-0 = <&pwr_key>;
115*724ba675SRob Herring
116*724ba675SRob Herring		power_key: power-key {
117*724ba675SRob Herring			label = "GPIO Key Power";
118*724ba675SRob Herring			gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
119*724ba675SRob Herring			linux,code = <KEY_POWER>;
120*724ba675SRob Herring			debounce-interval = <100>;
121*724ba675SRob Herring			wakeup-source;
122*724ba675SRob Herring		};
123*724ba675SRob Herring	};
124*724ba675SRob Herring};
125*724ba675SRob Herring
126*724ba675SRob Herring&cpu0 {
127*724ba675SRob Herring	cpu-supply = <&vdd_arm>;
128*724ba675SRob Herring};
129*724ba675SRob Herring
130*724ba675SRob Herring&cpu1 {
131*724ba675SRob Herring	cpu-supply = <&vdd_arm>;
132*724ba675SRob Herring};
133*724ba675SRob Herring
134*724ba675SRob Herring&cpu2 {
135*724ba675SRob Herring	cpu-supply = <&vdd_arm>;
136*724ba675SRob Herring};
137*724ba675SRob Herring
138*724ba675SRob Herring&cpu3 {
139*724ba675SRob Herring	cpu-supply = <&vdd_arm>;
140*724ba675SRob Herring};
141*724ba675SRob Herring
142*724ba675SRob Herring&emmc {
143*724ba675SRob Herring	cap-mmc-highspeed;
144*724ba675SRob Herring	non-removable;
145*724ba675SRob Herring	status = "okay";
146*724ba675SRob Herring};
147*724ba675SRob Herring
148*724ba675SRob Herring&gmac {
149*724ba675SRob Herring	assigned-clocks = <&cru SCLK_MAC_EXTCLK>, <&cru SCLK_MAC>;
150*724ba675SRob Herring	assigned-clock-parents = <&ext_gmac>, <&cru SCLK_MAC_EXTCLK>;
151*724ba675SRob Herring	clock_in_out = "input";
152*724ba675SRob Herring	phy-supply = <&vcc_phy>;
153*724ba675SRob Herring	phy-mode = "rgmii";
154*724ba675SRob Herring	pinctrl-names = "default";
155*724ba675SRob Herring	pinctrl-0 = <&rgmii_pins>;
156*724ba675SRob Herring	snps,reset-gpio = <&gpio2 RK_PD0 GPIO_ACTIVE_LOW>;
157*724ba675SRob Herring	snps,reset-active-low;
158*724ba675SRob Herring	snps,reset-delays-us = <0 10000 1000000>;
159*724ba675SRob Herring	tx_delay = <0x30>;
160*724ba675SRob Herring	rx_delay = <0x10>;
161*724ba675SRob Herring	status = "okay";
162*724ba675SRob Herring};
163*724ba675SRob Herring
164*724ba675SRob Herring&io_domains {
165*724ba675SRob Herring	status = "okay";
166*724ba675SRob Herring
167*724ba675SRob Herring	vccio1-supply = <&vccio_3v3>;
168*724ba675SRob Herring	vccio2-supply = <&vccio_1v8>;
169*724ba675SRob Herring	vccio4-supply = <&vccio_3v3>;
170*724ba675SRob Herring};
171*724ba675SRob Herring
172*724ba675SRob Herring&pinctrl {
173*724ba675SRob Herring	keys {
174*724ba675SRob Herring		pwr_key: pwr-key {
175*724ba675SRob Herring			rockchip,pins = <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
176*724ba675SRob Herring		};
177*724ba675SRob Herring	};
178*724ba675SRob Herring
179*724ba675SRob Herring	usb {
180*724ba675SRob Herring		host_vbus_drv: host-vbus-drv {
181*724ba675SRob Herring			rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
182*724ba675SRob Herring		};
183*724ba675SRob Herring	};
184*724ba675SRob Herring};
185*724ba675SRob Herring
186*724ba675SRob Herring&pwm1 {
187*724ba675SRob Herring	status = "okay";
188*724ba675SRob Herring};
189*724ba675SRob Herring
190*724ba675SRob Herring&pwm2 {
191*724ba675SRob Herring	status = "okay";
192*724ba675SRob Herring};
193*724ba675SRob Herring
194*724ba675SRob Herring&tsadc {
195*724ba675SRob Herring	rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
196*724ba675SRob Herring	status = "okay";
197*724ba675SRob Herring};
198*724ba675SRob Herring
199*724ba675SRob Herring&uart2 {
200*724ba675SRob Herring	status = "okay";
201*724ba675SRob Herring};
202*724ba675SRob Herring
203*724ba675SRob Herring&u2phy0 {
204*724ba675SRob Herring	status = "okay";
205*724ba675SRob Herring
206*724ba675SRob Herring	u2phy0_otg: otg-port {
207*724ba675SRob Herring		status = "okay";
208*724ba675SRob Herring	};
209*724ba675SRob Herring
210*724ba675SRob Herring	u2phy0_host: host-port {
211*724ba675SRob Herring		phy-supply = <&vcc_host>;
212*724ba675SRob Herring		status = "okay";
213*724ba675SRob Herring	};
214*724ba675SRob Herring};
215*724ba675SRob Herring
216*724ba675SRob Herring&u2phy1 {
217*724ba675SRob Herring	status = "okay";
218*724ba675SRob Herring
219*724ba675SRob Herring	u2phy1_otg: otg-port {
220*724ba675SRob Herring		phy-supply = <&vcc_host>;
221*724ba675SRob Herring		status = "okay";
222*724ba675SRob Herring	};
223*724ba675SRob Herring
224*724ba675SRob Herring	u2phy1_host: host-port {
225*724ba675SRob Herring		phy-supply = <&vcc_host>;
226*724ba675SRob Herring		status = "okay";
227*724ba675SRob Herring	};
228*724ba675SRob Herring};
229*724ba675SRob Herring
230*724ba675SRob Herring&usb_host0_ehci {
231*724ba675SRob Herring	status = "okay";
232*724ba675SRob Herring};
233*724ba675SRob Herring
234*724ba675SRob Herring&usb_host0_ohci {
235*724ba675SRob Herring	status = "okay";
236*724ba675SRob Herring};
237*724ba675SRob Herring
238*724ba675SRob Herring&usb_host1_ehci {
239*724ba675SRob Herring	status = "okay";
240*724ba675SRob Herring};
241*724ba675SRob Herring
242*724ba675SRob Herring&usb_host1_ohci {
243*724ba675SRob Herring	status = "okay";
244*724ba675SRob Herring};
245*724ba675SRob Herring
246*724ba675SRob Herring&usb_host2_ehci {
247*724ba675SRob Herring	status = "okay";
248*724ba675SRob Herring};
249*724ba675SRob Herring
250*724ba675SRob Herring&usb_host2_ohci {
251*724ba675SRob Herring	status = "okay";
252*724ba675SRob Herring};
253*724ba675SRob Herring
254*724ba675SRob Herring&usb_otg {
255*724ba675SRob Herring	status = "okay";
256*724ba675SRob Herring};
257