xref: /linux/arch/arm/boot/dts/rockchip/rk3066a-marsboard.dts (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
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		reg = <0x2d>;
100
101		interrupt-parent = <&gpio6>;
102		interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
103
104		vcc1-supply = <&vsys>;
105		vcc2-supply = <&vsys>;
106		vcc3-supply = <&vsys>;
107		vcc4-supply = <&vsys>;
108		vcc5-supply = <&vcc_io>;
109		vcc6-supply = <&vcc_io>;
110		vcc7-supply = <&vsys>;
111		vccio-supply = <&vsys>;
112
113		regulators {
114			vcc_rtc: regulator@0 {
115				regulator-name = "vcc_rtc";
116				regulator-always-on;
117			};
118
119			vcc_io: regulator@1 {
120				regulator-name = "vcc_io";
121				regulator-always-on;
122			};
123
124			vdd_arm: regulator@2 {
125				regulator-name = "vdd_arm";
126				regulator-min-microvolt = <600000>;
127				regulator-max-microvolt = <1500000>;
128				regulator-boot-on;
129				regulator-always-on;
130			};
131
132			vcc_ddr: regulator@3 {
133				regulator-name = "vcc_ddr";
134				regulator-min-microvolt = <600000>;
135				regulator-max-microvolt = <1500000>;
136				regulator-boot-on;
137				regulator-always-on;
138			};
139
140			vcc18_cif: regulator@5 {
141				regulator-name = "vcc18_cif";
142				regulator-always-on;
143			};
144
145			vdd_11: regulator@6 {
146				regulator-name = "vdd_11";
147				regulator-always-on;
148			};
149
150			vcc_25: regulator@7 {
151				regulator-name = "vcc_25";
152				regulator-always-on;
153			};
154
155			vcc_18: regulator@8 {
156				regulator-name = "vcc_18";
157				regulator-always-on;
158			};
159
160			vcc25_hdmi: regulator@9 {
161				regulator-name = "vcc25_hdmi";
162				regulator-always-on;
163			};
164
165			vcca_33: regulator@10 {
166				regulator-name = "vcca_33";
167				regulator-always-on;
168			};
169
170			vcc_rmii: regulator@11 {
171				regulator-name = "vcc_rmii";
172			};
173
174			vcc28_cif: regulator@12 {
175				regulator-name = "vcc28_cif";
176				regulator-always-on;
177			};
178		};
179	};
180};
181
182/* must be included after &tps gets defined */
183#include "../tps65910.dtsi"
184
185&emac {
186	phy = <&phy0>;
187	phy-supply = <&vcc_rmii>;
188	pinctrl-names = "default";
189	pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
190	status = "okay";
191
192	mdio {
193		#address-cells = <1>;
194		#size-cells = <0>;
195
196		phy0: ethernet-phy@0 {
197			reg = <0>;
198			interrupt-parent = <&gpio1>;
199			interrupts = <RK_PD2 IRQ_TYPE_LEVEL_LOW>;
200		};
201	};
202};
203
204&mmc0 {
205	status = "okay";
206
207	pinctrl-names = "default";
208	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
209	vmmc-supply = <&vcc_sd0>;
210};
211
212&pinctrl {
213	lan8720a {
214		phy_int: phy-int {
215			rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
216		};
217	};
218};
219
220&pwm3 {
221	status = "okay";
222};
223
224&uart0 {
225	status = "okay";
226};
227
228&uart1 {
229	status = "okay";
230};
231
232&uart2 {
233	status = "okay";
234};
235
236&uart3 {
237	status = "okay";
238};
239
240&usbphy {
241	status = "okay";
242};
243
244&usb_host {
245	status = "okay";
246};
247
248&usb_otg {
249	status = "okay";
250};
251
252&vop0 {
253	status = "okay";
254};
255
256&wdt {
257	status = "okay";
258};
259