blob: f6e8d49a02efc07d7b0972e976975bc5c2a1a7cc [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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 vdd_log: vdd-log {
23 compatible = "pwm-regulator";
24 pwms = <&pwm3 0 1000>;
25 regulator-name = "vdd_log";
26 regulator-min-microvolt = <1200000>;
27 regulator-max-microvolt = <1200000>;
28 regulator-always-on;
29 voltage-table = <1000000 100>,
30 <1200000 42>;
31 status = "okay";
32 };
33
34 vcc_sd0: sdmmc-regulator {
35 compatible = "regulator-fixed";
36 regulator-name = "sdmmc-supply";
37 regulator-min-microvolt = <3000000>;
38 regulator-max-microvolt = <3000000>;
39 gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
40 startup-delay-us = <100000>;
41 vin-supply = <&vcc_io>;
42 };
43
44 vsys: vsys-regulator {
45 compatible = "regulator-fixed";
46 regulator-name = "vsys";
47 regulator-min-microvolt = <5000000>;
48 regulator-max-microvolt = <5000000>;
49 regulator-boot-on;
50 };
51};
52
53&cpu0 {
54 cpu-supply = <&vdd_arm>;
55};
56
57&cpu1 {
58 cpu-supply = <&vdd_arm>;
59};
60
61&i2c1 {
62 status = "okay";
63 clock-frequency = <400000>;
64
65 tps: tps@2d {
66 reg = <0x2d>;
67
68 interrupt-parent = <&gpio6>;
69 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
70
71 vcc1-supply = <&vsys>;
72 vcc2-supply = <&vsys>;
73 vcc3-supply = <&vsys>;
74 vcc4-supply = <&vsys>;
75 vcc5-supply = <&vcc_io>;
76 vcc6-supply = <&vcc_io>;
77 vcc7-supply = <&vsys>;
78 vccio-supply = <&vsys>;
79
80 regulators {
81 vcc_rtc: regulator@0 {
82 regulator-name = "vcc_rtc";
83 regulator-always-on;
84 };
85
86 vcc_io: regulator@1 {
87 regulator-name = "vcc_io";
88 regulator-always-on;
89 };
90
91 vdd_arm: regulator@2 {
92 regulator-name = "vdd_arm";
93 regulator-min-microvolt = <600000>;
94 regulator-max-microvolt = <1500000>;
95 regulator-boot-on;
96 regulator-always-on;
97 };
98
99 vcc_ddr: regulator@3 {
100 regulator-name = "vcc_ddr";
101 regulator-min-microvolt = <600000>;
102 regulator-max-microvolt = <1500000>;
103 regulator-boot-on;
104 regulator-always-on;
105 };
106
107 vcc18_cif: regulator@5 {
108 regulator-name = "vcc18_cif";
109 regulator-always-on;
110 };
111
112 vdd_11: regulator@6 {
113 regulator-name = "vdd_11";
114 regulator-always-on;
115 };
116
117 vcc_25: regulator@7 {
118 regulator-name = "vcc_25";
119 regulator-always-on;
120 };
121
122 vcc_18: regulator@8 {
123 regulator-name = "vcc_18";
124 regulator-always-on;
125 };
126
127 vcc25_hdmi: regulator@9 {
128 regulator-name = "vcc25_hdmi";
129 regulator-always-on;
130 };
131
132 vcca_33: regulator@10 {
133 regulator-name = "vcca_33";
134 regulator-always-on;
135 };
136
137 vcc_rmii: regulator@11 {
138 regulator-name = "vcc_rmii";
139 };
140
141 vcc28_cif: regulator@12 {
142 regulator-name = "vcc28_cif";
143 regulator-always-on;
144 };
145 };
146 };
147};
148
149/* must be included after &tps gets defined */
150#include "../tps65910.dtsi"
151
152&emac {
153 phy = <&phy0>;
154 phy-supply = <&vcc_rmii>;
155 pinctrl-names = "default";
156 pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
157 status = "okay";
158
159 mdio {
160 #address-cells = <1>;
161 #size-cells = <0>;
162
163 phy0: ethernet-phy@0 {
164 reg = <0>;
165 interrupt-parent = <&gpio1>;
166 interrupts = <RK_PD2 IRQ_TYPE_LEVEL_LOW>;
167 };
168 };
169};
170
171&mmc0 {
172 status = "okay";
173
174 pinctrl-names = "default";
175 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
176 vmmc-supply = <&vcc_sd0>;
177};
178
179&pinctrl {
180 lan8720a {
181 phy_int: phy-int {
182 rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
183 };
184 };
185};
186
187&pwm3 {
188 status = "okay";
189};
190
191&uart0 {
192 status = "okay";
193};
194
195&uart1 {
196 status = "okay";
197};
198
199&uart2 {
200 status = "okay";
201};
202
203&uart3 {
204 status = "okay";
205};
206
207&usbphy {
208 status = "okay";
209};
210
211&usb_host {
212 status = "okay";
213};
214
215&usb_otg {
216 status = "okay";
217};
218
219&wdt {
220 status = "okay";
221};