xref: /linux/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dtsi (revision ff202c5028a195c07b16e1a2fbb8ca6b7ba11a1c)
1f3c6526dSDragan Simic// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2f3c6526dSDragan Simic/*
3f3c6526dSDragan Simic * Based on rk3328-nanopi-r2s.dts, which is:
4f3c6526dSDragan Simic *   Copyright (c) 2020 David Bauer <mail@david-bauer.net>
5f3c6526dSDragan Simic */
6f3c6526dSDragan Simic
7f3c6526dSDragan Simic/dts-v1/;
8f3c6526dSDragan Simic
9f3c6526dSDragan Simic#include <dt-bindings/gpio/gpio.h>
10f3c6526dSDragan Simic#include <dt-bindings/leds/common.h>
11f3c6526dSDragan Simic#include "rk3328.dtsi"
12f3c6526dSDragan Simic
13f3c6526dSDragan Simic/ {
14f3c6526dSDragan Simic	aliases {
15f3c6526dSDragan Simic		ethernet0 = &gmac2io;
16f3c6526dSDragan Simic		ethernet1 = &rtl8153;
17f3c6526dSDragan Simic		mmc0 = &sdmmc;
18f3c6526dSDragan Simic	};
19f3c6526dSDragan Simic
20f3c6526dSDragan Simic	chosen {
21f3c6526dSDragan Simic		stdout-path = "serial2:1500000n8";
22f3c6526dSDragan Simic	};
23f3c6526dSDragan Simic
24f3c6526dSDragan Simic	gmac_clk: gmac-clock {
25f3c6526dSDragan Simic		compatible = "fixed-clock";
26f3c6526dSDragan Simic		clock-frequency = <125000000>;
27f3c6526dSDragan Simic		clock-output-names = "gmac_clkin";
28f3c6526dSDragan Simic		#clock-cells = <0>;
29f3c6526dSDragan Simic	};
30f3c6526dSDragan Simic
31f3c6526dSDragan Simic	leds {
32f3c6526dSDragan Simic		compatible = "gpio-leds";
33f3c6526dSDragan Simic		pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
34f3c6526dSDragan Simic		pinctrl-names = "default";
35f3c6526dSDragan Simic
36f3c6526dSDragan Simic		led-0 {
37f3c6526dSDragan Simic			function = LED_FUNCTION_LAN;
38f3c6526dSDragan Simic			color = <LED_COLOR_ID_GREEN>;
39f3c6526dSDragan Simic			gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
40f3c6526dSDragan Simic		};
41f3c6526dSDragan Simic
42f3c6526dSDragan Simic		led-1 {
43f3c6526dSDragan Simic			function = LED_FUNCTION_STATUS;
44f3c6526dSDragan Simic			color = <LED_COLOR_ID_RED>;
45f3c6526dSDragan Simic			gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
46f3c6526dSDragan Simic			linux,default-trigger = "heartbeat";
47f3c6526dSDragan Simic		};
48f3c6526dSDragan Simic
49f3c6526dSDragan Simic		led-2 {
50f3c6526dSDragan Simic			function = LED_FUNCTION_WAN;
51f3c6526dSDragan Simic			color = <LED_COLOR_ID_GREEN>;
52f3c6526dSDragan Simic			gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
53f3c6526dSDragan Simic		};
54f3c6526dSDragan Simic	};
55f3c6526dSDragan Simic
56*5c96e633SJohan Jonker	vcc_sd: regulator-sdmmc {
57f3c6526dSDragan Simic		compatible = "regulator-fixed";
58f3c6526dSDragan Simic		gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
59f3c6526dSDragan Simic		pinctrl-0 = <&sdmmc0m1_pin>;
60f3c6526dSDragan Simic		pinctrl-names = "default";
61f3c6526dSDragan Simic		regulator-name = "vcc_sd";
62f3c6526dSDragan Simic		regulator-boot-on;
63f3c6526dSDragan Simic		vin-supply = <&vcc_io>;
64f3c6526dSDragan Simic	};
65f3c6526dSDragan Simic
66*5c96e633SJohan Jonker	vcc_sys: regulator-vcc-sys {
67f3c6526dSDragan Simic		compatible = "regulator-fixed";
68f3c6526dSDragan Simic		regulator-name = "vcc_sys";
69f3c6526dSDragan Simic		regulator-always-on;
70f3c6526dSDragan Simic		regulator-boot-on;
71f3c6526dSDragan Simic		regulator-min-microvolt = <5000000>;
72f3c6526dSDragan Simic		regulator-max-microvolt = <5000000>;
73f3c6526dSDragan Simic	};
74f3c6526dSDragan Simic
75*5c96e633SJohan Jonker	vdd_5v_lan: regulator-vdd-5v-lan {
76f3c6526dSDragan Simic		compatible = "regulator-fixed";
77f3c6526dSDragan Simic		enable-active-high;
78f3c6526dSDragan Simic		gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
79f3c6526dSDragan Simic		pinctrl-0 = <&lan_vdd_pin>;
80f3c6526dSDragan Simic		pinctrl-names = "default";
81f3c6526dSDragan Simic		regulator-name = "vdd_5v_lan";
82f3c6526dSDragan Simic		regulator-always-on;
83f3c6526dSDragan Simic		regulator-boot-on;
84f3c6526dSDragan Simic		vin-supply = <&vcc_sys>;
85f3c6526dSDragan Simic	};
86f3c6526dSDragan Simic};
87f3c6526dSDragan Simic
88f3c6526dSDragan Simic&cpu0 {
89f3c6526dSDragan Simic	cpu-supply = <&vdd_arm>;
90f3c6526dSDragan Simic};
91f3c6526dSDragan Simic
92f3c6526dSDragan Simic&cpu1 {
93f3c6526dSDragan Simic	cpu-supply = <&vdd_arm>;
94f3c6526dSDragan Simic};
95f3c6526dSDragan Simic
96f3c6526dSDragan Simic&cpu2 {
97f3c6526dSDragan Simic	cpu-supply = <&vdd_arm>;
98f3c6526dSDragan Simic};
99f3c6526dSDragan Simic
100f3c6526dSDragan Simic&cpu3 {
101f3c6526dSDragan Simic	cpu-supply = <&vdd_arm>;
102f3c6526dSDragan Simic};
103f3c6526dSDragan Simic
104f3c6526dSDragan Simic&display_subsystem {
105f3c6526dSDragan Simic	status = "disabled";
106f3c6526dSDragan Simic};
107f3c6526dSDragan Simic
108f3c6526dSDragan Simic&gmac2io {
109f3c6526dSDragan Simic	assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
110f3c6526dSDragan Simic	assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
111f3c6526dSDragan Simic	clock_in_out = "input";
112f3c6526dSDragan Simic	phy-supply = <&vcc_io>;
113f3c6526dSDragan Simic	pinctrl-0 = <&rgmiim1_pins>;
114f3c6526dSDragan Simic	pinctrl-names = "default";
115f3c6526dSDragan Simic
116f3c6526dSDragan Simic	mdio {
117f3c6526dSDragan Simic		compatible = "snps,dwmac-mdio";
118f3c6526dSDragan Simic		#address-cells = <1>;
119f3c6526dSDragan Simic		#size-cells = <0>;
120f3c6526dSDragan Simic	};
121f3c6526dSDragan Simic};
122f3c6526dSDragan Simic
123f3c6526dSDragan Simic&i2c1 {
124f3c6526dSDragan Simic	status = "okay";
125f3c6526dSDragan Simic
126f3c6526dSDragan Simic	rk805: pmic@18 {
127f3c6526dSDragan Simic		compatible = "rockchip,rk805";
128f3c6526dSDragan Simic		reg = <0x18>;
129f3c6526dSDragan Simic		interrupt-parent = <&gpio1>;
130f3c6526dSDragan Simic		interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
131f3c6526dSDragan Simic		#clock-cells = <1>;
132f3c6526dSDragan Simic		clock-output-names = "xin32k", "rk805-clkout2";
133f3c6526dSDragan Simic		gpio-controller;
134f3c6526dSDragan Simic		#gpio-cells = <2>;
135f3c6526dSDragan Simic		pinctrl-0 = <&pmic_int_l>;
136f3c6526dSDragan Simic		pinctrl-names = "default";
137f3c6526dSDragan Simic		system-power-controller;
138f3c6526dSDragan Simic		wakeup-source;
139f3c6526dSDragan Simic
140f3c6526dSDragan Simic		vcc1-supply = <&vcc_sys>;
141f3c6526dSDragan Simic		vcc2-supply = <&vcc_sys>;
142f3c6526dSDragan Simic		vcc3-supply = <&vcc_sys>;
143f3c6526dSDragan Simic		vcc4-supply = <&vcc_sys>;
144f3c6526dSDragan Simic		vcc5-supply = <&vcc_io>;
145f3c6526dSDragan Simic		vcc6-supply = <&vcc_sys>;
146f3c6526dSDragan Simic
147f3c6526dSDragan Simic		regulators {
148f3c6526dSDragan Simic			vdd_log: DCDC_REG1 {
149f3c6526dSDragan Simic				regulator-name = "vdd_log";
150f3c6526dSDragan Simic				regulator-always-on;
151f3c6526dSDragan Simic				regulator-boot-on;
152f3c6526dSDragan Simic				regulator-min-microvolt = <712500>;
153f3c6526dSDragan Simic				regulator-max-microvolt = <1450000>;
154f3c6526dSDragan Simic				regulator-ramp-delay = <12500>;
155f3c6526dSDragan Simic
156f3c6526dSDragan Simic				regulator-state-mem {
157f3c6526dSDragan Simic					regulator-on-in-suspend;
158f3c6526dSDragan Simic					regulator-suspend-microvolt = <1000000>;
159f3c6526dSDragan Simic				};
160f3c6526dSDragan Simic			};
161f3c6526dSDragan Simic
162f3c6526dSDragan Simic			vdd_arm: DCDC_REG2 {
163f3c6526dSDragan Simic				regulator-name = "vdd_arm";
164f3c6526dSDragan Simic				regulator-always-on;
165f3c6526dSDragan Simic				regulator-boot-on;
166f3c6526dSDragan Simic				regulator-min-microvolt = <712500>;
167f3c6526dSDragan Simic				regulator-max-microvolt = <1450000>;
168f3c6526dSDragan Simic				regulator-ramp-delay = <12500>;
169f3c6526dSDragan Simic
170f3c6526dSDragan Simic				regulator-state-mem {
171f3c6526dSDragan Simic					regulator-on-in-suspend;
172f3c6526dSDragan Simic					regulator-suspend-microvolt = <950000>;
173f3c6526dSDragan Simic				};
174f3c6526dSDragan Simic			};
175f3c6526dSDragan Simic
176f3c6526dSDragan Simic			vcc_ddr: DCDC_REG3 {
177f3c6526dSDragan Simic				regulator-name = "vcc_ddr";
178f3c6526dSDragan Simic				regulator-always-on;
179f3c6526dSDragan Simic				regulator-boot-on;
180f3c6526dSDragan Simic
181f3c6526dSDragan Simic				regulator-state-mem {
182f3c6526dSDragan Simic					regulator-on-in-suspend;
183f3c6526dSDragan Simic				};
184f3c6526dSDragan Simic			};
185f3c6526dSDragan Simic
186f3c6526dSDragan Simic			vcc_io: DCDC_REG4 {
187f3c6526dSDragan Simic				regulator-name = "vcc_io";
188f3c6526dSDragan Simic				regulator-always-on;
189f3c6526dSDragan Simic				regulator-boot-on;
190f3c6526dSDragan Simic				regulator-min-microvolt = <3300000>;
191f3c6526dSDragan Simic				regulator-max-microvolt = <3300000>;
192f3c6526dSDragan Simic
193f3c6526dSDragan Simic				regulator-state-mem {
194f3c6526dSDragan Simic					regulator-on-in-suspend;
195f3c6526dSDragan Simic					regulator-suspend-microvolt = <3300000>;
196f3c6526dSDragan Simic				};
197f3c6526dSDragan Simic			};
198f3c6526dSDragan Simic
199f3c6526dSDragan Simic			vcc_18: LDO_REG1 {
200f3c6526dSDragan Simic				regulator-name = "vcc_18";
201f3c6526dSDragan Simic				regulator-always-on;
202f3c6526dSDragan Simic				regulator-boot-on;
203f3c6526dSDragan Simic				regulator-min-microvolt = <1800000>;
204f3c6526dSDragan Simic				regulator-max-microvolt = <1800000>;
205f3c6526dSDragan Simic
206f3c6526dSDragan Simic				regulator-state-mem {
207f3c6526dSDragan Simic					regulator-on-in-suspend;
208f3c6526dSDragan Simic					regulator-suspend-microvolt = <1800000>;
209f3c6526dSDragan Simic				};
210f3c6526dSDragan Simic			};
211f3c6526dSDragan Simic
212f3c6526dSDragan Simic			vcc18_emmc: LDO_REG2 {
213f3c6526dSDragan Simic				regulator-name = "vcc18_emmc";
214f3c6526dSDragan Simic				regulator-always-on;
215f3c6526dSDragan Simic				regulator-boot-on;
216f3c6526dSDragan Simic				regulator-min-microvolt = <1800000>;
217f3c6526dSDragan Simic				regulator-max-microvolt = <1800000>;
218f3c6526dSDragan Simic
219f3c6526dSDragan Simic				regulator-state-mem {
220f3c6526dSDragan Simic					regulator-on-in-suspend;
221f3c6526dSDragan Simic					regulator-suspend-microvolt = <1800000>;
222f3c6526dSDragan Simic				};
223f3c6526dSDragan Simic			};
224f3c6526dSDragan Simic
225f3c6526dSDragan Simic			vdd_10: LDO_REG3 {
226f3c6526dSDragan Simic				regulator-name = "vdd_10";
227f3c6526dSDragan Simic				regulator-always-on;
228f3c6526dSDragan Simic				regulator-boot-on;
229f3c6526dSDragan Simic				regulator-min-microvolt = <1000000>;
230f3c6526dSDragan Simic				regulator-max-microvolt = <1000000>;
231f3c6526dSDragan Simic
232f3c6526dSDragan Simic				regulator-state-mem {
233f3c6526dSDragan Simic					regulator-on-in-suspend;
234f3c6526dSDragan Simic					regulator-suspend-microvolt = <1000000>;
235f3c6526dSDragan Simic				};
236f3c6526dSDragan Simic			};
237f3c6526dSDragan Simic		};
238f3c6526dSDragan Simic	};
239f3c6526dSDragan Simic};
240f3c6526dSDragan Simic
241f3c6526dSDragan Simic&io_domains {
242f3c6526dSDragan Simic	pmuio-supply = <&vcc_io>;
243f3c6526dSDragan Simic	vccio1-supply = <&vcc_io>;
244f3c6526dSDragan Simic	vccio2-supply = <&vcc18_emmc>;
245f3c6526dSDragan Simic	vccio3-supply = <&vcc_io>;
246f3c6526dSDragan Simic	vccio4-supply = <&vcc_io>;
247f3c6526dSDragan Simic	vccio5-supply = <&vcc_io>;
248f3c6526dSDragan Simic	vccio6-supply = <&vcc_io>;
249f3c6526dSDragan Simic	status = "okay";
250f3c6526dSDragan Simic};
251f3c6526dSDragan Simic
252f3c6526dSDragan Simic&pinctrl {
253f3c6526dSDragan Simic	gmac2io {
254f3c6526dSDragan Simic		eth_phy_reset_pin: eth-phy-reset-pin {
255f3c6526dSDragan Simic			rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
256f3c6526dSDragan Simic		};
257f3c6526dSDragan Simic	};
258f3c6526dSDragan Simic
259f3c6526dSDragan Simic	leds {
260f3c6526dSDragan Simic		lan_led_pin: lan-led-pin {
261f3c6526dSDragan Simic			rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
262f3c6526dSDragan Simic		};
263f3c6526dSDragan Simic
264f3c6526dSDragan Simic		sys_led_pin: sys-led-pin {
265f3c6526dSDragan Simic			rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
266f3c6526dSDragan Simic		};
267f3c6526dSDragan Simic
268f3c6526dSDragan Simic		wan_led_pin: wan-led-pin {
269f3c6526dSDragan Simic			rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
270f3c6526dSDragan Simic		};
271f3c6526dSDragan Simic	};
272f3c6526dSDragan Simic
273f3c6526dSDragan Simic	lan {
274f3c6526dSDragan Simic		lan_vdd_pin: lan-vdd-pin {
275f3c6526dSDragan Simic			rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
276f3c6526dSDragan Simic		};
277f3c6526dSDragan Simic	};
278f3c6526dSDragan Simic
279f3c6526dSDragan Simic	pmic {
280f3c6526dSDragan Simic		pmic_int_l: pmic-int-l {
281f3c6526dSDragan Simic			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
282f3c6526dSDragan Simic		};
283f3c6526dSDragan Simic	};
284f3c6526dSDragan Simic};
285f3c6526dSDragan Simic
286f3c6526dSDragan Simic&pwm2 {
287f3c6526dSDragan Simic	status = "okay";
288f3c6526dSDragan Simic};
289f3c6526dSDragan Simic
290f3c6526dSDragan Simic&sdmmc {
291f3c6526dSDragan Simic	bus-width = <4>;
292f3c6526dSDragan Simic	cap-sd-highspeed;
293f3c6526dSDragan Simic	disable-wp;
294f3c6526dSDragan Simic	pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
295f3c6526dSDragan Simic	pinctrl-names = "default";
296f3c6526dSDragan Simic	vmmc-supply = <&vcc_sd>;
297f3c6526dSDragan Simic	status = "okay";
298f3c6526dSDragan Simic};
299f3c6526dSDragan Simic
300f3c6526dSDragan Simic&spi0 {
301f3c6526dSDragan Simic	status = "okay";
302f3c6526dSDragan Simic
303f3c6526dSDragan Simic	flash@0 {
304f3c6526dSDragan Simic		compatible = "jedec,spi-nor";
305f3c6526dSDragan Simic		reg = <0>;
306f3c6526dSDragan Simic		spi-max-frequency = <50000000>;
307f3c6526dSDragan Simic	};
308f3c6526dSDragan Simic};
309f3c6526dSDragan Simic
310f3c6526dSDragan Simic&tsadc {
311f3c6526dSDragan Simic	rockchip,hw-tshut-mode = <0>;
312f3c6526dSDragan Simic	rockchip,hw-tshut-polarity = <0>;
313f3c6526dSDragan Simic	status = "okay";
314f3c6526dSDragan Simic};
315f3c6526dSDragan Simic
316f3c6526dSDragan Simic&u2phy {
317f3c6526dSDragan Simic	status = "okay";
318f3c6526dSDragan Simic};
319f3c6526dSDragan Simic
320f3c6526dSDragan Simic&u2phy_host {
321f3c6526dSDragan Simic	status = "okay";
322f3c6526dSDragan Simic};
323f3c6526dSDragan Simic
324f3c6526dSDragan Simic&u2phy_otg {
325f3c6526dSDragan Simic	status = "okay";
326f3c6526dSDragan Simic};
327f3c6526dSDragan Simic
328f3c6526dSDragan Simic&uart2 {
329f3c6526dSDragan Simic	status = "okay";
330f3c6526dSDragan Simic};
331f3c6526dSDragan Simic
332f3c6526dSDragan Simic&usb20_otg {
333f3c6526dSDragan Simic	dr_mode = "host";
334f3c6526dSDragan Simic	status = "okay";
335f3c6526dSDragan Simic};
336f3c6526dSDragan Simic
337f3c6526dSDragan Simic&usbdrd3 {
338f3c6526dSDragan Simic	dr_mode = "host";
339f3c6526dSDragan Simic	status = "okay";
340f3c6526dSDragan Simic	#address-cells = <1>;
341f3c6526dSDragan Simic	#size-cells = <0>;
342f3c6526dSDragan Simic
343f3c6526dSDragan Simic	/* Second port is for USB 3.0 */
344f3c6526dSDragan Simic	rtl8153: device@2 {
345f3c6526dSDragan Simic		compatible = "usbbda,8153";
346f3c6526dSDragan Simic		reg = <2>;
347f3c6526dSDragan Simic	};
348f3c6526dSDragan Simic};
349f3c6526dSDragan Simic
350f3c6526dSDragan Simic&usb_host0_ehci {
351f3c6526dSDragan Simic	status = "okay";
352f3c6526dSDragan Simic};
353f3c6526dSDragan Simic
354f3c6526dSDragan Simic&usb_host0_ohci {
355f3c6526dSDragan Simic	status = "okay";
356f3c6526dSDragan Simic};
357