xref: /linux/arch/arm/boot/dts/rockchip/rk3066a-marsboard.dts (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
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	aliases {
14		mmc0 = &mmc0;
15	};
16
17	memory@60000000 {
18		device_type = "memory";
19		reg = <0x60000000 0x40000000>;
20	};
21
22	hdmi_con {
23		compatible = "hdmi-connector";
24		type = "a";
25
26		port {
27			hdmi_con_in: endpoint {
28				remote-endpoint = <&hdmi_out_con>;
29			};
30		};
31	};
32
33	vdd_log: regulator-vdd-log {
34		compatible = "pwm-regulator";
35		pwms = <&pwm3 0 1000>;
36		regulator-name = "vdd_log";
37		regulator-min-microvolt = <1200000>;
38		regulator-max-microvolt = <1200000>;
39		regulator-always-on;
40		voltage-table = <1000000 100>,
41				<1200000 42>;
42		status = "okay";
43	};
44
45	vcc_sd0: regulator-sdmmc {
46		compatible = "regulator-fixed";
47		regulator-name = "sdmmc-supply";
48		regulator-min-microvolt = <3000000>;
49		regulator-max-microvolt = <3000000>;
50		gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
51		startup-delay-us = <100000>;
52		vin-supply = <&vcc_io>;
53	};
54
55	vsys: regulator-vsys {
56		compatible = "regulator-fixed";
57		regulator-name = "vsys";
58		regulator-min-microvolt = <5000000>;
59		regulator-max-microvolt = <5000000>;
60		regulator-boot-on;
61	};
62};
63
64&cpu0 {
65	cpu-supply = <&vdd_arm>;
66};
67
68&cpu1 {
69	cpu-supply = <&vdd_arm>;
70};
71
72&gpu {
73	status = "okay";
74};
75
76&hdmi {
77	status = "okay";
78};
79
80&hdmi_in_vop1 {
81	status = "disabled";
82};
83
84&hdmi_out {
85	hdmi_out_con: endpoint {
86		remote-endpoint = <&hdmi_con_in>;
87	};
88};
89
90&hdmi_sound {
91	status = "okay";
92};
93
94&i2c1 {
95	status = "okay";
96	clock-frequency = <400000>;
97
98	tps: tps@2d {
99		compatible = "ti,tps65910";
100		reg = <0x2d>;
101
102		gpio-controller;
103		#gpio-cells = <2>;
104
105		interrupt-parent = <&gpio6>;
106		interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
107
108		interrupt-controller;
109		#interrupt-cells = <2>;
110
111		vcc1-supply = <&vsys>;
112		vcc2-supply = <&vsys>;
113		vcc3-supply = <&vsys>;
114		vcc4-supply = <&vsys>;
115		vcc5-supply = <&vcc_io>;
116		vcc6-supply = <&vcc_io>;
117		vcc7-supply = <&vsys>;
118		vccio-supply = <&vsys>;
119
120		regulators {
121			vcc_rtc: vrtc {
122				regulator-name = "vcc_rtc";
123				regulator-always-on;
124			};
125
126			vcc_io: vio {
127				regulator-name = "vcc_io";
128				regulator-always-on;
129			};
130
131			vdd_arm: vdd1 {
132				regulator-name = "vdd_arm";
133				regulator-min-microvolt = <600000>;
134				regulator-max-microvolt = <1500000>;
135				regulator-boot-on;
136				regulator-always-on;
137			};
138
139			vcc_ddr: vdd2 {
140				regulator-name = "vcc_ddr";
141				regulator-min-microvolt = <600000>;
142				regulator-max-microvolt = <1500000>;
143				regulator-boot-on;
144				regulator-always-on;
145			};
146
147			vcc18_cif: vdig1 {
148				regulator-name = "vcc18_cif";
149				regulator-always-on;
150			};
151
152			vdd_11: vdig2 {
153				regulator-name = "vdd_11";
154				regulator-always-on;
155			};
156
157			vcc_25: vpll {
158				regulator-name = "vcc_25";
159				regulator-always-on;
160			};
161
162			vcc_18: vdac {
163				regulator-name = "vcc_18";
164				regulator-always-on;
165			};
166
167			vcc25_hdmi: vaux1 {
168				regulator-name = "vcc25_hdmi";
169				regulator-always-on;
170			};
171
172			vcca_33: vaux2 {
173				regulator-name = "vcca_33";
174				regulator-always-on;
175			};
176
177			vcc_rmii: vaux33 {
178				regulator-name = "vcc_rmii";
179			};
180
181			vcc28_cif: vmmc {
182				regulator-name = "vcc28_cif";
183				regulator-always-on;
184			};
185		};
186	};
187};
188
189&emac {
190	phy = <&phy0>;
191	phy-supply = <&vcc_rmii>;
192	pinctrl-names = "default";
193	pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
194	status = "okay";
195
196	mdio {
197		#address-cells = <1>;
198		#size-cells = <0>;
199
200		phy0: ethernet-phy@0 {
201			reg = <0>;
202			interrupt-parent = <&gpio1>;
203			interrupts = <RK_PD2 IRQ_TYPE_LEVEL_LOW>;
204		};
205	};
206};
207
208&mmc0 {
209	status = "okay";
210
211	pinctrl-names = "default";
212	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
213	vmmc-supply = <&vcc_sd0>;
214};
215
216&pinctrl {
217	lan8720a {
218		phy_int: phy-int {
219			rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
220		};
221	};
222};
223
224&pwm3 {
225	status = "okay";
226};
227
228&uart0 {
229	status = "okay";
230};
231
232&uart1 {
233	status = "okay";
234};
235
236&uart2 {
237	status = "okay";
238};
239
240&uart3 {
241	status = "okay";
242};
243
244&usbphy {
245	status = "okay";
246};
247
248&usb_host {
249	status = "okay";
250};
251
252&usb_otg {
253	status = "okay";
254};
255
256&vop0 {
257	status = "okay";
258};
259
260&wdt {
261	status = "okay";
262};
263