blob: 00c8613d6d7370e6d4d7f172ffef5703b56756ed [file] [log] [blame]
Tom Rini8b0c8a12018-05-06 18:27:01 -04001// SPDX-License-Identifier: GPL-2.0+ OR X11
Jernej Skrabec971e53a2017-03-30 01:23:14 +02002/*
3 * Copyright (c) 2016 Heiko Stuebner <heiko@sntech.de>
Jernej Skrabec971e53a2017-03-30 01:23:14 +02004 */
5
6#include "rk3288.dtsi"
7
8/ {
9 memory {
10 device_type = "memory";
11 reg = <0 0x80000000>;
12 };
13
14 ext_gmac: external-gmac-clock {
15 compatible = "fixed-clock";
16 #clock-cells = <0>;
17 clock-frequency = <125000000>;
18 clock-output-names = "ext_gmac";
19 };
20
Jernej Skrabec971e53a2017-03-30 01:23:14 +020021 leds {
Jernej Skrabec971e53a2017-03-30 01:23:14 +020022 compatible = "gpio-leds";
23
24 work {
Jernej Skrabec971e53a2017-03-30 01:23:14 +020025 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
26 label = "miqi:green:user";
27 linux,default-trigger = "default-on";
28 pinctrl-names = "default";
29 pinctrl-0 = <&led_ctl>;
30 };
31 };
32
33 vcc_flash: flash-regulator {
34 compatible = "regulator-fixed";
35 regulator-name = "vcc_flash";
36 regulator-min-microvolt = <1800000>;
37 regulator-max-microvolt = <1800000>;
38 vin-supply = <&vcc_io>;
39 };
40
41 vcc_host: usb-host-regulator {
42 compatible = "regulator-fixed";
43 enable-active-high;
44 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>;
45 pinctrl-names = "default";
46 pinctrl-0 = <&host_vbus_drv>;
47 regulator-name = "vcc_host";
48 regulator-min-microvolt = <5000000>;
49 regulator-max-microvolt = <5000000>;
50 regulator-always-on;
51 vin-supply = <&vcc_sys>;
52 };
53
54 vcc_sd: sdmmc-regulator {
55 compatible = "regulator-fixed";
56 gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
57 pinctrl-names = "default";
58 pinctrl-0 = <&sdmmc_pwr>;
59 regulator-name = "vcc_sd";
60 regulator-min-microvolt = <3300000>;
61 regulator-max-microvolt = <3300000>;
62 startup-delay-us = <100000>;
63 vin-supply = <&vcc_io>;
64 };
65
66 vcc_sys: vsys-regulator {
67 compatible = "regulator-fixed";
68 regulator-name = "vcc_sys";
69 regulator-min-microvolt = <5000000>;
70 regulator-max-microvolt = <5000000>;
71 regulator-always-on;
72 regulator-boot-on;
73 };
74};
75
76&cpu0 {
77 cpu0-supply = <&vdd_cpu>;
78};
79
80&emmc {
81 bus-width = <8>;
82 cap-mmc-highspeed;
83 disable-wp;
84 non-removable;
85 num-slots = <1>;
86 pinctrl-names = "default";
87 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
88 vmmc-supply = <&vcc_io>;
89 vqmmc-supply = <&vcc_flash>;
90 status = "okay";
91};
92
93&gmac {
94 assigned-clocks = <&cru SCLK_MAC>;
95 assigned-clock-parents = <&ext_gmac>;
96 clock_in_out = "input";
97 pinctrl-names = "default";
98 pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
99 phy-supply = <&vcc_lan>;
100 phy-mode = "rgmii";
101 snps,reset-active-low;
102 snps,reset-delays-us = <0 10000 1000000>;
103 snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_LOW>;
104 tx_delay = <0x30>;
105 rx_delay = <0x10>;
106 status = "okay";
107};
108
109&hdmi {
110 ddc-i2c-bus = <&i2c5>;
111 status = "okay";
112};
113
114&i2c0 {
115 clock-frequency = <400000>;
116 status = "okay";
117
118 vdd_cpu: syr827@40 {
119 compatible = "silergy,syr827";
120 fcs,suspend-voltage-selector = <1>;
121 reg = <0x40>;
122 regulator-name = "vdd_cpu";
123 regulator-min-microvolt = <850000>;
124 regulator-max-microvolt = <1350000>;
125 regulator-always-on;
126 regulator-boot-on;
127 regulator-enable-ramp-delay = <300>;
128 regulator-ramp-delay = <8000>;
129 vin-supply = <&vcc_sys>;
130 };
131
132 vdd_gpu: syr828@41 {
133 compatible = "silergy,syr828";
134 fcs,suspend-voltage-selector = <1>;
135 reg = <0x41>;
136 regulator-name = "vdd_gpu";
137 regulator-min-microvolt = <850000>;
138 regulator-max-microvolt = <1350000>;
139 regulator-always-on;
140 vin-supply = <&vcc_sys>;
141 };
142
143 hym8563: hym8563@51 {
144 compatible = "haoyu,hym8563";
145 reg = <0x51>;
146 #clock-cells = <0>;
147 clock-frequency = <32768>;
148 clock-output-names = "xin32k";
149 };
150
151 act8846: act8846@5a {
152 compatible = "active-semi,act8846";
153 reg = <0x5a>;
154 pinctrl-names = "default";
155 pinctrl-0 = <&pmic_vsel>;
156 system-power-controller;
157
158 vp1-supply = <&vcc_sys>;
159 vp2-supply = <&vcc_sys>;
160 vp3-supply = <&vcc_sys>;
161 vp4-supply = <&vcc_sys>;
162 inl1-supply = <&vcc_sys>;
163 inl2-supply = <&vcc_sys>;
164 inl3-supply = <&vcc_20>;
165
166 regulators {
167 vcc_ddr: REG1 {
168 regulator-name = "vcc_ddr";
169 regulator-always-on;
170 };
171
172 vcc_io: REG2 {
173 regulator-name = "vcc_io";
174 regulator-min-microvolt = <3300000>;
175 regulator-max-microvolt = <3300000>;
176 regulator-always-on;
177 };
178
179 vdd_log: REG3 {
180 regulator-name = "vdd_log";
181 regulator-min-microvolt = <1100000>;
182 regulator-max-microvolt = <1100000>;
183 regulator-always-on;
184 };
185
186 vcc_20: REG4 {
187 regulator-name = "vcc_20";
188 regulator-min-microvolt = <2000000>;
189 regulator-max-microvolt = <2000000>;
190 regulator-always-on;
191 };
192
193 vccio_sd: REG5 {
194 regulator-name = "vccio_sd";
195 regulator-min-microvolt = <3300000>;
196 regulator-max-microvolt = <3300000>;
197 regulator-always-on;
198 };
199
200 vdd10_lcd: REG6 {
201 regulator-name = "vdd10_lcd";
202 regulator-min-microvolt = <1000000>;
203 regulator-max-microvolt = <1000000>;
204 regulator-always-on;
205 };
206
207 vcca_18: REG7 {
208 regulator-name = "vcca_18";
209 regulator-min-microvolt = <1800000>;
210 regulator-max-microvolt = <1800000>;
211 };
212
213 vcca_33: REG8 {
214 regulator-name = "vcca_33";
215 regulator-min-microvolt = <3300000>;
216 regulator-max-microvolt = <3300000>;
217 };
218
219 vcc_lan: REG9 {
220 regulator-name = "vcc_lan";
221 regulator-min-microvolt = <3300000>;
222 regulator-max-microvolt = <3300000>;
223 };
224
225 vdd_10: REG10 {
226 regulator-name = "vdd_10";
227 regulator-min-microvolt = <1000000>;
228 regulator-max-microvolt = <1000000>;
229 regulator-always-on;
230 };
231
232 vcc_18: REG11 {
233 regulator-name = "vcc_18";
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <1800000>;
236 regulator-always-on;
237 };
238
239 vcc18_lcd: REG12 {
240 regulator-name = "vcc18_lcd";
241 regulator-min-microvolt = <1800000>;
242 regulator-max-microvolt = <1800000>;
243 regulator-always-on;
244 };
245 };
246 };
247};
248
249&i2c1 {
250 status = "okay";
251};
252
253&i2c2 {
254 status = "okay";
255};
256
257&i2c4 {
258 status = "okay";
259};
260
261&i2c5 {
262 status = "okay";
263};
264
Johan Jonkera5b4bdb2023-03-15 19:31:57 +0100265&io_domains {
266 audio-supply = <&vcca_33>;
267 flash0-supply = <&vcc_flash>;
268 flash1-supply = <&vcc_lan>;
269 gpio30-supply = <&vcc_io>;
270 gpio1830-supply = <&vcc_io>;
271 lcdc-supply = <&vcc_io>;
272 sdcard-supply = <&vccio_sd>;
273 wifi-supply = <&vcc_18>;
274 status = "okay";
275};
276
Jernej Skrabec971e53a2017-03-30 01:23:14 +0200277&pinctrl {
278 pcfg_output_high: pcfg-output-high {
279 output-high;
280 };
281
282 pcfg_output_low: pcfg-output-low {
283 output-low;
284 };
285
286 pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma {
287 bias-pull-up;
288 drive-strength = <12>;
289 };
290
291 act8846 {
292 pmic_int: pmic-int {
293 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>;
294 };
295
296 pmic_sleep: pmic-sleep {
297 rockchip,pins = <0 0 RK_FUNC_GPIO &pcfg_output_low>;
298 };
299
300 pmic_vsel: pmic-vsel {
301 rockchip,pins = <7 1 RK_FUNC_GPIO &pcfg_output_low>;
302 };
303 };
304
305 gmac {
306 phy_int: phy-int {
307 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>;
308 };
309
310 phy_pmeb: phy-pmeb {
311 rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>;
312 };
313
314 phy_rst: phy-rst {
315 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>;
316 };
317 };
318
319 leds {
320 led_ctl: led-ctl {
321 rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_none>;
322 };
323 };
324
325 sdmmc {
326 /*
327 * Default drive strength isn't enough to achieve even
328 * high-speed mode on firefly board so bump up to 12ma.
329 */
330 sdmmc_bus4: sdmmc-bus4 {
331 rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_12ma>,
332 <6 17 RK_FUNC_1 &pcfg_pull_up_drv_12ma>,
333 <6 18 RK_FUNC_1 &pcfg_pull_up_drv_12ma>,
334 <6 19 RK_FUNC_1 &pcfg_pull_up_drv_12ma>;
335 };
336
337 sdmmc_clk: sdmmc-clk {
338 rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_12ma>;
339 };
340
341 sdmmc_cmd: sdmmc-cmd {
342 rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_12ma>;
343 };
344
345 sdmmc_pwr: sdmmc-pwr {
346 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
347 };
348 };
349
350 usb_host {
351 host_vbus_drv: host-vbus-drv {
352 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
353 };
354 };
355};
356
357&saradc {
358 vref-supply = <&vcc_18>;
359 status = "okay";
360};
361
362&sdmmc {
363 bus-width = <4>;
364 cap-mmc-highspeed;
365 cap-sd-highspeed;
366 card-detect-delay = <200>;
367 disable-wp;
368 num-slots = <1>;
369 pinctrl-names = "default";
370 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
371 vmmc-supply = <&vcc_sd>;
372 vqmmc-supply = <&vccio_sd>;
373 status = "okay";
374};
375
376&tsadc {
377 rockchip,hw-tshut-mode = <0>;
378 rockchip,hw-tshut-polarity = <0>;
379 status = "okay";
380};
381
382&uart2 {
383 status = "okay";
384};
385
386&uart3 {
387 status = "okay";
388};
389
390&usbphy {
391 status = "okay";
392};
393
394&usb_host1 {
395 vbus-supply = <&vcc_host>;
396 status = "okay";
397};
398
399&vopb {
400 status = "okay";
401};
402
403&vopb_mmu {
404 status = "okay";
405};
406
407&vopl {
408 status = "okay";
409};
410
411&vopl_mmu {
412 status = "okay";
413};
414
415&wdt {
416 status = "okay";
417};