xref: /openbmc/linux/arch/arm64/boot/dts/rockchip/rk3568-roc-pc.dts (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1*007b4bb4SFurkan Kardame// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*007b4bb4SFurkan Kardame/*
3*007b4bb4SFurkan Kardame * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4*007b4bb4SFurkan Kardame */
5*007b4bb4SFurkan Kardame
6*007b4bb4SFurkan Kardame/dts-v1/;
7*007b4bb4SFurkan Kardame
8*007b4bb4SFurkan Kardame#include <dt-bindings/gpio/gpio.h>
9*007b4bb4SFurkan Kardame#include <dt-bindings/pinctrl/rockchip.h>
10*007b4bb4SFurkan Kardame#include <dt-bindings/soc/rockchip,vop2.h>
11*007b4bb4SFurkan Kardame#include "rk3568.dtsi"
12*007b4bb4SFurkan Kardame
13*007b4bb4SFurkan Kardame/ {
14*007b4bb4SFurkan Kardame	model = "Firefly Station P2";
15*007b4bb4SFurkan Kardame	compatible = "firefly,rk3568-roc-pc", "rockchip,rk3568";
16*007b4bb4SFurkan Kardame
17*007b4bb4SFurkan Kardame	aliases {
18*007b4bb4SFurkan Kardame		ethernet0 = &gmac0;
19*007b4bb4SFurkan Kardame		ethernet1 = &gmac1;
20*007b4bb4SFurkan Kardame		mmc0 = &sdmmc0;
21*007b4bb4SFurkan Kardame		mmc1 = &sdhci;
22*007b4bb4SFurkan Kardame	};
23*007b4bb4SFurkan Kardame
24*007b4bb4SFurkan Kardame	chosen: chosen {
25*007b4bb4SFurkan Kardame		stdout-path = "serial2:1500000n8";
26*007b4bb4SFurkan Kardame	};
27*007b4bb4SFurkan Kardame
28*007b4bb4SFurkan Kardame	dc_12v: dc-12v-regulator {
29*007b4bb4SFurkan Kardame		compatible = "regulator-fixed";
30*007b4bb4SFurkan Kardame		regulator-name = "dc_12v";
31*007b4bb4SFurkan Kardame		regulator-always-on;
32*007b4bb4SFurkan Kardame		regulator-boot-on;
33*007b4bb4SFurkan Kardame		regulator-min-microvolt = <12000000>;
34*007b4bb4SFurkan Kardame		regulator-max-microvolt = <12000000>;
35*007b4bb4SFurkan Kardame	};
36*007b4bb4SFurkan Kardame
37*007b4bb4SFurkan Kardame	gmac0_clkin: external-gmac0-clock {
38*007b4bb4SFurkan Kardame		compatible = "fixed-clock";
39*007b4bb4SFurkan Kardame		clock-frequency = <125000000>;
40*007b4bb4SFurkan Kardame		clock-output-names = "gmac0_clkin";
41*007b4bb4SFurkan Kardame		#clock-cells = <0>;
42*007b4bb4SFurkan Kardame	};
43*007b4bb4SFurkan Kardame
44*007b4bb4SFurkan Kardame	gmac1_clkin: external-gmac1-clock {
45*007b4bb4SFurkan Kardame		compatible = "fixed-clock";
46*007b4bb4SFurkan Kardame		clock-frequency = <125000000>;
47*007b4bb4SFurkan Kardame		clock-output-names = "gmac1_clkin";
48*007b4bb4SFurkan Kardame		#clock-cells = <0>;
49*007b4bb4SFurkan Kardame	};
50*007b4bb4SFurkan Kardame
51*007b4bb4SFurkan Kardame	leds {
52*007b4bb4SFurkan Kardame		compatible = "gpio-leds";
53*007b4bb4SFurkan Kardame
54*007b4bb4SFurkan Kardame		led-user {
55*007b4bb4SFurkan Kardame			label = "user-led";
56*007b4bb4SFurkan Kardame			default-state = "on";
57*007b4bb4SFurkan Kardame			gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
58*007b4bb4SFurkan Kardame			linux,default-trigger = "heartbeat";
59*007b4bb4SFurkan Kardame			pinctrl-names = "default";
60*007b4bb4SFurkan Kardame			pinctrl-0 = <&user_led_enable_h>;
61*007b4bb4SFurkan Kardame			retain-state-suspended;
62*007b4bb4SFurkan Kardame		};
63*007b4bb4SFurkan Kardame	};
64*007b4bb4SFurkan Kardame
65*007b4bb4SFurkan Kardame	hdmi-con {
66*007b4bb4SFurkan Kardame		compatible = "hdmi-connector";
67*007b4bb4SFurkan Kardame		type = "a";
68*007b4bb4SFurkan Kardame
69*007b4bb4SFurkan Kardame		port {
70*007b4bb4SFurkan Kardame			hdmi_con_in: endpoint {
71*007b4bb4SFurkan Kardame				remote-endpoint = <&hdmi_out_con>;
72*007b4bb4SFurkan Kardame			};
73*007b4bb4SFurkan Kardame		};
74*007b4bb4SFurkan Kardame	};
75*007b4bb4SFurkan Kardame
76*007b4bb4SFurkan Kardame	pcie30_avdd0v9: pcie30-avdd0v9-regulator {
77*007b4bb4SFurkan Kardame		compatible = "regulator-fixed";
78*007b4bb4SFurkan Kardame		regulator-name = "pcie30_avdd0v9";
79*007b4bb4SFurkan Kardame		regulator-always-on;
80*007b4bb4SFurkan Kardame		regulator-boot-on;
81*007b4bb4SFurkan Kardame		regulator-min-microvolt = <900000>;
82*007b4bb4SFurkan Kardame		regulator-max-microvolt = <900000>;
83*007b4bb4SFurkan Kardame		vin-supply = <&vcc3v3_sys>;
84*007b4bb4SFurkan Kardame	};
85*007b4bb4SFurkan Kardame
86*007b4bb4SFurkan Kardame	pcie30_avdd1v8: pcie30-avdd1v8-regulator {
87*007b4bb4SFurkan Kardame		compatible = "regulator-fixed";
88*007b4bb4SFurkan Kardame		regulator-name = "pcie30_avdd1v8";
89*007b4bb4SFurkan Kardame		regulator-always-on;
90*007b4bb4SFurkan Kardame		regulator-boot-on;
91*007b4bb4SFurkan Kardame		regulator-min-microvolt = <1800000>;
92*007b4bb4SFurkan Kardame		regulator-max-microvolt = <1800000>;
93*007b4bb4SFurkan Kardame		vin-supply = <&vcc3v3_sys>;
94*007b4bb4SFurkan Kardame	};
95*007b4bb4SFurkan Kardame
96*007b4bb4SFurkan Kardame	vcc3v3_sys: vcc3v3-sys-regulator {
97*007b4bb4SFurkan Kardame		compatible = "regulator-fixed";
98*007b4bb4SFurkan Kardame		regulator-name = "vcc3v3_sys";
99*007b4bb4SFurkan Kardame		regulator-always-on;
100*007b4bb4SFurkan Kardame		regulator-boot-on;
101*007b4bb4SFurkan Kardame		regulator-min-microvolt = <3300000>;
102*007b4bb4SFurkan Kardame		regulator-max-microvolt = <3300000>;
103*007b4bb4SFurkan Kardame		vin-supply = <&dc_12v>;
104*007b4bb4SFurkan Kardame	};
105*007b4bb4SFurkan Kardame
106*007b4bb4SFurkan Kardame	vcc3v3_pcie: vcc3v3-pcie-regulator {
107*007b4bb4SFurkan Kardame		compatible = "regulator-fixed";
108*007b4bb4SFurkan Kardame		regulator-name = "vcc3v3_pcie";
109*007b4bb4SFurkan Kardame		enable-active-high;
110*007b4bb4SFurkan Kardame		regulator-min-microvolt = <3300000>;
111*007b4bb4SFurkan Kardame		regulator-max-microvolt = <3300000>;
112*007b4bb4SFurkan Kardame		pinctrl-names = "default";
113*007b4bb4SFurkan Kardame		pinctrl-0 = <&vcc3v3_pcie_en_pin>;
114*007b4bb4SFurkan Kardame		gpio = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
115*007b4bb4SFurkan Kardame		startup-delay-us = <5000>;
116*007b4bb4SFurkan Kardame		vin-supply = <&vcc5v0_sys>;
117*007b4bb4SFurkan Kardame	};
118*007b4bb4SFurkan Kardame
119*007b4bb4SFurkan Kardame	vcc5v0_sys: vcc5v0-sys-regulator {
120*007b4bb4SFurkan Kardame		compatible = "regulator-fixed";
121*007b4bb4SFurkan Kardame		regulator-name = "vcc5v0_sys";
122*007b4bb4SFurkan Kardame		regulator-always-on;
123*007b4bb4SFurkan Kardame		regulator-boot-on;
124*007b4bb4SFurkan Kardame		regulator-min-microvolt = <5000000>;
125*007b4bb4SFurkan Kardame		regulator-max-microvolt = <5000000>;
126*007b4bb4SFurkan Kardame		vin-supply = <&dc_12v>;
127*007b4bb4SFurkan Kardame	};
128*007b4bb4SFurkan Kardame
129*007b4bb4SFurkan Kardame	vcc5v0_usb: vcc5v0-usb-regulator {
130*007b4bb4SFurkan Kardame		compatible = "regulator-fixed";
131*007b4bb4SFurkan Kardame		regulator-name = "vcc5v0_usb";
132*007b4bb4SFurkan Kardame		regulator-always-on;
133*007b4bb4SFurkan Kardame		regulator-boot-on;
134*007b4bb4SFurkan Kardame		regulator-min-microvolt = <5000000>;
135*007b4bb4SFurkan Kardame		regulator-max-microvolt = <5000000>;
136*007b4bb4SFurkan Kardame		vin-supply = <&vcc5v0_sys>;
137*007b4bb4SFurkan Kardame	};
138*007b4bb4SFurkan Kardame
139*007b4bb4SFurkan Kardame	vcc5v0_host: vcc5v0-host-regulator {
140*007b4bb4SFurkan Kardame		compatible = "regulator-fixed";
141*007b4bb4SFurkan Kardame		regulator-name = "vcc5v0_host";
142*007b4bb4SFurkan Kardame		enable-active-high;
143*007b4bb4SFurkan Kardame		gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
144*007b4bb4SFurkan Kardame		pinctrl-names = "default";
145*007b4bb4SFurkan Kardame		pinctrl-0 = <&vcc5v0_host_en>;
146*007b4bb4SFurkan Kardame		regulator-always-on;
147*007b4bb4SFurkan Kardame		vin-supply = <&vcc5v0_usb>;
148*007b4bb4SFurkan Kardame	};
149*007b4bb4SFurkan Kardame
150*007b4bb4SFurkan Kardame	vcc5v0_otg: vcc5v0-otg-regulator {
151*007b4bb4SFurkan Kardame		compatible = "regulator-fixed";
152*007b4bb4SFurkan Kardame		regulator-name = "vcc5v0_otg";
153*007b4bb4SFurkan Kardame		enable-active-high;
154*007b4bb4SFurkan Kardame		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
155*007b4bb4SFurkan Kardame		pinctrl-names = "default";
156*007b4bb4SFurkan Kardame		pinctrl-0 = <&vcc5v0_otg_en>;
157*007b4bb4SFurkan Kardame		vin-supply = <&vcc5v0_usb>;
158*007b4bb4SFurkan Kardame	};
159*007b4bb4SFurkan Kardame};
160*007b4bb4SFurkan Kardame
161*007b4bb4SFurkan Kardame&combphy0 {
162*007b4bb4SFurkan Kardame	/* used for USB3 */
163*007b4bb4SFurkan Kardame	status = "okay";
164*007b4bb4SFurkan Kardame};
165*007b4bb4SFurkan Kardame
166*007b4bb4SFurkan Kardame&combphy1 {
167*007b4bb4SFurkan Kardame	/* used for USB3 */
168*007b4bb4SFurkan Kardame	status = "okay";
169*007b4bb4SFurkan Kardame};
170*007b4bb4SFurkan Kardame
171*007b4bb4SFurkan Kardame&combphy2 {
172*007b4bb4SFurkan Kardame	/* used for SATA */
173*007b4bb4SFurkan Kardame	status = "okay";
174*007b4bb4SFurkan Kardame};
175*007b4bb4SFurkan Kardame
176*007b4bb4SFurkan Kardame&gmac0 {
177*007b4bb4SFurkan Kardame	assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
178*007b4bb4SFurkan Kardame	assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&gmac0_clkin>;
179*007b4bb4SFurkan Kardame	clock_in_out = "input";
180*007b4bb4SFurkan Kardame	pinctrl-names = "default";
181*007b4bb4SFurkan Kardame	pinctrl-0 = <&gmac0_miim
182*007b4bb4SFurkan Kardame			&gmac0_tx_bus2
183*007b4bb4SFurkan Kardame			&gmac0_rx_bus2
184*007b4bb4SFurkan Kardame			&gmac0_rgmii_clk
185*007b4bb4SFurkan Kardame			&gmac0_rgmii_bus
186*007b4bb4SFurkan Kardame			&gmac0_clkinout>;
187*007b4bb4SFurkan Kardame	phy-handle = <&rgmii_phy0>;
188*007b4bb4SFurkan Kardame	phy-mode = "rgmii";
189*007b4bb4SFurkan Kardame	snps,reset-gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;
190*007b4bb4SFurkan Kardame	snps,reset-active-low;
191*007b4bb4SFurkan Kardame	/* Reset time is 20ms, 100ms for rtl8211f */
192*007b4bb4SFurkan Kardame	snps,reset-delays-us = <0 20000 100000>;
193*007b4bb4SFurkan Kardame	tx_delay = <0x3c>;
194*007b4bb4SFurkan Kardame	rx_delay = <0x2f>;
195*007b4bb4SFurkan Kardame	status = "okay";
196*007b4bb4SFurkan Kardame};
197*007b4bb4SFurkan Kardame
198*007b4bb4SFurkan Kardame&gmac1 {
199*007b4bb4SFurkan Kardame	assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
200*007b4bb4SFurkan Kardame	assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>;
201*007b4bb4SFurkan Kardame	clock_in_out = "input";
202*007b4bb4SFurkan Kardame	pinctrl-names = "default";
203*007b4bb4SFurkan Kardame	pinctrl-0 = <&gmac1m1_miim
204*007b4bb4SFurkan Kardame			&gmac1m1_tx_bus2
205*007b4bb4SFurkan Kardame			&gmac1m1_rx_bus2
206*007b4bb4SFurkan Kardame			&gmac1m1_rgmii_clk
207*007b4bb4SFurkan Kardame			&gmac1m1_rgmii_bus
208*007b4bb4SFurkan Kardame			&gmac1m1_clkinout>;
209*007b4bb4SFurkan Kardame	phy-handle = <&rgmii_phy1>;
210*007b4bb4SFurkan Kardame	phy-mode = "rgmii";
211*007b4bb4SFurkan Kardame	snps,reset-gpio = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>;
212*007b4bb4SFurkan Kardame	snps,reset-active-low;
213*007b4bb4SFurkan Kardame	/* Reset time is 20ms, 100ms for rtl8211f */
214*007b4bb4SFurkan Kardame	snps,reset-delays-us = <0 20000 100000>;
215*007b4bb4SFurkan Kardame	tx_delay = <0x4f>;
216*007b4bb4SFurkan Kardame	rx_delay = <0x26>;
217*007b4bb4SFurkan Kardame	status = "okay";
218*007b4bb4SFurkan Kardame};
219*007b4bb4SFurkan Kardame
220*007b4bb4SFurkan Kardame&gpu {
221*007b4bb4SFurkan Kardame	mali-supply = <&vdd_gpu>;
222*007b4bb4SFurkan Kardame	status = "okay";
223*007b4bb4SFurkan Kardame};
224*007b4bb4SFurkan Kardame
225*007b4bb4SFurkan Kardame&hdmi {
226*007b4bb4SFurkan Kardame	avdd-0v9-supply = <&vdda0v9_image>;
227*007b4bb4SFurkan Kardame	avdd-1v8-supply = <&vcca1v8_image>;
228*007b4bb4SFurkan Kardame	status = "okay";
229*007b4bb4SFurkan Kardame};
230*007b4bb4SFurkan Kardame
231*007b4bb4SFurkan Kardame&hdmi_in {
232*007b4bb4SFurkan Kardame	hdmi_in_vp0: endpoint {
233*007b4bb4SFurkan Kardame		remote-endpoint = <&vp0_out_hdmi>;
234*007b4bb4SFurkan Kardame	};
235*007b4bb4SFurkan Kardame};
236*007b4bb4SFurkan Kardame
237*007b4bb4SFurkan Kardame&hdmi_out {
238*007b4bb4SFurkan Kardame	hdmi_out_con: endpoint {
239*007b4bb4SFurkan Kardame		remote-endpoint = <&hdmi_con_in>;
240*007b4bb4SFurkan Kardame	};
241*007b4bb4SFurkan Kardame};
242*007b4bb4SFurkan Kardame
243*007b4bb4SFurkan Kardame&hdmi_sound {
244*007b4bb4SFurkan Kardame	status = "okay";
245*007b4bb4SFurkan Kardame};
246*007b4bb4SFurkan Kardame
247*007b4bb4SFurkan Kardame&i2c0 {
248*007b4bb4SFurkan Kardame	status = "okay";
249*007b4bb4SFurkan Kardame
250*007b4bb4SFurkan Kardame	rk809: pmic@20 {
251*007b4bb4SFurkan Kardame		compatible = "rockchip,rk809";
252*007b4bb4SFurkan Kardame		reg = <0x20>;
253*007b4bb4SFurkan Kardame		interrupt-parent = <&gpio0>;
254*007b4bb4SFurkan Kardame		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
255*007b4bb4SFurkan Kardame		#clock-cells = <1>;
256*007b4bb4SFurkan Kardame		pinctrl-names = "default";
257*007b4bb4SFurkan Kardame		pinctrl-0 = <&pmic_int>;
258*007b4bb4SFurkan Kardame		rockchip,system-power-controller;
259*007b4bb4SFurkan Kardame		vcc1-supply = <&vcc3v3_sys>;
260*007b4bb4SFurkan Kardame		vcc2-supply = <&vcc3v3_sys>;
261*007b4bb4SFurkan Kardame		vcc3-supply = <&vcc3v3_sys>;
262*007b4bb4SFurkan Kardame		vcc4-supply = <&vcc3v3_sys>;
263*007b4bb4SFurkan Kardame		vcc5-supply = <&vcc3v3_sys>;
264*007b4bb4SFurkan Kardame		vcc6-supply = <&vcc3v3_sys>;
265*007b4bb4SFurkan Kardame		vcc7-supply = <&vcc3v3_sys>;
266*007b4bb4SFurkan Kardame		vcc8-supply = <&vcc3v3_sys>;
267*007b4bb4SFurkan Kardame		vcc9-supply = <&vcc3v3_sys>;
268*007b4bb4SFurkan Kardame		wakeup-source;
269*007b4bb4SFurkan Kardame
270*007b4bb4SFurkan Kardame		regulators {
271*007b4bb4SFurkan Kardame			vdd_logic: DCDC_REG1 {
272*007b4bb4SFurkan Kardame				regulator-name = "vdd_logic";
273*007b4bb4SFurkan Kardame				regulator-always-on;
274*007b4bb4SFurkan Kardame				regulator-boot-on;
275*007b4bb4SFurkan Kardame				regulator-init-microvolt = <900000>;
276*007b4bb4SFurkan Kardame				regulator-initial-mode = <0x2>;
277*007b4bb4SFurkan Kardame				regulator-min-microvolt = <500000>;
278*007b4bb4SFurkan Kardame				regulator-max-microvolt = <1350000>;
279*007b4bb4SFurkan Kardame				regulator-ramp-delay = <6001>;
280*007b4bb4SFurkan Kardame
281*007b4bb4SFurkan Kardame				regulator-state-mem {
282*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
283*007b4bb4SFurkan Kardame				};
284*007b4bb4SFurkan Kardame			};
285*007b4bb4SFurkan Kardame
286*007b4bb4SFurkan Kardame			vdd_gpu: DCDC_REG2 {
287*007b4bb4SFurkan Kardame				regulator-name = "vdd_gpu";
288*007b4bb4SFurkan Kardame				regulator-init-microvolt = <900000>;
289*007b4bb4SFurkan Kardame				regulator-initial-mode = <0x2>;
290*007b4bb4SFurkan Kardame				regulator-min-microvolt = <500000>;
291*007b4bb4SFurkan Kardame				regulator-max-microvolt = <1350000>;
292*007b4bb4SFurkan Kardame				regulator-ramp-delay = <6001>;
293*007b4bb4SFurkan Kardame
294*007b4bb4SFurkan Kardame				regulator-state-mem {
295*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
296*007b4bb4SFurkan Kardame				};
297*007b4bb4SFurkan Kardame			};
298*007b4bb4SFurkan Kardame
299*007b4bb4SFurkan Kardame			vcc_ddr: DCDC_REG3 {
300*007b4bb4SFurkan Kardame				regulator-name = "vcc_ddr";
301*007b4bb4SFurkan Kardame				regulator-always-on;
302*007b4bb4SFurkan Kardame				regulator-boot-on;
303*007b4bb4SFurkan Kardame				regulator-initial-mode = <0x2>;
304*007b4bb4SFurkan Kardame
305*007b4bb4SFurkan Kardame				regulator-state-mem {
306*007b4bb4SFurkan Kardame					regulator-on-in-suspend;
307*007b4bb4SFurkan Kardame				};
308*007b4bb4SFurkan Kardame			};
309*007b4bb4SFurkan Kardame
310*007b4bb4SFurkan Kardame			vdd_npu: DCDC_REG4 {
311*007b4bb4SFurkan Kardame				regulator-name = "vdd_npu";
312*007b4bb4SFurkan Kardame				regulator-init-microvolt = <900000>;
313*007b4bb4SFurkan Kardame				regulator-initial-mode = <0x2>;
314*007b4bb4SFurkan Kardame				regulator-min-microvolt = <500000>;
315*007b4bb4SFurkan Kardame				regulator-max-microvolt = <1350000>;
316*007b4bb4SFurkan Kardame				regulator-ramp-delay = <6001>;
317*007b4bb4SFurkan Kardame
318*007b4bb4SFurkan Kardame				regulator-state-mem {
319*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
320*007b4bb4SFurkan Kardame				};
321*007b4bb4SFurkan Kardame			};
322*007b4bb4SFurkan Kardame
323*007b4bb4SFurkan Kardame			vcc_1v8: DCDC_REG5 {
324*007b4bb4SFurkan Kardame				regulator-name = "vcc_1v8";
325*007b4bb4SFurkan Kardame				regulator-always-on;
326*007b4bb4SFurkan Kardame				regulator-boot-on;
327*007b4bb4SFurkan Kardame				regulator-min-microvolt = <1800000>;
328*007b4bb4SFurkan Kardame				regulator-max-microvolt = <1800000>;
329*007b4bb4SFurkan Kardame
330*007b4bb4SFurkan Kardame				regulator-state-mem {
331*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
332*007b4bb4SFurkan Kardame				};
333*007b4bb4SFurkan Kardame			};
334*007b4bb4SFurkan Kardame
335*007b4bb4SFurkan Kardame			vdda0v9_image: LDO_REG1 {
336*007b4bb4SFurkan Kardame				regulator-name = "vdda0v9_image";
337*007b4bb4SFurkan Kardame				regulator-min-microvolt = <900000>;
338*007b4bb4SFurkan Kardame				regulator-max-microvolt = <900000>;
339*007b4bb4SFurkan Kardame
340*007b4bb4SFurkan Kardame				regulator-state-mem {
341*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
342*007b4bb4SFurkan Kardame				};
343*007b4bb4SFurkan Kardame			};
344*007b4bb4SFurkan Kardame
345*007b4bb4SFurkan Kardame			vdda_0v9: LDO_REG2 {
346*007b4bb4SFurkan Kardame				regulator-name = "vdda_0v9";
347*007b4bb4SFurkan Kardame				regulator-always-on;
348*007b4bb4SFurkan Kardame				regulator-boot-on;
349*007b4bb4SFurkan Kardame				regulator-min-microvolt = <900000>;
350*007b4bb4SFurkan Kardame				regulator-max-microvolt = <900000>;
351*007b4bb4SFurkan Kardame
352*007b4bb4SFurkan Kardame				regulator-state-mem {
353*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
354*007b4bb4SFurkan Kardame				};
355*007b4bb4SFurkan Kardame			};
356*007b4bb4SFurkan Kardame
357*007b4bb4SFurkan Kardame			vdda0v9_pmu: LDO_REG3 {
358*007b4bb4SFurkan Kardame				regulator-name = "vdda0v9_pmu";
359*007b4bb4SFurkan Kardame				regulator-always-on;
360*007b4bb4SFurkan Kardame				regulator-boot-on;
361*007b4bb4SFurkan Kardame				regulator-min-microvolt = <900000>;
362*007b4bb4SFurkan Kardame				regulator-max-microvolt = <900000>;
363*007b4bb4SFurkan Kardame
364*007b4bb4SFurkan Kardame				regulator-state-mem {
365*007b4bb4SFurkan Kardame					regulator-on-in-suspend;
366*007b4bb4SFurkan Kardame					regulator-suspend-microvolt = <900000>;
367*007b4bb4SFurkan Kardame				};
368*007b4bb4SFurkan Kardame			};
369*007b4bb4SFurkan Kardame
370*007b4bb4SFurkan Kardame			vccio_acodec: LDO_REG4 {
371*007b4bb4SFurkan Kardame				regulator-name = "vccio_acodec";
372*007b4bb4SFurkan Kardame				regulator-min-microvolt = <3300000>;
373*007b4bb4SFurkan Kardame				regulator-max-microvolt = <3300000>;
374*007b4bb4SFurkan Kardame
375*007b4bb4SFurkan Kardame				regulator-state-mem {
376*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
377*007b4bb4SFurkan Kardame				};
378*007b4bb4SFurkan Kardame			};
379*007b4bb4SFurkan Kardame
380*007b4bb4SFurkan Kardame			vccio_sd: LDO_REG5 {
381*007b4bb4SFurkan Kardame				regulator-name = "vccio_sd";
382*007b4bb4SFurkan Kardame				regulator-min-microvolt = <1800000>;
383*007b4bb4SFurkan Kardame				regulator-max-microvolt = <3300000>;
384*007b4bb4SFurkan Kardame
385*007b4bb4SFurkan Kardame				regulator-state-mem {
386*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
387*007b4bb4SFurkan Kardame				};
388*007b4bb4SFurkan Kardame			};
389*007b4bb4SFurkan Kardame
390*007b4bb4SFurkan Kardame			vcc3v3_pmu: LDO_REG6 {
391*007b4bb4SFurkan Kardame				regulator-name = "vcc3v3_pmu";
392*007b4bb4SFurkan Kardame				regulator-always-on;
393*007b4bb4SFurkan Kardame				regulator-boot-on;
394*007b4bb4SFurkan Kardame				regulator-min-microvolt = <3300000>;
395*007b4bb4SFurkan Kardame				regulator-max-microvolt = <3300000>;
396*007b4bb4SFurkan Kardame
397*007b4bb4SFurkan Kardame				regulator-state-mem {
398*007b4bb4SFurkan Kardame					regulator-on-in-suspend;
399*007b4bb4SFurkan Kardame					regulator-suspend-microvolt = <3300000>;
400*007b4bb4SFurkan Kardame				};
401*007b4bb4SFurkan Kardame			};
402*007b4bb4SFurkan Kardame
403*007b4bb4SFurkan Kardame			vcca_1v8: LDO_REG7 {
404*007b4bb4SFurkan Kardame				regulator-name = "vcca_1v8";
405*007b4bb4SFurkan Kardame				regulator-always-on;
406*007b4bb4SFurkan Kardame				regulator-boot-on;
407*007b4bb4SFurkan Kardame				regulator-min-microvolt = <1800000>;
408*007b4bb4SFurkan Kardame				regulator-max-microvolt = <1800000>;
409*007b4bb4SFurkan Kardame
410*007b4bb4SFurkan Kardame				regulator-state-mem {
411*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
412*007b4bb4SFurkan Kardame				};
413*007b4bb4SFurkan Kardame			};
414*007b4bb4SFurkan Kardame
415*007b4bb4SFurkan Kardame			vcca1v8_pmu: LDO_REG8 {
416*007b4bb4SFurkan Kardame				regulator-name = "vcca1v8_pmu";
417*007b4bb4SFurkan Kardame				regulator-always-on;
418*007b4bb4SFurkan Kardame				regulator-boot-on;
419*007b4bb4SFurkan Kardame				regulator-min-microvolt = <1800000>;
420*007b4bb4SFurkan Kardame				regulator-max-microvolt = <1800000>;
421*007b4bb4SFurkan Kardame
422*007b4bb4SFurkan Kardame				regulator-state-mem {
423*007b4bb4SFurkan Kardame					regulator-on-in-suspend;
424*007b4bb4SFurkan Kardame					regulator-suspend-microvolt = <1800000>;
425*007b4bb4SFurkan Kardame				};
426*007b4bb4SFurkan Kardame			};
427*007b4bb4SFurkan Kardame
428*007b4bb4SFurkan Kardame			vcca1v8_image: LDO_REG9 {
429*007b4bb4SFurkan Kardame				regulator-name = "vcca1v8_image";
430*007b4bb4SFurkan Kardame				regulator-min-microvolt = <1800000>;
431*007b4bb4SFurkan Kardame				regulator-max-microvolt = <1800000>;
432*007b4bb4SFurkan Kardame
433*007b4bb4SFurkan Kardame				regulator-state-mem {
434*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
435*007b4bb4SFurkan Kardame				};
436*007b4bb4SFurkan Kardame			};
437*007b4bb4SFurkan Kardame
438*007b4bb4SFurkan Kardame			vcc_3v3: SWITCH_REG1 {
439*007b4bb4SFurkan Kardame				regulator-name = "vcc_3v3";
440*007b4bb4SFurkan Kardame				regulator-always-on;
441*007b4bb4SFurkan Kardame				regulator-boot-on;
442*007b4bb4SFurkan Kardame
443*007b4bb4SFurkan Kardame				regulator-state-mem {
444*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
445*007b4bb4SFurkan Kardame				};
446*007b4bb4SFurkan Kardame			};
447*007b4bb4SFurkan Kardame
448*007b4bb4SFurkan Kardame			vcc3v3_sd: SWITCH_REG2 {
449*007b4bb4SFurkan Kardame				regulator-name = "vcc3v3_sd";
450*007b4bb4SFurkan Kardame				regulator-always-on;
451*007b4bb4SFurkan Kardame				regulator-boot-on;
452*007b4bb4SFurkan Kardame
453*007b4bb4SFurkan Kardame				regulator-state-mem {
454*007b4bb4SFurkan Kardame					regulator-off-in-suspend;
455*007b4bb4SFurkan Kardame				};
456*007b4bb4SFurkan Kardame			};
457*007b4bb4SFurkan Kardame		};
458*007b4bb4SFurkan Kardame	};
459*007b4bb4SFurkan Kardame};
460*007b4bb4SFurkan Kardame
461*007b4bb4SFurkan Kardame&i2s0_8ch {
462*007b4bb4SFurkan Kardame	status = "okay";
463*007b4bb4SFurkan Kardame};
464*007b4bb4SFurkan Kardame
465*007b4bb4SFurkan Kardame&mdio0 {
466*007b4bb4SFurkan Kardame	rgmii_phy0: phy@0 {
467*007b4bb4SFurkan Kardame		compatible = "ethernet-phy-ieee802.3-c22";
468*007b4bb4SFurkan Kardame		reg = <0x0>;
469*007b4bb4SFurkan Kardame	};
470*007b4bb4SFurkan Kardame};
471*007b4bb4SFurkan Kardame
472*007b4bb4SFurkan Kardame&mdio1 {
473*007b4bb4SFurkan Kardame	rgmii_phy1: phy@0 {
474*007b4bb4SFurkan Kardame		compatible = "ethernet-phy-ieee802.3-c22";
475*007b4bb4SFurkan Kardame		reg = <0x0>;
476*007b4bb4SFurkan Kardame	};
477*007b4bb4SFurkan Kardame};
478*007b4bb4SFurkan Kardame
479*007b4bb4SFurkan Kardame&pcie30phy {
480*007b4bb4SFurkan Kardame	status = "okay";
481*007b4bb4SFurkan Kardame};
482*007b4bb4SFurkan Kardame
483*007b4bb4SFurkan Kardame&pcie3x2 {
484*007b4bb4SFurkan Kardame	pinctrl-names = "default";
485*007b4bb4SFurkan Kardame	pinctrl-0 = <&pcie_reset_pin>;
486*007b4bb4SFurkan Kardame	reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
487*007b4bb4SFurkan Kardame	vpcie3v3-supply = <&vcc3v3_pcie>;
488*007b4bb4SFurkan Kardame	status = "okay";
489*007b4bb4SFurkan Kardame};
490*007b4bb4SFurkan Kardame
491*007b4bb4SFurkan Kardame&pinctrl {
492*007b4bb4SFurkan Kardame	leds {
493*007b4bb4SFurkan Kardame		user_led_enable_h: user-led-enable-h {
494*007b4bb4SFurkan Kardame			rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
495*007b4bb4SFurkan Kardame		};
496*007b4bb4SFurkan Kardame	};
497*007b4bb4SFurkan Kardame
498*007b4bb4SFurkan Kardame	usb {
499*007b4bb4SFurkan Kardame		vcc5v0_host_en: vcc5v0-host-en {
500*007b4bb4SFurkan Kardame			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
501*007b4bb4SFurkan Kardame		};
502*007b4bb4SFurkan Kardame
503*007b4bb4SFurkan Kardame		vcc5v0_otg_en: vcc5v0-otg-en {
504*007b4bb4SFurkan Kardame			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
505*007b4bb4SFurkan Kardame		};
506*007b4bb4SFurkan Kardame	};
507*007b4bb4SFurkan Kardame
508*007b4bb4SFurkan Kardame	pcie {
509*007b4bb4SFurkan Kardame		pcie_reset_pin: pcie-reset-pin {
510*007b4bb4SFurkan Kardame			rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
511*007b4bb4SFurkan Kardame		};
512*007b4bb4SFurkan Kardame		vcc3v3_pcie_en_pin: vcc3v3-pcie-en-pin {
513*007b4bb4SFurkan Kardame			rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
514*007b4bb4SFurkan Kardame		};
515*007b4bb4SFurkan Kardame	};
516*007b4bb4SFurkan Kardame
517*007b4bb4SFurkan Kardame	pmic {
518*007b4bb4SFurkan Kardame		pmic_int: pmic-int {
519*007b4bb4SFurkan Kardame			rockchip,pins =
520*007b4bb4SFurkan Kardame				<0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
521*007b4bb4SFurkan Kardame		};
522*007b4bb4SFurkan Kardame	};
523*007b4bb4SFurkan Kardame};
524*007b4bb4SFurkan Kardame
525*007b4bb4SFurkan Kardame&pmu_io_domains {
526*007b4bb4SFurkan Kardame	pmuio1-supply = <&vcc3v3_pmu>;
527*007b4bb4SFurkan Kardame	pmuio2-supply = <&vcc3v3_pmu>;
528*007b4bb4SFurkan Kardame	vccio1-supply = <&vccio_acodec>;
529*007b4bb4SFurkan Kardame	vccio2-supply = <&vcc_1v8>;
530*007b4bb4SFurkan Kardame	vccio3-supply = <&vccio_sd>;
531*007b4bb4SFurkan Kardame	vccio4-supply = <&vcc_1v8>;
532*007b4bb4SFurkan Kardame	vccio5-supply = <&vcc_3v3>;
533*007b4bb4SFurkan Kardame	vccio6-supply = <&vcc_1v8>;
534*007b4bb4SFurkan Kardame	vccio7-supply = <&vcc_3v3>;
535*007b4bb4SFurkan Kardame	status = "okay";
536*007b4bb4SFurkan Kardame};
537*007b4bb4SFurkan Kardame
538*007b4bb4SFurkan Kardame&saradc {
539*007b4bb4SFurkan Kardame	vref-supply = <&vcca_1v8>;
540*007b4bb4SFurkan Kardame	status = "okay";
541*007b4bb4SFurkan Kardame};
542*007b4bb4SFurkan Kardame
543*007b4bb4SFurkan Kardame&sata2 {
544*007b4bb4SFurkan Kardame	status = "okay";
545*007b4bb4SFurkan Kardame};
546*007b4bb4SFurkan Kardame
547*007b4bb4SFurkan Kardame&sdhci {
548*007b4bb4SFurkan Kardame	bus-width = <8>;
549*007b4bb4SFurkan Kardame	max-frequency = <200000000>;
550*007b4bb4SFurkan Kardame	non-removable;
551*007b4bb4SFurkan Kardame	pinctrl-names = "default";
552*007b4bb4SFurkan Kardame	pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
553*007b4bb4SFurkan Kardame	status = "okay";
554*007b4bb4SFurkan Kardame};
555*007b4bb4SFurkan Kardame
556*007b4bb4SFurkan Kardame&sdmmc0 {
557*007b4bb4SFurkan Kardame	bus-width = <4>;
558*007b4bb4SFurkan Kardame	cap-sd-highspeed;
559*007b4bb4SFurkan Kardame	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
560*007b4bb4SFurkan Kardame	disable-wp;
561*007b4bb4SFurkan Kardame	pinctrl-names = "default";
562*007b4bb4SFurkan Kardame	pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
563*007b4bb4SFurkan Kardame	sd-uhs-sdr104;
564*007b4bb4SFurkan Kardame	vmmc-supply = <&vcc3v3_sd>;
565*007b4bb4SFurkan Kardame	vqmmc-supply = <&vccio_sd>;
566*007b4bb4SFurkan Kardame	status = "okay";
567*007b4bb4SFurkan Kardame};
568*007b4bb4SFurkan Kardame
569*007b4bb4SFurkan Kardame&tsadc {
570*007b4bb4SFurkan Kardame	status = "okay";
571*007b4bb4SFurkan Kardame};
572*007b4bb4SFurkan Kardame
573*007b4bb4SFurkan Kardame&uart2 {
574*007b4bb4SFurkan Kardame	status = "okay";
575*007b4bb4SFurkan Kardame};
576*007b4bb4SFurkan Kardame
577*007b4bb4SFurkan Kardame&usb2phy0_host {
578*007b4bb4SFurkan Kardame	phy-supply = <&vcc5v0_host>;
579*007b4bb4SFurkan Kardame	status = "okay";
580*007b4bb4SFurkan Kardame};
581*007b4bb4SFurkan Kardame
582*007b4bb4SFurkan Kardame&usb2phy0 {
583*007b4bb4SFurkan Kardame	status = "okay";
584*007b4bb4SFurkan Kardame};
585*007b4bb4SFurkan Kardame
586*007b4bb4SFurkan Kardame&usb2phy1 {
587*007b4bb4SFurkan Kardame	status = "okay";
588*007b4bb4SFurkan Kardame};
589*007b4bb4SFurkan Kardame
590*007b4bb4SFurkan Kardame&usb2phy0_otg {
591*007b4bb4SFurkan Kardame	status = "okay";
592*007b4bb4SFurkan Kardame};
593*007b4bb4SFurkan Kardame
594*007b4bb4SFurkan Kardame&usb2phy1_host {
595*007b4bb4SFurkan Kardame	phy-supply = <&vcc5v0_host>;
596*007b4bb4SFurkan Kardame	status = "okay";
597*007b4bb4SFurkan Kardame};
598*007b4bb4SFurkan Kardame
599*007b4bb4SFurkan Kardame&usb2phy1_otg {
600*007b4bb4SFurkan Kardame	phy-supply = <&vcc5v0_host>;
601*007b4bb4SFurkan Kardame	status = "okay";
602*007b4bb4SFurkan Kardame};
603*007b4bb4SFurkan Kardame
604*007b4bb4SFurkan Kardame&usb_host0_ehci {
605*007b4bb4SFurkan Kardame	status = "okay";
606*007b4bb4SFurkan Kardame};
607*007b4bb4SFurkan Kardame
608*007b4bb4SFurkan Kardame&usb_host0_ohci {
609*007b4bb4SFurkan Kardame	status = "okay";
610*007b4bb4SFurkan Kardame};
611*007b4bb4SFurkan Kardame
612*007b4bb4SFurkan Kardame&usb_host1_ehci {
613*007b4bb4SFurkan Kardame	status = "okay";
614*007b4bb4SFurkan Kardame};
615*007b4bb4SFurkan Kardame
616*007b4bb4SFurkan Kardame&usb_host1_ohci {
617*007b4bb4SFurkan Kardame	status = "okay";
618*007b4bb4SFurkan Kardame};
619*007b4bb4SFurkan Kardame
620*007b4bb4SFurkan Kardame&usb_host0_xhci {
621*007b4bb4SFurkan Kardame	status = "okay";
622*007b4bb4SFurkan Kardame};
623*007b4bb4SFurkan Kardame
624*007b4bb4SFurkan Kardame&usb_host1_xhci {
625*007b4bb4SFurkan Kardame	status = "okay";
626*007b4bb4SFurkan Kardame};
627*007b4bb4SFurkan Kardame
628*007b4bb4SFurkan Kardame&vp0 {
629*007b4bb4SFurkan Kardame	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
630*007b4bb4SFurkan Kardame		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
631*007b4bb4SFurkan Kardame		remote-endpoint = <&hdmi_in_vp0>;
632*007b4bb4SFurkan Kardame	};
633*007b4bb4SFurkan Kardame};
634*007b4bb4SFurkan Kardame
635*007b4bb4SFurkan Kardame&vop {
636*007b4bb4SFurkan Kardame	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
637*007b4bb4SFurkan Kardame	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
638*007b4bb4SFurkan Kardame	status = "okay";
639*007b4bb4SFurkan Kardame};
640*007b4bb4SFurkan Kardame
641*007b4bb4SFurkan Kardame&vop_mmu {
642*007b4bb4SFurkan Kardame	status = "okay";
643*007b4bb4SFurkan Kardame};
644