blob: 414897a57e757045e5d5a036568f56d004dcba99 [file] [log] [blame]
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +08001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
4 */
5
6/dts-v1/;
7#include "rk3328.dtsi"
8
9/ {
10 model = "Firefly roc-rk3328-cc";
11 compatible = "firefly,roc-rk3328-cc", "rockchip,rk3328";
12
Peter Robinson7715db32021-07-22 16:20:43 +010013 aliases {
Jonas Karlmanb74552c2024-02-17 00:22:37 +000014 ethernet0 = &gmac2io;
Peter Robinson7715db32021-07-22 16:20:43 +010015 mmc0 = &sdmmc;
16 mmc1 = &emmc;
17 };
18
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +080019 chosen {
20 stdout-path = "serial2:1500000n8";
21 };
22
23 gmac_clkin: external-gmac-clock {
24 compatible = "fixed-clock";
25 clock-frequency = <125000000>;
26 clock-output-names = "gmac_clkin";
27 #clock-cells = <0>;
28 };
29
30 dc_12v: dc-12v {
31 compatible = "regulator-fixed";
32 regulator-name = "dc_12v";
33 regulator-always-on;
34 regulator-boot-on;
35 regulator-min-microvolt = <12000000>;
36 regulator-max-microvolt = <12000000>;
37 };
38
39 vcc_sd: sdmmc-regulator {
40 compatible = "regulator-fixed";
41 gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
42 pinctrl-names = "default";
Peter Robinson7715db32021-07-22 16:20:43 +010043 pinctrl-0 = <&sdmmc0m1_pin>;
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +080044 regulator-boot-on;
45 regulator-name = "vcc_sd";
46 regulator-min-microvolt = <3300000>;
47 regulator-max-microvolt = <3300000>;
48 vin-supply = <&vcc_io>;
49 };
50
51 vcc_sdio: sdmmcio-regulator {
52 compatible = "regulator-gpio";
53 gpios = <&grf_gpio 0 GPIO_ACTIVE_HIGH>;
Peter Robinson7715db32021-07-22 16:20:43 +010054 states = <1800000 0x1>,
55 <3300000 0x0>;
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +080056 regulator-name = "vcc_sdio";
57 regulator-type = "voltage";
58 regulator-min-microvolt = <1800000>;
59 regulator-max-microvolt = <3300000>;
60 regulator-always-on;
61 vin-supply = <&vcc_sys>;
62 };
63
64 vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
65 compatible = "regulator-fixed";
66 enable-active-high;
67 gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
68 pinctrl-names = "default";
69 pinctrl-0 = <&usb20_host_drv>;
70 regulator-name = "vcc_host1_5v";
71 regulator-always-on;
72 vin-supply = <&vcc_sys>;
73 };
74
75 vcc_sys: vcc-sys {
76 compatible = "regulator-fixed";
77 regulator-name = "vcc_sys";
78 regulator-always-on;
79 regulator-boot-on;
80 regulator-min-microvolt = <5000000>;
81 regulator-max-microvolt = <5000000>;
82 vin-supply = <&dc_12v>;
83 };
84
85 vcc_phy: vcc-phy-regulator {
86 compatible = "regulator-fixed";
87 regulator-name = "vcc_phy";
88 regulator-always-on;
89 regulator-boot-on;
90 };
91
92 leds {
93 compatible = "gpio-leds";
94
Peter Robinson7715db32021-07-22 16:20:43 +010095 power_led: led-0 {
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +080096 label = "firefly:blue:power";
97 linux,default-trigger = "heartbeat";
98 gpios = <&rk805 1 GPIO_ACTIVE_LOW>;
99 default-state = "on";
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +0800100 };
101
Peter Robinson7715db32021-07-22 16:20:43 +0100102 user_led: led-1 {
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +0800103 label = "firefly:yellow:user";
104 linux,default-trigger = "mmc1";
105 gpios = <&rk805 0 GPIO_ACTIVE_LOW>;
106 default-state = "off";
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +0800107 };
108 };
109};
110
Peter Robinson7715db32021-07-22 16:20:43 +0100111&analog_sound {
112 status = "okay";
113};
114
115&codec {
116 status = "okay";
117};
118
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +0800119&cpu0 {
120 cpu-supply = <&vdd_arm>;
121};
122
123&cpu1 {
124 cpu-supply = <&vdd_arm>;
125};
126
127&cpu2 {
128 cpu-supply = <&vdd_arm>;
129};
130
131&cpu3 {
132 cpu-supply = <&vdd_arm>;
133};
134
135&emmc {
136 bus-width = <8>;
137 cap-mmc-highspeed;
138 max-frequency = <150000000>;
139 mmc-ddr-1_8v;
140 mmc-hs200-1_8v;
141 non-removable;
142 pinctrl-names = "default";
143 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
144 vmmc-supply = <&vcc_io>;
145 vqmmc-supply = <&vcc18_emmc>;
146 status = "okay";
147};
148
149&gmac2io {
150 assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
151 assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
152 clock_in_out = "input";
153 phy-supply = <&vcc_phy>;
154 phy-mode = "rgmii";
155 pinctrl-names = "default";
156 pinctrl-0 = <&rgmiim1_pins>;
157 snps,aal;
158 snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
159 snps,reset-active-low;
160 snps,reset-delays-us = <0 10000 50000>;
161 snps,rxpbl = <0x4>;
162 snps,txpbl = <0x4>;
163 tx_delay = <0x24>;
164 rx_delay = <0x18>;
165 status = "okay";
166};
167
168&hdmi {
169 status = "okay";
170};
171
172&hdmiphy {
173 status = "okay";
174};
175
Peter Robinson7715db32021-07-22 16:20:43 +0100176&hdmi_sound {
177 status = "okay";
178};
179
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +0800180&i2c1 {
181 status = "okay";
182
183 rk805: pmic@18 {
184 compatible = "rockchip,rk805";
185 reg = <0x18>;
186 interrupt-parent = <&gpio1>;
187 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
188 #clock-cells = <1>;
189 clock-output-names = "xin32k", "rk805-clkout2";
190 gpio-controller;
191 #gpio-cells = <2>;
192 pinctrl-names = "default";
193 pinctrl-0 = <&pmic_int_l>;
194 rockchip,system-power-controller;
195 wakeup-source;
196
197 vcc1-supply = <&vcc_sys>;
198 vcc2-supply = <&vcc_sys>;
199 vcc3-supply = <&vcc_sys>;
200 vcc4-supply = <&vcc_sys>;
201 vcc5-supply = <&vcc_io>;
202 vcc6-supply = <&vcc_io>;
203
204 regulators {
205 vdd_logic: DCDC_REG1 {
206 regulator-name = "vdd_logic";
207 regulator-min-microvolt = <712500>;
208 regulator-max-microvolt = <1450000>;
209 regulator-always-on;
210 regulator-boot-on;
211 regulator-state-mem {
212 regulator-on-in-suspend;
213 regulator-suspend-microvolt = <1000000>;
214 };
215 };
216
217 vdd_arm: DCDC_REG2 {
218 regulator-name = "vdd_arm";
219 regulator-min-microvolt = <712500>;
220 regulator-max-microvolt = <1450000>;
221 regulator-always-on;
222 regulator-boot-on;
223 regulator-state-mem {
224 regulator-on-in-suspend;
225 regulator-suspend-microvolt = <950000>;
226 };
227 };
228
229 vcc_ddr: DCDC_REG3 {
230 regulator-name = "vcc_ddr";
231 regulator-always-on;
232 regulator-boot-on;
233 regulator-state-mem {
234 regulator-on-in-suspend;
235 };
236 };
237
238 vcc_io: DCDC_REG4 {
239 regulator-name = "vcc_io";
240 regulator-min-microvolt = <3300000>;
241 regulator-max-microvolt = <3300000>;
242 regulator-always-on;
243 regulator-boot-on;
244 regulator-state-mem {
245 regulator-on-in-suspend;
246 regulator-suspend-microvolt = <3300000>;
247 };
248 };
249
250 vcc_18: LDO_REG1 {
251 regulator-name = "vcc_18";
252 regulator-min-microvolt = <1800000>;
253 regulator-max-microvolt = <1800000>;
254 regulator-always-on;
255 regulator-boot-on;
256 regulator-state-mem {
257 regulator-on-in-suspend;
258 regulator-suspend-microvolt = <1800000>;
259 };
260 };
261
262 vcc18_emmc: LDO_REG2 {
263 regulator-name = "vcc18_emmc";
264 regulator-min-microvolt = <1800000>;
265 regulator-max-microvolt = <1800000>;
266 regulator-always-on;
267 regulator-boot-on;
268 regulator-state-mem {
269 regulator-on-in-suspend;
270 regulator-suspend-microvolt = <1800000>;
271 };
272 };
273
274 vdd_10: LDO_REG3 {
275 regulator-name = "vdd_10";
276 regulator-min-microvolt = <1000000>;
277 regulator-max-microvolt = <1000000>;
278 regulator-always-on;
279 regulator-boot-on;
280 regulator-state-mem {
281 regulator-on-in-suspend;
282 regulator-suspend-microvolt = <1000000>;
283 };
284 };
285 };
286 };
287};
288
Peter Robinson7715db32021-07-22 16:20:43 +0100289&i2s0 {
290 status = "okay";
291};
292
293&i2s1 {
294 status = "okay";
295};
296
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +0800297&io_domains {
298 status = "okay";
299
300 vccio1-supply = <&vcc_io>;
301 vccio2-supply = <&vcc18_emmc>;
302 vccio3-supply = <&vcc_sdio>;
303 vccio4-supply = <&vcc_18>;
304 vccio5-supply = <&vcc_io>;
305 vccio6-supply = <&vcc_io>;
306 pmuio-supply = <&vcc_io>;
307};
308
309&pinctrl {
310 pmic {
311 pmic_int_l: pmic-int-l {
312 rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
313 };
314 };
315
316 usb2 {
317 usb20_host_drv: usb20-host-drv {
318 rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
319 };
320 };
321};
322
323&sdmmc {
324 bus-width = <4>;
325 cap-mmc-highspeed;
326 cap-sd-highspeed;
327 disable-wp;
328 max-frequency = <150000000>;
329 pinctrl-names = "default";
330 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
331 sd-uhs-sdr12;
332 sd-uhs-sdr25;
333 sd-uhs-sdr50;
334 sd-uhs-sdr104;
335 vmmc-supply = <&vcc_sd>;
336 vqmmc-supply = <&vcc_sdio>;
337 status = "okay";
338};
339
340&tsadc {
341 status = "okay";
342};
343
344&u2phy {
345 status = "okay";
346};
347
348&u2phy_host {
349 status = "okay";
350};
351
352&u2phy_otg {
353 status = "okay";
354};
355
356&uart2 {
357 status = "okay";
358};
359
360&usb20_otg {
Peter Robinson7715db32021-07-22 16:20:43 +0100361 dr_mode = "host";
362 status = "okay";
363};
364
365&usbdrd3 {
366 dr_mode = "host";
Chen-Yu Tsai3aa5f1d2020-04-27 14:52:53 +0800367 status = "okay";
368};
369
370&usb_host0_ehci {
371 status = "okay";
372};
373
374&usb_host0_ohci {
375 status = "okay";
376};
377
378&vop {
379 status = "okay";
380};
381
382&vop_mmu {
383 status = "okay";
384};