xref: /openbmc/linux/arch/arm64/boot/dts/rockchip/rk3399.dtsi (revision 1e952e95843d437b8a904dbd5b48d72db8ac23ec)
14ee99cebSKlaus Goger// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2f048b9a4SJianqun Xu/*
3f048b9a4SJianqun Xu * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
4f048b9a4SJianqun Xu */
5f048b9a4SJianqun Xu
6f048b9a4SJianqun Xu#include <dt-bindings/clock/rk3399-cru.h>
7f048b9a4SJianqun Xu#include <dt-bindings/gpio/gpio.h>
8f048b9a4SJianqun Xu#include <dt-bindings/interrupt-controller/arm-gic.h>
9f048b9a4SJianqun Xu#include <dt-bindings/interrupt-controller/irq.h>
10f048b9a4SJianqun Xu#include <dt-bindings/pinctrl/rockchip.h>
11807a2371SElaine Zhang#include <dt-bindings/power/rk3399-power.h>
1295c27ba7SCaesar Wang#include <dt-bindings/thermal/thermal.h>
13f048b9a4SJianqun Xu
14f048b9a4SJianqun Xu/ {
15f048b9a4SJianqun Xu	compatible = "rockchip,rk3399";
16f048b9a4SJianqun Xu
17f048b9a4SJianqun Xu	interrupt-parent = <&gic>;
18f048b9a4SJianqun Xu	#address-cells = <2>;
19f048b9a4SJianqun Xu	#size-cells = <2>;
20f048b9a4SJianqun Xu
21f048b9a4SJianqun Xu	aliases {
222eca8411SHeiko Stuebner		ethernet0 = &gmac;
2369e5a8feSDavid Wu		i2c0 = &i2c0;
2469e5a8feSDavid Wu		i2c1 = &i2c1;
2569e5a8feSDavid Wu		i2c2 = &i2c2;
2669e5a8feSDavid Wu		i2c3 = &i2c3;
2769e5a8feSDavid Wu		i2c4 = &i2c4;
2869e5a8feSDavid Wu		i2c5 = &i2c5;
2969e5a8feSDavid Wu		i2c6 = &i2c6;
3069e5a8feSDavid Wu		i2c7 = &i2c7;
3169e5a8feSDavid Wu		i2c8 = &i2c8;
32f048b9a4SJianqun Xu		serial0 = &uart0;
33f048b9a4SJianqun Xu		serial1 = &uart1;
34f048b9a4SJianqun Xu		serial2 = &uart2;
35f048b9a4SJianqun Xu		serial3 = &uart3;
36f048b9a4SJianqun Xu		serial4 = &uart4;
37f048b9a4SJianqun Xu	};
38f048b9a4SJianqun Xu
39f048b9a4SJianqun Xu	cpus {
40f048b9a4SJianqun Xu		#address-cells = <2>;
41f048b9a4SJianqun Xu		#size-cells = <0>;
42f048b9a4SJianqun Xu
43f048b9a4SJianqun Xu		cpu-map {
44f048b9a4SJianqun Xu			cluster0 {
45f048b9a4SJianqun Xu				core0 {
46f048b9a4SJianqun Xu					cpu = <&cpu_l0>;
47f048b9a4SJianqun Xu				};
48f048b9a4SJianqun Xu				core1 {
49f048b9a4SJianqun Xu					cpu = <&cpu_l1>;
50f048b9a4SJianqun Xu				};
51f048b9a4SJianqun Xu				core2 {
52f048b9a4SJianqun Xu					cpu = <&cpu_l2>;
53f048b9a4SJianqun Xu				};
54f048b9a4SJianqun Xu				core3 {
55f048b9a4SJianqun Xu					cpu = <&cpu_l3>;
56f048b9a4SJianqun Xu				};
57f048b9a4SJianqun Xu			};
58f048b9a4SJianqun Xu
59f048b9a4SJianqun Xu			cluster1 {
60f048b9a4SJianqun Xu				core0 {
61f048b9a4SJianqun Xu					cpu = <&cpu_b0>;
62f048b9a4SJianqun Xu				};
63f048b9a4SJianqun Xu				core1 {
64f048b9a4SJianqun Xu					cpu = <&cpu_b1>;
65f048b9a4SJianqun Xu				};
66f048b9a4SJianqun Xu			};
67f048b9a4SJianqun Xu		};
68f048b9a4SJianqun Xu
69f048b9a4SJianqun Xu		cpu_l0: cpu@0 {
70f048b9a4SJianqun Xu			device_type = "cpu";
7131af04cdSRob Herring			compatible = "arm,cortex-a53";
72f048b9a4SJianqun Xu			reg = <0x0 0x0>;
73f048b9a4SJianqun Xu			enable-method = "psci";
7497df3aa7SMarc Zyngier			capacity-dmips-mhz = <485>;
75f048b9a4SJianqun Xu			clocks = <&cru ARMCLKL>;
76cc9b0918SViresh Kumar			#cooling-cells = <2>; /* min followed by max */
77f4697bd7SBrian Norris			dynamic-power-coefficient = <100>;
78f888da16STony Xie			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
79f048b9a4SJianqun Xu		};
80f048b9a4SJianqun Xu
81f048b9a4SJianqun Xu		cpu_l1: cpu@1 {
82f048b9a4SJianqun Xu			device_type = "cpu";
8331af04cdSRob Herring			compatible = "arm,cortex-a53";
84f048b9a4SJianqun Xu			reg = <0x0 0x1>;
85f048b9a4SJianqun Xu			enable-method = "psci";
8697df3aa7SMarc Zyngier			capacity-dmips-mhz = <485>;
87f048b9a4SJianqun Xu			clocks = <&cru ARMCLKL>;
88cc9b0918SViresh Kumar			#cooling-cells = <2>; /* min followed by max */
89f4697bd7SBrian Norris			dynamic-power-coefficient = <100>;
90f888da16STony Xie			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
91f048b9a4SJianqun Xu		};
92f048b9a4SJianqun Xu
93f048b9a4SJianqun Xu		cpu_l2: cpu@2 {
94f048b9a4SJianqun Xu			device_type = "cpu";
9531af04cdSRob Herring			compatible = "arm,cortex-a53";
96f048b9a4SJianqun Xu			reg = <0x0 0x2>;
97f048b9a4SJianqun Xu			enable-method = "psci";
9897df3aa7SMarc Zyngier			capacity-dmips-mhz = <485>;
99f048b9a4SJianqun Xu			clocks = <&cru ARMCLKL>;
100cc9b0918SViresh Kumar			#cooling-cells = <2>; /* min followed by max */
101f4697bd7SBrian Norris			dynamic-power-coefficient = <100>;
102f888da16STony Xie			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
103f048b9a4SJianqun Xu		};
104f048b9a4SJianqun Xu
105f048b9a4SJianqun Xu		cpu_l3: cpu@3 {
106f048b9a4SJianqun Xu			device_type = "cpu";
10731af04cdSRob Herring			compatible = "arm,cortex-a53";
108f048b9a4SJianqun Xu			reg = <0x0 0x3>;
109f048b9a4SJianqun Xu			enable-method = "psci";
11097df3aa7SMarc Zyngier			capacity-dmips-mhz = <485>;
111f048b9a4SJianqun Xu			clocks = <&cru ARMCLKL>;
112cc9b0918SViresh Kumar			#cooling-cells = <2>; /* min followed by max */
113f4697bd7SBrian Norris			dynamic-power-coefficient = <100>;
114f888da16STony Xie			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
115f048b9a4SJianqun Xu		};
116f048b9a4SJianqun Xu
117f048b9a4SJianqun Xu		cpu_b0: cpu@100 {
118f048b9a4SJianqun Xu			device_type = "cpu";
11931af04cdSRob Herring			compatible = "arm,cortex-a72";
120f048b9a4SJianqun Xu			reg = <0x0 0x100>;
121f048b9a4SJianqun Xu			enable-method = "psci";
12297df3aa7SMarc Zyngier			capacity-dmips-mhz = <1024>;
123f048b9a4SJianqun Xu			clocks = <&cru ARMCLKB>;
124cc9b0918SViresh Kumar			#cooling-cells = <2>; /* min followed by max */
12545a995c0SCaesar Wang			dynamic-power-coefficient = <436>;
126f888da16STony Xie			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
12743f9699bSDaniel Lezcano
12843f9699bSDaniel Lezcano			thermal-idle {
12943f9699bSDaniel Lezcano				#cooling-cells = <2>;
13043f9699bSDaniel Lezcano				duration-us = <10000>;
13143f9699bSDaniel Lezcano				exit-latency-us = <500>;
13243f9699bSDaniel Lezcano			};
133f048b9a4SJianqun Xu		};
134f048b9a4SJianqun Xu
135f048b9a4SJianqun Xu		cpu_b1: cpu@101 {
136f048b9a4SJianqun Xu			device_type = "cpu";
13731af04cdSRob Herring			compatible = "arm,cortex-a72";
138f048b9a4SJianqun Xu			reg = <0x0 0x101>;
139f048b9a4SJianqun Xu			enable-method = "psci";
14097df3aa7SMarc Zyngier			capacity-dmips-mhz = <1024>;
141f048b9a4SJianqun Xu			clocks = <&cru ARMCLKB>;
142cc9b0918SViresh Kumar			#cooling-cells = <2>; /* min followed by max */
14345a995c0SCaesar Wang			dynamic-power-coefficient = <436>;
144f888da16STony Xie			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
14543f9699bSDaniel Lezcano
14643f9699bSDaniel Lezcano			thermal-idle {
14743f9699bSDaniel Lezcano				#cooling-cells = <2>;
14843f9699bSDaniel Lezcano				duration-us = <10000>;
14943f9699bSDaniel Lezcano				exit-latency-us = <500>;
15043f9699bSDaniel Lezcano			};
151f888da16STony Xie		};
152f888da16STony Xie
153f888da16STony Xie		idle-states {
154f888da16STony Xie			entry-method = "psci";
155f888da16STony Xie
156f888da16STony Xie			CPU_SLEEP: cpu-sleep {
157f888da16STony Xie				compatible = "arm,idle-state";
158f888da16STony Xie				local-timer-stop;
159f888da16STony Xie				arm,psci-suspend-param = <0x0010000>;
160f888da16STony Xie				entry-latency-us = <120>;
161f888da16STony Xie				exit-latency-us = <250>;
162f888da16STony Xie				min-residency-us = <900>;
163f888da16STony Xie			};
164f888da16STony Xie
165f888da16STony Xie			CLUSTER_SLEEP: cluster-sleep {
166f888da16STony Xie				compatible = "arm,idle-state";
167f888da16STony Xie				local-timer-stop;
168f888da16STony Xie				arm,psci-suspend-param = <0x1010000>;
169f888da16STony Xie				entry-latency-us = <400>;
170f888da16STony Xie				exit-latency-us = <500>;
171f888da16STony Xie				min-residency-us = <2000>;
172f888da16STony Xie			};
173f048b9a4SJianqun Xu		};
174f048b9a4SJianqun Xu	};
175f048b9a4SJianqun Xu
176fbd4cc0eSMark Yao	display-subsystem {
177fbd4cc0eSMark Yao		compatible = "rockchip,display-subsystem";
178fbd4cc0eSMark Yao		ports = <&vopl_out>, <&vopb_out>;
179fbd4cc0eSMark Yao	};
180fbd4cc0eSMark Yao
1811b3f3685SLin Huang	dmc: memory-controller {
1821b3f3685SLin Huang		compatible = "rockchip,rk3399-dmc";
1831b3f3685SLin Huang		rockchip,pmu = <&pmugrf>;
1841b3f3685SLin Huang		devfreq-events = <&dfi>;
1851b3f3685SLin Huang		clocks = <&cru SCLK_DDRC>;
1861b3f3685SLin Huang		clock-names = "dmc_clk";
1871b3f3685SLin Huang		status = "disabled";
1881b3f3685SLin Huang	};
1891b3f3685SLin Huang
1906840eb0dSCaesar Wang	pmu_a53 {
1916840eb0dSCaesar Wang		compatible = "arm,cortex-a53-pmu";
1926840eb0dSCaesar Wang		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
1936840eb0dSCaesar Wang	};
1946840eb0dSCaesar Wang
1956840eb0dSCaesar Wang	pmu_a72 {
1966840eb0dSCaesar Wang		compatible = "arm,cortex-a72-pmu";
1976840eb0dSCaesar Wang		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>;
1986840eb0dSCaesar Wang	};
1996840eb0dSCaesar Wang
200f048b9a4SJianqun Xu	psci {
201f048b9a4SJianqun Xu		compatible = "arm,psci-1.0";
202f048b9a4SJianqun Xu		method = "smc";
203f048b9a4SJianqun Xu	};
204f048b9a4SJianqun Xu
205f048b9a4SJianqun Xu	timer {
206f048b9a4SJianqun Xu		compatible = "arm,armv8-timer";
207210bbd38SCaesar Wang		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
208210bbd38SCaesar Wang			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
209210bbd38SCaesar Wang			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
210210bbd38SCaesar Wang			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>;
211e6186820SBrian Norris		arm,no-tick-in-suspend;
212f048b9a4SJianqun Xu	};
213f048b9a4SJianqun Xu
214f048b9a4SJianqun Xu	xin24m: xin24m {
215f048b9a4SJianqun Xu		compatible = "fixed-clock";
216f048b9a4SJianqun Xu		clock-frequency = <24000000>;
217f048b9a4SJianqun Xu		clock-output-names = "xin24m";
218f048b9a4SJianqun Xu		#clock-cells = <0>;
219f048b9a4SJianqun Xu	};
220f048b9a4SJianqun Xu
22166aef3cbSBrian Norris	pcie0: pcie@f8000000 {
22266aef3cbSBrian Norris		compatible = "rockchip,rk3399-pcie";
22366aef3cbSBrian Norris		reg = <0x0 0xf8000000 0x0 0x2000000>,
22466aef3cbSBrian Norris		      <0x0 0xfd000000 0x0 0x1000000>;
22566aef3cbSBrian Norris		reg-names = "axi-base", "apb-base";
22643f20b1cSMarc Zyngier		device_type = "pci";
22766aef3cbSBrian Norris		#address-cells = <3>;
22866aef3cbSBrian Norris		#size-cells = <2>;
22966aef3cbSBrian Norris		#interrupt-cells = <1>;
23066aef3cbSBrian Norris		aspm-no-l0s;
231d633beccSShawn Lin		bus-range = <0x0 0x1f>;
23266aef3cbSBrian Norris		clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>,
23366aef3cbSBrian Norris			 <&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>;
23466aef3cbSBrian Norris		clock-names = "aclk", "aclk-perf",
23566aef3cbSBrian Norris			      "hclk", "pm";
23666aef3cbSBrian Norris		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH 0>,
23766aef3cbSBrian Norris			     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH 0>,
23866aef3cbSBrian Norris			     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH 0>;
23966aef3cbSBrian Norris		interrupt-names = "sys", "legacy", "client";
24066aef3cbSBrian Norris		interrupt-map-mask = <0 0 0 7>;
24166aef3cbSBrian Norris		interrupt-map = <0 0 0 1 &pcie0_intc 0>,
24266aef3cbSBrian Norris				<0 0 0 2 &pcie0_intc 1>,
24366aef3cbSBrian Norris				<0 0 0 3 &pcie0_intc 2>,
24466aef3cbSBrian Norris				<0 0 0 4 &pcie0_intc 3>;
24566aef3cbSBrian Norris		max-link-speed = <1>;
24666aef3cbSBrian Norris		msi-map = <0x0 &its 0x0 0x1000>;
247e9a60cacSShawn Lin		phys = <&pcie_phy 0>, <&pcie_phy 1>,
248e9a60cacSShawn Lin		       <&pcie_phy 2>, <&pcie_phy 3>;
249e9a60cacSShawn Lin		phy-names = "pcie-phy-0", "pcie-phy-1",
250e9a60cacSShawn Lin			    "pcie-phy-2", "pcie-phy-3";
2518efe01b4SPunit Agrawal		ranges = <0x82000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x1e00000>,
2525b931210SJohan Jonker			 <0x81000000 0x0 0xfbe00000 0x0 0xfbe00000 0x0 0x100000>;
25366aef3cbSBrian Norris		resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>,
25466aef3cbSBrian Norris			 <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>,
25566aef3cbSBrian Norris			 <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>,
25666aef3cbSBrian Norris			 <&cru SRST_A_PCIE>;
25766aef3cbSBrian Norris		reset-names = "core", "mgmt", "mgmt-sticky", "pipe",
25866aef3cbSBrian Norris			      "pm", "pclk", "aclk";
25966aef3cbSBrian Norris		status = "disabled";
26066aef3cbSBrian Norris
26166aef3cbSBrian Norris		pcie0_intc: interrupt-controller {
26266aef3cbSBrian Norris			interrupt-controller;
26366aef3cbSBrian Norris			#address-cells = <0>;
26466aef3cbSBrian Norris			#interrupt-cells = <1>;
26566aef3cbSBrian Norris		};
26666aef3cbSBrian Norris	};
26766aef3cbSBrian Norris
268c0f0fb55SRick Wertenbroek	pcie0_ep: pcie-ep@f8000000 {
269c0f0fb55SRick Wertenbroek		compatible = "rockchip,rk3399-pcie-ep";
270c0f0fb55SRick Wertenbroek		reg = <0x0 0xfd000000 0x0 0x1000000>,
271c0f0fb55SRick Wertenbroek		      <0x0 0xfa000000 0x0 0x2000000>;
272c0f0fb55SRick Wertenbroek		reg-names = "apb-base", "mem-base";
273c0f0fb55SRick Wertenbroek		clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>,
274c0f0fb55SRick Wertenbroek			 <&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>;
275c0f0fb55SRick Wertenbroek		clock-names = "aclk", "aclk-perf",
276c0f0fb55SRick Wertenbroek			      "hclk", "pm";
277c0f0fb55SRick Wertenbroek		max-functions = /bits/ 8 <8>;
278c0f0fb55SRick Wertenbroek		num-lanes = <4>;
279c0f0fb55SRick Wertenbroek		resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>,
280c0f0fb55SRick Wertenbroek			 <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>,
281c0f0fb55SRick Wertenbroek			 <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>,
282c0f0fb55SRick Wertenbroek			 <&cru SRST_A_PCIE>;
283c0f0fb55SRick Wertenbroek		reset-names = "core", "mgmt", "mgmt-sticky", "pipe",
284c0f0fb55SRick Wertenbroek			      "pm", "pclk", "aclk";
285c0f0fb55SRick Wertenbroek		phys = <&pcie_phy 0>, <&pcie_phy 1>,
286c0f0fb55SRick Wertenbroek		       <&pcie_phy 2>, <&pcie_phy 3>;
287c0f0fb55SRick Wertenbroek		phy-names = "pcie-phy-0", "pcie-phy-1",
288c0f0fb55SRick Wertenbroek			    "pcie-phy-2", "pcie-phy-3";
289c0f0fb55SRick Wertenbroek		rockchip,max-outbound-regions = <32>;
290c0f0fb55SRick Wertenbroek		pinctrl-names = "default";
291c0f0fb55SRick Wertenbroek		pinctrl-0 = <&pcie_clkreqnb_cpm>;
292c0f0fb55SRick Wertenbroek		status = "disabled";
293c0f0fb55SRick Wertenbroek	};
294c0f0fb55SRick Wertenbroek
295eb3a6a6aSRoger Chen	gmac: ethernet@fe300000 {
296eb3a6a6aSRoger Chen		compatible = "rockchip,rk3399-gmac";
297eb3a6a6aSRoger Chen		reg = <0x0 0xfe300000 0x0 0x10000>;
298eb3a6a6aSRoger Chen		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH 0>;
299eb3a6a6aSRoger Chen		interrupt-names = "macirq";
300eb3a6a6aSRoger Chen		clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>,
301eb3a6a6aSRoger Chen			 <&cru SCLK_MAC_TX>, <&cru SCLK_MACREF>,
302eb3a6a6aSRoger Chen			 <&cru SCLK_MACREF_OUT>, <&cru ACLK_GMAC>,
303eb3a6a6aSRoger Chen			 <&cru PCLK_GMAC>;
304eb3a6a6aSRoger Chen		clock-names = "stmmaceth", "mac_clk_rx",
305eb3a6a6aSRoger Chen			      "mac_clk_tx", "clk_mac_ref",
306eb3a6a6aSRoger Chen			      "clk_mac_refout", "aclk_mac",
307eb3a6a6aSRoger Chen			      "pclk_mac";
308eb3a6a6aSRoger Chen		power-domains = <&power RK3399_PD_GMAC>;
309eb3a6a6aSRoger Chen		resets = <&cru SRST_A_GMAC>;
310eb3a6a6aSRoger Chen		reset-names = "stmmaceth";
311eb3a6a6aSRoger Chen		rockchip,grf = <&grf>;
3128a469ee3SCarlos de Paula		snps,txpbl = <0x4>;
313eb3a6a6aSRoger Chen		status = "disabled";
314eb3a6a6aSRoger Chen	};
315eb3a6a6aSRoger Chen
3163ef7c255SJohan Jonker	sdio0: mmc@fe310000 {
317f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-dw-mshc",
318f048b9a4SJianqun Xu			     "rockchip,rk3288-dw-mshc";
319f048b9a4SJianqun Xu		reg = <0x0 0xfe310000 0x0 0x4000>;
320210bbd38SCaesar Wang		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH 0>;
321c4959069SJaehoon Chung		max-frequency = <150000000>;
322f048b9a4SJianqun Xu		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
323f048b9a4SJianqun Xu			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
324f048b9a4SJianqun Xu		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
325f048b9a4SJianqun Xu		fifo-depth = <0x100>;
326b0f2110aSCaesar Wang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
32704dc7f62SHeiko Stuebner		resets = <&cru SRST_SDIO0>;
32804dc7f62SHeiko Stuebner		reset-names = "reset";
329f048b9a4SJianqun Xu		status = "disabled";
330f048b9a4SJianqun Xu	};
331f048b9a4SJianqun Xu
3323ef7c255SJohan Jonker	sdmmc: mmc@fe320000 {
333f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-dw-mshc",
334f048b9a4SJianqun Xu			     "rockchip,rk3288-dw-mshc";
335f048b9a4SJianqun Xu		reg = <0x0 0xfe320000 0x0 0x4000>;
336210bbd38SCaesar Wang		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH 0>;
337c4959069SJaehoon Chung		max-frequency = <150000000>;
338e702e13fSLin Huang		assigned-clocks = <&cru HCLK_SD>;
339e702e13fSLin Huang		assigned-clock-rates = <200000000>;
340f048b9a4SJianqun Xu		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
341f048b9a4SJianqun Xu			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
342f048b9a4SJianqun Xu		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
343f048b9a4SJianqun Xu		fifo-depth = <0x100>;
3441bc60beeSElaine Zhang		power-domains = <&power RK3399_PD_SD>;
34504dc7f62SHeiko Stuebner		resets = <&cru SRST_SDMMC>;
34604dc7f62SHeiko Stuebner		reset-names = "reset";
347f048b9a4SJianqun Xu		status = "disabled";
348f048b9a4SJianqun Xu	};
349f048b9a4SJianqun Xu
3509a9f6427SJohan Jonker	sdhci: mmc@fe330000 {
351b4e87c09SBrian Norris		compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1";
352b4e87c09SBrian Norris		reg = <0x0 0xfe330000 0x0 0x10000>;
353210bbd38SCaesar Wang		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH 0>;
35464e3481cSDouglas Anderson		arasan,soc-ctl-syscon = <&grf>;
355b4e87c09SBrian Norris		assigned-clocks = <&cru SCLK_EMMC>;
356b4e87c09SBrian Norris		assigned-clock-rates = <200000000>;
357b4e87c09SBrian Norris		clocks = <&cru SCLK_EMMC>, <&cru ACLK_EMMC>;
358b4e87c09SBrian Norris		clock-names = "clk_xin", "clk_ahb";
359ed388cddSDouglas Anderson		clock-output-names = "emmc_cardclock";
360ed388cddSDouglas Anderson		#clock-cells = <0>;
361b4e87c09SBrian Norris		phys = <&emmc_phy>;
362b4e87c09SBrian Norris		phy-names = "phy_arasan";
363a1907df2SElaine Zhang		power-domains = <&power RK3399_PD_EMMC>;
364a3eec13bSChristoph Muellner		disable-cqe-dcmd;
365b4e87c09SBrian Norris		status = "disabled";
366b4e87c09SBrian Norris	};
367b4e87c09SBrian Norris
368f048b9a4SJianqun Xu	usb_host0_ehci: usb@fe380000 {
369f048b9a4SJianqun Xu		compatible = "generic-ehci";
370f048b9a4SJianqun Xu		reg = <0x0 0xfe380000 0x0 0x20000>;
371210bbd38SCaesar Wang		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH 0>;
372b5d1c572SWilliam wu		clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
373b5d1c572SWilliam wu			 <&u2phy0>;
374103e9f85SFrank Wang		phys = <&u2phy0_host>;
375103e9f85SFrank Wang		phy-names = "usb";
376f048b9a4SJianqun Xu		status = "disabled";
377f048b9a4SJianqun Xu	};
378f048b9a4SJianqun Xu
379f048b9a4SJianqun Xu	usb_host0_ohci: usb@fe3a0000 {
380f048b9a4SJianqun Xu		compatible = "generic-ohci";
381f048b9a4SJianqun Xu		reg = <0x0 0xfe3a0000 0x0 0x20000>;
382210bbd38SCaesar Wang		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>;
383b5d1c572SWilliam wu		clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
384b5d1c572SWilliam wu			 <&u2phy0>;
385b5d1c572SWilliam wu		phys = <&u2phy0_host>;
386b5d1c572SWilliam wu		phy-names = "usb";
387f048b9a4SJianqun Xu		status = "disabled";
388f048b9a4SJianqun Xu	};
389f048b9a4SJianqun Xu
390f048b9a4SJianqun Xu	usb_host1_ehci: usb@fe3c0000 {
391f048b9a4SJianqun Xu		compatible = "generic-ehci";
392f048b9a4SJianqun Xu		reg = <0x0 0xfe3c0000 0x0 0x20000>;
393210bbd38SCaesar Wang		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>;
394b5d1c572SWilliam wu		clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
395b5d1c572SWilliam wu			 <&u2phy1>;
396103e9f85SFrank Wang		phys = <&u2phy1_host>;
397103e9f85SFrank Wang		phy-names = "usb";
398f048b9a4SJianqun Xu		status = "disabled";
399f048b9a4SJianqun Xu	};
400f048b9a4SJianqun Xu
401f048b9a4SJianqun Xu	usb_host1_ohci: usb@fe3e0000 {
402f048b9a4SJianqun Xu		compatible = "generic-ohci";
403f048b9a4SJianqun Xu		reg = <0x0 0xfe3e0000 0x0 0x20000>;
404210bbd38SCaesar Wang		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>;
405b5d1c572SWilliam wu		clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
406b5d1c572SWilliam wu			 <&u2phy1>;
407b5d1c572SWilliam wu		phys = <&u2phy1_host>;
408b5d1c572SWilliam wu		phy-names = "usb";
409f048b9a4SJianqun Xu		status = "disabled";
410f048b9a4SJianqun Xu	};
411f048b9a4SJianqun Xu
41275dccea5SBrian Norris	debug@fe430000 {
41375dccea5SBrian Norris		compatible = "arm,coresight-cpu-debug", "arm,primecell";
41475dccea5SBrian Norris		reg = <0 0xfe430000 0 0x1000>;
41575dccea5SBrian Norris		clocks = <&cru PCLK_COREDBG_L>;
41675dccea5SBrian Norris		clock-names = "apb_pclk";
41775dccea5SBrian Norris		cpu = <&cpu_l0>;
41875dccea5SBrian Norris	};
41975dccea5SBrian Norris
42075dccea5SBrian Norris	debug@fe432000 {
42175dccea5SBrian Norris		compatible = "arm,coresight-cpu-debug", "arm,primecell";
42275dccea5SBrian Norris		reg = <0 0xfe432000 0 0x1000>;
42375dccea5SBrian Norris		clocks = <&cru PCLK_COREDBG_L>;
42475dccea5SBrian Norris		clock-names = "apb_pclk";
42575dccea5SBrian Norris		cpu = <&cpu_l1>;
42675dccea5SBrian Norris	};
42775dccea5SBrian Norris
42875dccea5SBrian Norris	debug@fe434000 {
42975dccea5SBrian Norris		compatible = "arm,coresight-cpu-debug", "arm,primecell";
43075dccea5SBrian Norris		reg = <0 0xfe434000 0 0x1000>;
43175dccea5SBrian Norris		clocks = <&cru PCLK_COREDBG_L>;
43275dccea5SBrian Norris		clock-names = "apb_pclk";
43375dccea5SBrian Norris		cpu = <&cpu_l2>;
43475dccea5SBrian Norris	};
43575dccea5SBrian Norris
43675dccea5SBrian Norris	debug@fe436000 {
43775dccea5SBrian Norris		compatible = "arm,coresight-cpu-debug", "arm,primecell";
43875dccea5SBrian Norris		reg = <0 0xfe436000 0 0x1000>;
43975dccea5SBrian Norris		clocks = <&cru PCLK_COREDBG_L>;
44075dccea5SBrian Norris		clock-names = "apb_pclk";
44175dccea5SBrian Norris		cpu = <&cpu_l3>;
44275dccea5SBrian Norris	};
44375dccea5SBrian Norris
44475dccea5SBrian Norris	debug@fe610000 {
44575dccea5SBrian Norris		compatible = "arm,coresight-cpu-debug", "arm,primecell";
44675dccea5SBrian Norris		reg = <0 0xfe610000 0 0x1000>;
44775dccea5SBrian Norris		clocks = <&cru PCLK_COREDBG_B>;
44875dccea5SBrian Norris		clock-names = "apb_pclk";
44975dccea5SBrian Norris		cpu = <&cpu_b0>;
45075dccea5SBrian Norris	};
45175dccea5SBrian Norris
45275dccea5SBrian Norris	debug@fe710000 {
45375dccea5SBrian Norris		compatible = "arm,coresight-cpu-debug", "arm,primecell";
45475dccea5SBrian Norris		reg = <0 0xfe710000 0 0x1000>;
45575dccea5SBrian Norris		clocks = <&cru PCLK_COREDBG_B>;
45675dccea5SBrian Norris		clock-names = "apb_pclk";
45775dccea5SBrian Norris		cpu = <&cpu_b1>;
45875dccea5SBrian Norris	};
45975dccea5SBrian Norris
4607144224fSBrian Norris	usbdrd3_0: usb@fe800000 {
4617144224fSBrian Norris		compatible = "rockchip,rk3399-dwc3";
4627144224fSBrian Norris		#address-cells = <2>;
4637144224fSBrian Norris		#size-cells = <2>;
4647144224fSBrian Norris		ranges;
4657144224fSBrian Norris		clocks = <&cru SCLK_USB3OTG0_REF>, <&cru SCLK_USB3OTG0_SUSPEND>,
4669df8a2d9SEnric Balletbo i Serra			 <&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_RKSOC_AXI_PERF>,
4679df8a2d9SEnric Balletbo i Serra			 <&cru ACLK_USB3>, <&cru ACLK_USB3_GRF>;
4687144224fSBrian Norris		clock-names = "ref_clk", "suspend_clk",
4699df8a2d9SEnric Balletbo i Serra			      "bus_clk", "aclk_usb3_rksoc_axi_perf",
4709df8a2d9SEnric Balletbo i Serra			      "aclk_usb3", "grf_clk";
471b7e63d95SEnric Balletbo i Serra		resets = <&cru SRST_A_USB3_OTG0>;
472b7e63d95SEnric Balletbo i Serra		reset-names = "usb3-otg";
4737144224fSBrian Norris		status = "disabled";
4747144224fSBrian Norris
475190c7f6fSChen-Yu Tsai		usbdrd_dwc3_0: usb@fe800000 {
4767144224fSBrian Norris			compatible = "snps,dwc3";
4777144224fSBrian Norris			reg = <0x0 0xfe800000 0x0 0x100000>;
4787144224fSBrian Norris			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH 0>;
479e6d237fdSEnric Balletbo i Serra			clocks = <&cru SCLK_USB3OTG0_REF>, <&cru ACLK_USB3OTG0>,
480e6d237fdSEnric Balletbo i Serra				 <&cru SCLK_USB3OTG0_SUSPEND>;
481e6d237fdSEnric Balletbo i Serra			clock-names = "ref", "bus_early", "suspend";
4827144224fSBrian Norris			dr_mode = "otg";
483bfdca173SEnric Balletbo i Serra			phys = <&u2phy0_otg>, <&tcphy0_usb3>;
484bfdca173SEnric Balletbo i Serra			phy-names = "usb2-phy", "usb3-phy";
4857144224fSBrian Norris			phy_type = "utmi_wide";
4867144224fSBrian Norris			snps,dis_enblslpm_quirk;
4877144224fSBrian Norris			snps,dis-u2-freeclk-exists-quirk;
4887144224fSBrian Norris			snps,dis_u2_susphy_quirk;
4897144224fSBrian Norris			snps,dis-del-phy-power-chg-quirk;
4901d5bcbbdSWilliam Wu			snps,dis-tx-ipgap-linecheck-quirk;
491a1bbaaa4SEnric Balletbo i Serra			power-domains = <&power RK3399_PD_USB3>;
4927144224fSBrian Norris			status = "disabled";
4937144224fSBrian Norris		};
4947144224fSBrian Norris	};
4957144224fSBrian Norris
4967144224fSBrian Norris	usbdrd3_1: usb@fe900000 {
4977144224fSBrian Norris		compatible = "rockchip,rk3399-dwc3";
4987144224fSBrian Norris		#address-cells = <2>;
4997144224fSBrian Norris		#size-cells = <2>;
5007144224fSBrian Norris		ranges;
5017144224fSBrian Norris		clocks = <&cru SCLK_USB3OTG1_REF>, <&cru SCLK_USB3OTG1_SUSPEND>,
5029df8a2d9SEnric Balletbo i Serra			 <&cru ACLK_USB3OTG1>, <&cru ACLK_USB3_RKSOC_AXI_PERF>,
5039df8a2d9SEnric Balletbo i Serra			 <&cru ACLK_USB3>, <&cru ACLK_USB3_GRF>;
5047144224fSBrian Norris		clock-names = "ref_clk", "suspend_clk",
5059df8a2d9SEnric Balletbo i Serra			      "bus_clk", "aclk_usb3_rksoc_axi_perf",
5069df8a2d9SEnric Balletbo i Serra			      "aclk_usb3", "grf_clk";
507b7e63d95SEnric Balletbo i Serra		resets = <&cru SRST_A_USB3_OTG1>;
508b7e63d95SEnric Balletbo i Serra		reset-names = "usb3-otg";
5097144224fSBrian Norris		status = "disabled";
5107144224fSBrian Norris
511190c7f6fSChen-Yu Tsai		usbdrd_dwc3_1: usb@fe900000 {
5127144224fSBrian Norris			compatible = "snps,dwc3";
5137144224fSBrian Norris			reg = <0x0 0xfe900000 0x0 0x100000>;
5147144224fSBrian Norris			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
515e6d237fdSEnric Balletbo i Serra			clocks = <&cru SCLK_USB3OTG1_REF>, <&cru ACLK_USB3OTG1>,
516e6d237fdSEnric Balletbo i Serra				 <&cru SCLK_USB3OTG1_SUSPEND>;
517e6d237fdSEnric Balletbo i Serra			clock-names = "ref", "bus_early", "suspend";
5187144224fSBrian Norris			dr_mode = "otg";
519bfdca173SEnric Balletbo i Serra			phys = <&u2phy1_otg>, <&tcphy1_usb3>;
520bfdca173SEnric Balletbo i Serra			phy-names = "usb2-phy", "usb3-phy";
5217144224fSBrian Norris			phy_type = "utmi_wide";
5227144224fSBrian Norris			snps,dis_enblslpm_quirk;
5237144224fSBrian Norris			snps,dis-u2-freeclk-exists-quirk;
5247144224fSBrian Norris			snps,dis_u2_susphy_quirk;
5257144224fSBrian Norris			snps,dis-del-phy-power-chg-quirk;
5261d5bcbbdSWilliam Wu			snps,dis-tx-ipgap-linecheck-quirk;
527a1bbaaa4SEnric Balletbo i Serra			power-domains = <&power RK3399_PD_USB3>;
5287144224fSBrian Norris			status = "disabled";
5297144224fSBrian Norris		};
5307144224fSBrian Norris	};
5317144224fSBrian Norris
5322d3c2d56SChris Zhong	cdn_dp: dp@fec00000 {
5332d3c2d56SChris Zhong		compatible = "rockchip,rk3399-cdn-dp";
5342d3c2d56SChris Zhong		reg = <0x0 0xfec00000 0x0 0x100000>;
5352d3c2d56SChris Zhong		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
536e702e13fSLin Huang		assigned-clocks = <&cru SCLK_DP_CORE>, <&cru SCLK_SPDIF_REC_DPTX>;
537e702e13fSLin Huang		assigned-clock-rates = <100000000>, <200000000>;
5382d3c2d56SChris Zhong		clocks = <&cru SCLK_DP_CORE>, <&cru PCLK_DP_CTRL>,
5392d3c2d56SChris Zhong			 <&cru SCLK_SPDIF_REC_DPTX>, <&cru PCLK_VIO_GRF>;
5402d3c2d56SChris Zhong		clock-names = "core-clk", "pclk", "spdif", "grf";
5412d3c2d56SChris Zhong		phys = <&tcphy0_dp>, <&tcphy1_dp>;
5422d3c2d56SChris Zhong		power-domains = <&power RK3399_PD_HDCP>;
5432d3c2d56SChris Zhong		resets = <&cru SRST_DPTX_SPDIF_REC>, <&cru SRST_P_UPHY0_DPTX>,
5442d3c2d56SChris Zhong			 <&cru SRST_P_UPHY0_APB>, <&cru SRST_DP_CORE>;
5452d3c2d56SChris Zhong		reset-names = "spdif", "dptx", "apb", "core";
5462d3c2d56SChris Zhong		rockchip,grf = <&grf>;
5472d3c2d56SChris Zhong		#sound-dai-cells = <1>;
5482d3c2d56SChris Zhong		status = "disabled";
5492d3c2d56SChris Zhong
5502d3c2d56SChris Zhong		ports {
5512d3c2d56SChris Zhong			dp_in: port {
5522d3c2d56SChris Zhong				#address-cells = <1>;
5532d3c2d56SChris Zhong				#size-cells = <0>;
5542d3c2d56SChris Zhong
5552d3c2d56SChris Zhong				dp_in_vopb: endpoint@0 {
5562d3c2d56SChris Zhong					reg = <0>;
5572d3c2d56SChris Zhong					remote-endpoint = <&vopb_out_dp>;
5582d3c2d56SChris Zhong				};
5592d3c2d56SChris Zhong
5602d3c2d56SChris Zhong				dp_in_vopl: endpoint@1 {
5612d3c2d56SChris Zhong					reg = <1>;
5622d3c2d56SChris Zhong					remote-endpoint = <&vopl_out_dp>;
5632d3c2d56SChris Zhong				};
5642d3c2d56SChris Zhong			};
5652d3c2d56SChris Zhong		};
5662d3c2d56SChris Zhong	};
5672d3c2d56SChris Zhong
568f048b9a4SJianqun Xu	gic: interrupt-controller@fee00000 {
569f048b9a4SJianqun Xu		compatible = "arm,gic-v3";
570210bbd38SCaesar Wang		#interrupt-cells = <4>;
571f048b9a4SJianqun Xu		#address-cells = <2>;
572f048b9a4SJianqun Xu		#size-cells = <2>;
573f048b9a4SJianqun Xu		ranges;
574f048b9a4SJianqun Xu		interrupt-controller;
575f048b9a4SJianqun Xu
576f048b9a4SJianqun Xu		reg = <0x0 0xfee00000 0 0x10000>, /* GICD */
577f048b9a4SJianqun Xu		      <0x0 0xfef00000 0 0xc0000>, /* GICR */
578f048b9a4SJianqun Xu		      <0x0 0xfff00000 0 0x10000>, /* GICC */
579f048b9a4SJianqun Xu		      <0x0 0xfff10000 0 0x10000>, /* GICH */
580f048b9a4SJianqun Xu		      <0x0 0xfff20000 0 0x10000>; /* GICV */
581210bbd38SCaesar Wang		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
5820643bedfSRob Herring		its: msi-controller@fee20000 {
583f048b9a4SJianqun Xu			compatible = "arm,gic-v3-its";
584f048b9a4SJianqun Xu			msi-controller;
58585dd7638SHeiko Stuebner			#msi-cells = <1>;
586f048b9a4SJianqun Xu			reg = <0x0 0xfee20000 0x0 0x20000>;
587f048b9a4SJianqun Xu		};
5886840eb0dSCaesar Wang
5896840eb0dSCaesar Wang		ppi-partitions {
5906840eb0dSCaesar Wang			ppi_cluster0: interrupt-partition-0 {
5916840eb0dSCaesar Wang				affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>;
5926840eb0dSCaesar Wang			};
5936840eb0dSCaesar Wang
5946840eb0dSCaesar Wang			ppi_cluster1: interrupt-partition-1 {
5956840eb0dSCaesar Wang				affinity = <&cpu_b0 &cpu_b1>;
5966840eb0dSCaesar Wang			};
5976840eb0dSCaesar Wang		};
598f048b9a4SJianqun Xu	};
599f048b9a4SJianqun Xu
600fe996215SCaesar Wang	saradc: saradc@ff100000 {
601fe996215SCaesar Wang		compatible = "rockchip,rk3399-saradc";
602fe996215SCaesar Wang		reg = <0x0 0xff100000 0x0 0x100>;
603210bbd38SCaesar Wang		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH 0>;
604fe996215SCaesar Wang		#io-channel-cells = <1>;
605fe996215SCaesar Wang		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
606fe996215SCaesar Wang		clock-names = "saradc", "apb_pclk";
607fe996215SCaesar Wang		resets = <&cru SRST_P_SARADC>;
608fe996215SCaesar Wang		reset-names = "saradc-apb";
609fe996215SCaesar Wang		status = "disabled";
610fe996215SCaesar Wang	};
611fe996215SCaesar Wang
6128c701fa6SCorentin Labbe	crypto0: crypto@ff8b0000 {
6138c701fa6SCorentin Labbe		compatible = "rockchip,rk3399-crypto";
6148c701fa6SCorentin Labbe		reg = <0x0 0xff8b0000 0x0 0x4000>;
6158c701fa6SCorentin Labbe		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH 0>;
6168c701fa6SCorentin Labbe		clocks = <&cru HCLK_M_CRYPTO0>, <&cru HCLK_S_CRYPTO0>, <&cru SCLK_CRYPTO0>;
6178c701fa6SCorentin Labbe		clock-names = "hclk_master", "hclk_slave", "sclk";
6188c701fa6SCorentin Labbe		resets = <&cru SRST_CRYPTO0>, <&cru SRST_CRYPTO0_S>, <&cru SRST_CRYPTO0_M>;
6198c3313e8SCorentin Labbe		reset-names = "master", "slave", "crypto-rst";
6208c701fa6SCorentin Labbe	};
6218c701fa6SCorentin Labbe
6228c701fa6SCorentin Labbe	crypto1: crypto@ff8b8000 {
6238c701fa6SCorentin Labbe		compatible = "rockchip,rk3399-crypto";
6248c701fa6SCorentin Labbe		reg = <0x0 0xff8b8000 0x0 0x4000>;
6258c701fa6SCorentin Labbe		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH 0>;
6268c701fa6SCorentin Labbe		clocks = <&cru HCLK_M_CRYPTO1>, <&cru HCLK_S_CRYPTO1>, <&cru SCLK_CRYPTO1>;
6278c701fa6SCorentin Labbe		clock-names = "hclk_master", "hclk_slave", "sclk";
6288c701fa6SCorentin Labbe		resets = <&cru SRST_CRYPTO1>, <&cru SRST_CRYPTO1_S>, <&cru SRST_CRYPTO1_M>;
6298c3313e8SCorentin Labbe		reset-names = "master", "slave", "crypto-rst";
6308c701fa6SCorentin Labbe	};
6318c701fa6SCorentin Labbe
63269e5a8feSDavid Wu	i2c1: i2c@ff110000 {
63369e5a8feSDavid Wu		compatible = "rockchip,rk3399-i2c";
63469e5a8feSDavid Wu		reg = <0x0 0xff110000 0x0 0x1000>;
63569e5a8feSDavid Wu		assigned-clocks = <&cru SCLK_I2C1>;
63669e5a8feSDavid Wu		assigned-clock-rates = <200000000>;
63769e5a8feSDavid Wu		clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
63869e5a8feSDavid Wu		clock-names = "i2c", "pclk";
639210bbd38SCaesar Wang		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH 0>;
64069e5a8feSDavid Wu		pinctrl-names = "default";
64169e5a8feSDavid Wu		pinctrl-0 = <&i2c1_xfer>;
64269e5a8feSDavid Wu		#address-cells = <1>;
64369e5a8feSDavid Wu		#size-cells = <0>;
64469e5a8feSDavid Wu		status = "disabled";
64569e5a8feSDavid Wu	};
64669e5a8feSDavid Wu
64769e5a8feSDavid Wu	i2c2: i2c@ff120000 {
64869e5a8feSDavid Wu		compatible = "rockchip,rk3399-i2c";
64969e5a8feSDavid Wu		reg = <0x0 0xff120000 0x0 0x1000>;
65069e5a8feSDavid Wu		assigned-clocks = <&cru SCLK_I2C2>;
65169e5a8feSDavid Wu		assigned-clock-rates = <200000000>;
65269e5a8feSDavid Wu		clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
65369e5a8feSDavid Wu		clock-names = "i2c", "pclk";
654210bbd38SCaesar Wang		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH 0>;
65569e5a8feSDavid Wu		pinctrl-names = "default";
65669e5a8feSDavid Wu		pinctrl-0 = <&i2c2_xfer>;
65769e5a8feSDavid Wu		#address-cells = <1>;
65869e5a8feSDavid Wu		#size-cells = <0>;
65969e5a8feSDavid Wu		status = "disabled";
66069e5a8feSDavid Wu	};
66169e5a8feSDavid Wu
66269e5a8feSDavid Wu	i2c3: i2c@ff130000 {
66369e5a8feSDavid Wu		compatible = "rockchip,rk3399-i2c";
66469e5a8feSDavid Wu		reg = <0x0 0xff130000 0x0 0x1000>;
66569e5a8feSDavid Wu		assigned-clocks = <&cru SCLK_I2C3>;
66669e5a8feSDavid Wu		assigned-clock-rates = <200000000>;
66769e5a8feSDavid Wu		clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
66869e5a8feSDavid Wu		clock-names = "i2c", "pclk";
669210bbd38SCaesar Wang		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH 0>;
67069e5a8feSDavid Wu		pinctrl-names = "default";
67169e5a8feSDavid Wu		pinctrl-0 = <&i2c3_xfer>;
67269e5a8feSDavid Wu		#address-cells = <1>;
67369e5a8feSDavid Wu		#size-cells = <0>;
67469e5a8feSDavid Wu		status = "disabled";
67569e5a8feSDavid Wu	};
67669e5a8feSDavid Wu
67769e5a8feSDavid Wu	i2c5: i2c@ff140000 {
67869e5a8feSDavid Wu		compatible = "rockchip,rk3399-i2c";
67969e5a8feSDavid Wu		reg = <0x0 0xff140000 0x0 0x1000>;
68069e5a8feSDavid Wu		assigned-clocks = <&cru SCLK_I2C5>;
68169e5a8feSDavid Wu		assigned-clock-rates = <200000000>;
68269e5a8feSDavid Wu		clocks = <&cru SCLK_I2C5>, <&cru PCLK_I2C5>;
68369e5a8feSDavid Wu		clock-names = "i2c", "pclk";
684210bbd38SCaesar Wang		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>;
68569e5a8feSDavid Wu		pinctrl-names = "default";
68669e5a8feSDavid Wu		pinctrl-0 = <&i2c5_xfer>;
68769e5a8feSDavid Wu		#address-cells = <1>;
68869e5a8feSDavid Wu		#size-cells = <0>;
68969e5a8feSDavid Wu		status = "disabled";
69069e5a8feSDavid Wu	};
69169e5a8feSDavid Wu
69269e5a8feSDavid Wu	i2c6: i2c@ff150000 {
69369e5a8feSDavid Wu		compatible = "rockchip,rk3399-i2c";
69469e5a8feSDavid Wu		reg = <0x0 0xff150000 0x0 0x1000>;
69569e5a8feSDavid Wu		assigned-clocks = <&cru SCLK_I2C6>;
69669e5a8feSDavid Wu		assigned-clock-rates = <200000000>;
69769e5a8feSDavid Wu		clocks = <&cru SCLK_I2C6>, <&cru PCLK_I2C6>;
69869e5a8feSDavid Wu		clock-names = "i2c", "pclk";
699210bbd38SCaesar Wang		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH 0>;
70069e5a8feSDavid Wu		pinctrl-names = "default";
70169e5a8feSDavid Wu		pinctrl-0 = <&i2c6_xfer>;
70269e5a8feSDavid Wu		#address-cells = <1>;
70369e5a8feSDavid Wu		#size-cells = <0>;
70469e5a8feSDavid Wu		status = "disabled";
70569e5a8feSDavid Wu	};
70669e5a8feSDavid Wu
70769e5a8feSDavid Wu	i2c7: i2c@ff160000 {
70869e5a8feSDavid Wu		compatible = "rockchip,rk3399-i2c";
70969e5a8feSDavid Wu		reg = <0x0 0xff160000 0x0 0x1000>;
71069e5a8feSDavid Wu		assigned-clocks = <&cru SCLK_I2C7>;
71169e5a8feSDavid Wu		assigned-clock-rates = <200000000>;
71269e5a8feSDavid Wu		clocks = <&cru SCLK_I2C7>, <&cru PCLK_I2C7>;
71369e5a8feSDavid Wu		clock-names = "i2c", "pclk";
714210bbd38SCaesar Wang		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH 0>;
71569e5a8feSDavid Wu		pinctrl-names = "default";
71669e5a8feSDavid Wu		pinctrl-0 = <&i2c7_xfer>;
71769e5a8feSDavid Wu		#address-cells = <1>;
71869e5a8feSDavid Wu		#size-cells = <0>;
71969e5a8feSDavid Wu		status = "disabled";
72069e5a8feSDavid Wu	};
72169e5a8feSDavid Wu
722f048b9a4SJianqun Xu	uart0: serial@ff180000 {
723f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
724f048b9a4SJianqun Xu		reg = <0x0 0xff180000 0x0 0x100>;
725f048b9a4SJianqun Xu		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
726f048b9a4SJianqun Xu		clock-names = "baudclk", "apb_pclk";
727210bbd38SCaesar Wang		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>;
728f048b9a4SJianqun Xu		reg-shift = <2>;
729f048b9a4SJianqun Xu		reg-io-width = <4>;
730f048b9a4SJianqun Xu		pinctrl-names = "default";
731f048b9a4SJianqun Xu		pinctrl-0 = <&uart0_xfer>;
732f048b9a4SJianqun Xu		status = "disabled";
733f048b9a4SJianqun Xu	};
734f048b9a4SJianqun Xu
735f048b9a4SJianqun Xu	uart1: serial@ff190000 {
736f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
737f048b9a4SJianqun Xu		reg = <0x0 0xff190000 0x0 0x100>;
738f048b9a4SJianqun Xu		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
739f048b9a4SJianqun Xu		clock-names = "baudclk", "apb_pclk";
740210bbd38SCaesar Wang		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH 0>;
741f048b9a4SJianqun Xu		reg-shift = <2>;
742f048b9a4SJianqun Xu		reg-io-width = <4>;
743f048b9a4SJianqun Xu		pinctrl-names = "default";
744f048b9a4SJianqun Xu		pinctrl-0 = <&uart1_xfer>;
745f048b9a4SJianqun Xu		status = "disabled";
746f048b9a4SJianqun Xu	};
747f048b9a4SJianqun Xu
748f048b9a4SJianqun Xu	uart2: serial@ff1a0000 {
749f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
750f048b9a4SJianqun Xu		reg = <0x0 0xff1a0000 0x0 0x100>;
751f048b9a4SJianqun Xu		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
752f048b9a4SJianqun Xu		clock-names = "baudclk", "apb_pclk";
753210bbd38SCaesar Wang		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH 0>;
754f048b9a4SJianqun Xu		reg-shift = <2>;
755f048b9a4SJianqun Xu		reg-io-width = <4>;
756f048b9a4SJianqun Xu		pinctrl-names = "default";
757f048b9a4SJianqun Xu		pinctrl-0 = <&uart2c_xfer>;
758f048b9a4SJianqun Xu		status = "disabled";
759f048b9a4SJianqun Xu	};
760f048b9a4SJianqun Xu
761f048b9a4SJianqun Xu	uart3: serial@ff1b0000 {
762f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
763f048b9a4SJianqun Xu		reg = <0x0 0xff1b0000 0x0 0x100>;
764f048b9a4SJianqun Xu		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
765f048b9a4SJianqun Xu		clock-names = "baudclk", "apb_pclk";
766210bbd38SCaesar Wang		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0>;
767f048b9a4SJianqun Xu		reg-shift = <2>;
768f048b9a4SJianqun Xu		reg-io-width = <4>;
769f048b9a4SJianqun Xu		pinctrl-names = "default";
770f048b9a4SJianqun Xu		pinctrl-0 = <&uart3_xfer>;
771f048b9a4SJianqun Xu		status = "disabled";
772f048b9a4SJianqun Xu	};
773f048b9a4SJianqun Xu
774f048b9a4SJianqun Xu	spi0: spi@ff1c0000 {
775f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
776f048b9a4SJianqun Xu		reg = <0x0 0xff1c0000 0x0 0x1000>;
777f048b9a4SJianqun Xu		clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
778f048b9a4SJianqun Xu		clock-names = "spiclk", "apb_pclk";
779210bbd38SCaesar Wang		interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH 0>;
780b0fe0f47SEmil Renner Berthing		dmas = <&dmac_peri 10>, <&dmac_peri 11>;
781b0fe0f47SEmil Renner Berthing		dma-names = "tx", "rx";
782f048b9a4SJianqun Xu		pinctrl-names = "default";
783f048b9a4SJianqun Xu		pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
784f048b9a4SJianqun Xu		#address-cells = <1>;
785f048b9a4SJianqun Xu		#size-cells = <0>;
786f048b9a4SJianqun Xu		status = "disabled";
787f048b9a4SJianqun Xu	};
788f048b9a4SJianqun Xu
789f048b9a4SJianqun Xu	spi1: spi@ff1d0000 {
790f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
791f048b9a4SJianqun Xu		reg = <0x0 0xff1d0000 0x0 0x1000>;
792f048b9a4SJianqun Xu		clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
793f048b9a4SJianqun Xu		clock-names = "spiclk", "apb_pclk";
794210bbd38SCaesar Wang		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH 0>;
795b0fe0f47SEmil Renner Berthing		dmas = <&dmac_peri 12>, <&dmac_peri 13>;
796b0fe0f47SEmil Renner Berthing		dma-names = "tx", "rx";
797f048b9a4SJianqun Xu		pinctrl-names = "default";
798f048b9a4SJianqun Xu		pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
799f048b9a4SJianqun Xu		#address-cells = <1>;
800f048b9a4SJianqun Xu		#size-cells = <0>;
801f048b9a4SJianqun Xu		status = "disabled";
802f048b9a4SJianqun Xu	};
803f048b9a4SJianqun Xu
804f048b9a4SJianqun Xu	spi2: spi@ff1e0000 {
805f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
806f048b9a4SJianqun Xu		reg = <0x0 0xff1e0000 0x0 0x1000>;
807f048b9a4SJianqun Xu		clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
808f048b9a4SJianqun Xu		clock-names = "spiclk", "apb_pclk";
809210bbd38SCaesar Wang		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH 0>;
810b0fe0f47SEmil Renner Berthing		dmas = <&dmac_peri 14>, <&dmac_peri 15>;
811b0fe0f47SEmil Renner Berthing		dma-names = "tx", "rx";
812f048b9a4SJianqun Xu		pinctrl-names = "default";
813f048b9a4SJianqun Xu		pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
814f048b9a4SJianqun Xu		#address-cells = <1>;
815f048b9a4SJianqun Xu		#size-cells = <0>;
816f048b9a4SJianqun Xu		status = "disabled";
817f048b9a4SJianqun Xu	};
818f048b9a4SJianqun Xu
819f048b9a4SJianqun Xu	spi4: spi@ff1f0000 {
820f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
821f048b9a4SJianqun Xu		reg = <0x0 0xff1f0000 0x0 0x1000>;
822f048b9a4SJianqun Xu		clocks = <&cru SCLK_SPI4>, <&cru PCLK_SPI4>;
823f048b9a4SJianqun Xu		clock-names = "spiclk", "apb_pclk";
824210bbd38SCaesar Wang		interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH 0>;
825b0fe0f47SEmil Renner Berthing		dmas = <&dmac_peri 18>, <&dmac_peri 19>;
826b0fe0f47SEmil Renner Berthing		dma-names = "tx", "rx";
827f048b9a4SJianqun Xu		pinctrl-names = "default";
828f048b9a4SJianqun Xu		pinctrl-0 = <&spi4_clk &spi4_tx &spi4_rx &spi4_cs0>;
829f048b9a4SJianqun Xu		#address-cells = <1>;
830f048b9a4SJianqun Xu		#size-cells = <0>;
831f048b9a4SJianqun Xu		status = "disabled";
832f048b9a4SJianqun Xu	};
833f048b9a4SJianqun Xu
834f048b9a4SJianqun Xu	spi5: spi@ff200000 {
835f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
836f048b9a4SJianqun Xu		reg = <0x0 0xff200000 0x0 0x1000>;
837f048b9a4SJianqun Xu		clocks = <&cru SCLK_SPI5>, <&cru PCLK_SPI5>;
838f048b9a4SJianqun Xu		clock-names = "spiclk", "apb_pclk";
839210bbd38SCaesar Wang		interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH 0>;
840b0fe0f47SEmil Renner Berthing		dmas = <&dmac_bus 8>, <&dmac_bus 9>;
841b0fe0f47SEmil Renner Berthing		dma-names = "tx", "rx";
842f048b9a4SJianqun Xu		pinctrl-names = "default";
843f048b9a4SJianqun Xu		pinctrl-0 = <&spi5_clk &spi5_tx &spi5_rx &spi5_cs0>;
844b0f2110aSCaesar Wang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
845f048b9a4SJianqun Xu		#address-cells = <1>;
846f048b9a4SJianqun Xu		#size-cells = <0>;
847f048b9a4SJianqun Xu		status = "disabled";
848f048b9a4SJianqun Xu	};
849f048b9a4SJianqun Xu
850647cea2eSBrian Norris	thermal_zones: thermal-zones {
851e58061b5SJohan Jonker		cpu_thermal: cpu-thermal {
85295c27ba7SCaesar Wang			polling-delay-passive = <100>;
85395c27ba7SCaesar Wang			polling-delay = <1000>;
85495c27ba7SCaesar Wang
85595c27ba7SCaesar Wang			thermal-sensors = <&tsadc 0>;
85695c27ba7SCaesar Wang
85795c27ba7SCaesar Wang			trips {
85895c27ba7SCaesar Wang				cpu_alert0: cpu_alert0 {
85995c27ba7SCaesar Wang					temperature = <70000>;
86095c27ba7SCaesar Wang					hysteresis = <2000>;
86195c27ba7SCaesar Wang					type = "passive";
86295c27ba7SCaesar Wang				};
86395c27ba7SCaesar Wang				cpu_alert1: cpu_alert1 {
86495c27ba7SCaesar Wang					temperature = <75000>;
86595c27ba7SCaesar Wang					hysteresis = <2000>;
86695c27ba7SCaesar Wang					type = "passive";
86795c27ba7SCaesar Wang				};
86895c27ba7SCaesar Wang				cpu_crit: cpu_crit {
86995c27ba7SCaesar Wang					temperature = <95000>;
87095c27ba7SCaesar Wang					hysteresis = <2000>;
87195c27ba7SCaesar Wang					type = "critical";
87295c27ba7SCaesar Wang				};
87395c27ba7SCaesar Wang			};
87495c27ba7SCaesar Wang
87595c27ba7SCaesar Wang			cooling-maps {
87695c27ba7SCaesar Wang				map0 {
87795c27ba7SCaesar Wang					trip = <&cpu_alert0>;
87895c27ba7SCaesar Wang					cooling-device =
879cdd46460SViresh Kumar						<&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
880cdd46460SViresh Kumar						<&cpu_b1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
88195c27ba7SCaesar Wang				};
88295c27ba7SCaesar Wang				map1 {
88395c27ba7SCaesar Wang					trip = <&cpu_alert1>;
88495c27ba7SCaesar Wang					cooling-device =
88595c27ba7SCaesar Wang						<&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
886cdd46460SViresh Kumar						<&cpu_l1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
887cdd46460SViresh Kumar						<&cpu_l2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
888cdd46460SViresh Kumar						<&cpu_l3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
889cdd46460SViresh Kumar						<&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
890cdd46460SViresh Kumar						<&cpu_b1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
89195c27ba7SCaesar Wang				};
89295c27ba7SCaesar Wang			};
89395c27ba7SCaesar Wang		};
89495c27ba7SCaesar Wang
895e58061b5SJohan Jonker		gpu_thermal: gpu-thermal {
89695c27ba7SCaesar Wang			polling-delay-passive = <100>;
89795c27ba7SCaesar Wang			polling-delay = <1000>;
89895c27ba7SCaesar Wang
89995c27ba7SCaesar Wang			thermal-sensors = <&tsadc 1>;
90095c27ba7SCaesar Wang
90195c27ba7SCaesar Wang			trips {
90295c27ba7SCaesar Wang				gpu_alert0: gpu_alert0 {
90395c27ba7SCaesar Wang					temperature = <75000>;
90495c27ba7SCaesar Wang					hysteresis = <2000>;
90595c27ba7SCaesar Wang					type = "passive";
90695c27ba7SCaesar Wang				};
90795c27ba7SCaesar Wang				gpu_crit: gpu_crit {
90895c27ba7SCaesar Wang					temperature = <95000>;
90995c27ba7SCaesar Wang					hysteresis = <2000>;
91095c27ba7SCaesar Wang					type = "critical";
91195c27ba7SCaesar Wang				};
91295c27ba7SCaesar Wang			};
91336be9111SRobin Murphy
91436be9111SRobin Murphy			cooling-maps {
91536be9111SRobin Murphy				map0 {
91636be9111SRobin Murphy					trip = <&gpu_alert0>;
91736be9111SRobin Murphy					cooling-device =
91836be9111SRobin Murphy						<&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
91936be9111SRobin Murphy				};
92036be9111SRobin Murphy			};
92195c27ba7SCaesar Wang		};
92295c27ba7SCaesar Wang	};
92395c27ba7SCaesar Wang
92495c27ba7SCaesar Wang	tsadc: tsadc@ff260000 {
92595c27ba7SCaesar Wang		compatible = "rockchip,rk3399-tsadc";
92695c27ba7SCaesar Wang		reg = <0x0 0xff260000 0x0 0x100>;
927210bbd38SCaesar Wang		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>;
92895c27ba7SCaesar Wang		assigned-clocks = <&cru SCLK_TSADC>;
92995c27ba7SCaesar Wang		assigned-clock-rates = <750000>;
93095c27ba7SCaesar Wang		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
93195c27ba7SCaesar Wang		clock-names = "tsadc", "apb_pclk";
93295c27ba7SCaesar Wang		resets = <&cru SRST_TSADC>;
93395c27ba7SCaesar Wang		reset-names = "tsadc-apb";
93495c27ba7SCaesar Wang		rockchip,grf = <&grf>;
93595c27ba7SCaesar Wang		rockchip,hw-tshut-temp = <95000>;
93695c27ba7SCaesar Wang		pinctrl-names = "init", "default", "sleep";
9372bc65fefSJohan Jonker		pinctrl-0 = <&otp_pin>;
93895c27ba7SCaesar Wang		pinctrl-1 = <&otp_out>;
9392bc65fefSJohan Jonker		pinctrl-2 = <&otp_pin>;
94095c27ba7SCaesar Wang		#thermal-sensor-cells = <1>;
94195c27ba7SCaesar Wang		status = "disabled";
94295c27ba7SCaesar Wang	};
94395c27ba7SCaesar Wang
944a1907df2SElaine Zhang	qos_emmc: qos@ffa58000 {
945bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
946a1907df2SElaine Zhang		reg = <0x0 0xffa58000 0x0 0x20>;
947a1907df2SElaine Zhang	};
948a1907df2SElaine Zhang
949d43c97a5SCaesar Wang	qos_gmac: qos@ffa5c000 {
950bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
951d43c97a5SCaesar Wang		reg = <0x0 0xffa5c000 0x0 0x20>;
952d43c97a5SCaesar Wang	};
953d43c97a5SCaesar Wang
95465f1e902SKever Yang	qos_pcie: qos@ffa60080 {
955bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
95665f1e902SKever Yang		reg = <0x0 0xffa60080 0x0 0x20>;
95765f1e902SKever Yang	};
95865f1e902SKever Yang
95965f1e902SKever Yang	qos_usb_host0: qos@ffa60100 {
960bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
96165f1e902SKever Yang		reg = <0x0 0xffa60100 0x0 0x20>;
96265f1e902SKever Yang	};
96365f1e902SKever Yang
96465f1e902SKever Yang	qos_usb_host1: qos@ffa60180 {
965bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
96665f1e902SKever Yang		reg = <0x0 0xffa60180 0x0 0x20>;
96765f1e902SKever Yang	};
96865f1e902SKever Yang
96965f1e902SKever Yang	qos_usb_otg0: qos@ffa70000 {
970bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
97165f1e902SKever Yang		reg = <0x0 0xffa70000 0x0 0x20>;
97265f1e902SKever Yang	};
97365f1e902SKever Yang
97465f1e902SKever Yang	qos_usb_otg1: qos@ffa70080 {
975bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
97665f1e902SKever Yang		reg = <0x0 0xffa70080 0x0 0x20>;
97765f1e902SKever Yang	};
97865f1e902SKever Yang
97965f1e902SKever Yang	qos_sd: qos@ffa74000 {
980bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
98165f1e902SKever Yang		reg = <0x0 0xffa74000 0x0 0x20>;
98265f1e902SKever Yang	};
98365f1e902SKever Yang
98465f1e902SKever Yang	qos_sdioaudio: qos@ffa76000 {
985bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
98665f1e902SKever Yang		reg = <0x0 0xffa76000 0x0 0x20>;
98765f1e902SKever Yang	};
98865f1e902SKever Yang
989807a2371SElaine Zhang	qos_hdcp: qos@ffa90000 {
990bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
991807a2371SElaine Zhang		reg = <0x0 0xffa90000 0x0 0x20>;
992807a2371SElaine Zhang	};
993807a2371SElaine Zhang
994807a2371SElaine Zhang	qos_iep: qos@ffa98000 {
995bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
996807a2371SElaine Zhang		reg = <0x0 0xffa98000 0x0 0x20>;
997807a2371SElaine Zhang	};
998807a2371SElaine Zhang
999807a2371SElaine Zhang	qos_isp0_m0: qos@ffaa0000 {
1000bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1001807a2371SElaine Zhang		reg = <0x0 0xffaa0000 0x0 0x20>;
1002807a2371SElaine Zhang	};
1003807a2371SElaine Zhang
1004807a2371SElaine Zhang	qos_isp0_m1: qos@ffaa0080 {
1005bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1006807a2371SElaine Zhang		reg = <0x0 0xffaa0080 0x0 0x20>;
1007807a2371SElaine Zhang	};
1008807a2371SElaine Zhang
1009807a2371SElaine Zhang	qos_isp1_m0: qos@ffaa8000 {
1010bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1011807a2371SElaine Zhang		reg = <0x0 0xffaa8000 0x0 0x20>;
1012807a2371SElaine Zhang	};
1013807a2371SElaine Zhang
1014807a2371SElaine Zhang	qos_isp1_m1: qos@ffaa8080 {
1015bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1016807a2371SElaine Zhang		reg = <0x0 0xffaa8080 0x0 0x20>;
1017807a2371SElaine Zhang	};
1018807a2371SElaine Zhang
1019807a2371SElaine Zhang	qos_rga_r: qos@ffab0000 {
1020bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1021807a2371SElaine Zhang		reg = <0x0 0xffab0000 0x0 0x20>;
1022807a2371SElaine Zhang	};
1023807a2371SElaine Zhang
1024807a2371SElaine Zhang	qos_rga_w: qos@ffab0080 {
1025bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1026807a2371SElaine Zhang		reg = <0x0 0xffab0080 0x0 0x20>;
1027807a2371SElaine Zhang	};
1028807a2371SElaine Zhang
1029807a2371SElaine Zhang	qos_video_m0: qos@ffab8000 {
1030bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1031807a2371SElaine Zhang		reg = <0x0 0xffab8000 0x0 0x20>;
1032807a2371SElaine Zhang	};
1033807a2371SElaine Zhang
1034807a2371SElaine Zhang	qos_video_m1_r: qos@ffac0000 {
1035bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1036807a2371SElaine Zhang		reg = <0x0 0xffac0000 0x0 0x20>;
1037807a2371SElaine Zhang	};
1038807a2371SElaine Zhang
1039807a2371SElaine Zhang	qos_video_m1_w: qos@ffac0080 {
1040bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1041807a2371SElaine Zhang		reg = <0x0 0xffac0080 0x0 0x20>;
1042807a2371SElaine Zhang	};
1043807a2371SElaine Zhang
1044807a2371SElaine Zhang	qos_vop_big_r: qos@ffac8000 {
1045bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1046807a2371SElaine Zhang		reg = <0x0 0xffac8000 0x0 0x20>;
1047807a2371SElaine Zhang	};
1048807a2371SElaine Zhang
1049807a2371SElaine Zhang	qos_vop_big_w: qos@ffac8080 {
1050bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1051807a2371SElaine Zhang		reg = <0x0 0xffac8080 0x0 0x20>;
1052807a2371SElaine Zhang	};
1053807a2371SElaine Zhang
1054807a2371SElaine Zhang	qos_vop_little: qos@ffad0000 {
1055bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1056807a2371SElaine Zhang		reg = <0x0 0xffad0000 0x0 0x20>;
1057807a2371SElaine Zhang	};
1058807a2371SElaine Zhang
105965f1e902SKever Yang	qos_perihp: qos@ffad8080 {
1060bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
106165f1e902SKever Yang		reg = <0x0 0xffad8080 0x0 0x20>;
106265f1e902SKever Yang	};
106365f1e902SKever Yang
1064807a2371SElaine Zhang	qos_gpu: qos@ffae0000 {
1065bd3fd049SJohan Jonker		compatible = "rockchip,rk3399-qos", "syscon";
1066807a2371SElaine Zhang		reg = <0x0 0xffae0000 0x0 0x20>;
1067807a2371SElaine Zhang	};
1068807a2371SElaine Zhang
1069807a2371SElaine Zhang	pmu: power-management@ff310000 {
1070807a2371SElaine Zhang		compatible = "rockchip,rk3399-pmu", "syscon", "simple-mfd";
1071807a2371SElaine Zhang		reg = <0x0 0xff310000 0x0 0x1000>;
1072807a2371SElaine Zhang
1073807a2371SElaine Zhang		/*
1074807a2371SElaine Zhang		 * Note: RK3399 supports 6 voltage domains including VD_CORE_L,
1075807a2371SElaine Zhang		 * VD_CORE_B, VD_CENTER, VD_GPU, VD_LOGIC and VD_PMU.
1076807a2371SElaine Zhang		 * Some of the power domains are grouped together for every
1077807a2371SElaine Zhang		 * voltage domain.
1078807a2371SElaine Zhang		 * The detail contents as below.
1079807a2371SElaine Zhang		 */
1080807a2371SElaine Zhang		power: power-controller {
1081807a2371SElaine Zhang			compatible = "rockchip,rk3399-power-controller";
1082807a2371SElaine Zhang			#power-domain-cells = <1>;
1083807a2371SElaine Zhang			#address-cells = <1>;
1084807a2371SElaine Zhang			#size-cells = <0>;
1085807a2371SElaine Zhang
1086807a2371SElaine Zhang			/* These power domains are grouped by VD_CENTER */
1087148bbe29SElaine Zhang			power-domain@RK3399_PD_IEP {
1088807a2371SElaine Zhang				reg = <RK3399_PD_IEP>;
1089807a2371SElaine Zhang				clocks = <&cru ACLK_IEP>,
1090807a2371SElaine Zhang					 <&cru HCLK_IEP>;
1091807a2371SElaine Zhang				pm_qos = <&qos_iep>;
1092837188d4SJohan Jonker				#power-domain-cells = <0>;
1093807a2371SElaine Zhang			};
1094148bbe29SElaine Zhang			power-domain@RK3399_PD_RGA {
1095807a2371SElaine Zhang				reg = <RK3399_PD_RGA>;
1096807a2371SElaine Zhang				clocks = <&cru ACLK_RGA>,
1097807a2371SElaine Zhang					 <&cru HCLK_RGA>;
1098807a2371SElaine Zhang				pm_qos = <&qos_rga_r>,
1099807a2371SElaine Zhang					 <&qos_rga_w>;
1100837188d4SJohan Jonker				#power-domain-cells = <0>;
1101807a2371SElaine Zhang			};
1102148bbe29SElaine Zhang			power-domain@RK3399_PD_VCODEC {
1103807a2371SElaine Zhang				reg = <RK3399_PD_VCODEC>;
1104807a2371SElaine Zhang				clocks = <&cru ACLK_VCODEC>,
1105807a2371SElaine Zhang					 <&cru HCLK_VCODEC>;
1106807a2371SElaine Zhang				pm_qos = <&qos_video_m0>;
1107837188d4SJohan Jonker				#power-domain-cells = <0>;
1108807a2371SElaine Zhang			};
1109148bbe29SElaine Zhang			power-domain@RK3399_PD_VDU {
1110807a2371SElaine Zhang				reg = <RK3399_PD_VDU>;
1111807a2371SElaine Zhang				clocks = <&cru ACLK_VDU>,
1112bdcedad6SAlex Bee					 <&cru HCLK_VDU>,
1113bdcedad6SAlex Bee					 <&cru SCLK_VDU_CA>,
1114bdcedad6SAlex Bee					 <&cru SCLK_VDU_CORE>;
1115807a2371SElaine Zhang				pm_qos = <&qos_video_m1_r>,
1116807a2371SElaine Zhang					 <&qos_video_m1_w>;
1117837188d4SJohan Jonker				#power-domain-cells = <0>;
1118807a2371SElaine Zhang			};
1119807a2371SElaine Zhang
1120807a2371SElaine Zhang			/* These power domains are grouped by VD_GPU */
1121148bbe29SElaine Zhang			power-domain@RK3399_PD_GPU {
1122807a2371SElaine Zhang				reg = <RK3399_PD_GPU>;
1123807a2371SElaine Zhang				clocks = <&cru ACLK_GPU>;
1124807a2371SElaine Zhang				pm_qos = <&qos_gpu>;
1125837188d4SJohan Jonker				#power-domain-cells = <0>;
1126807a2371SElaine Zhang			};
1127807a2371SElaine Zhang
1128807a2371SElaine Zhang			/* These power domains are grouped by VD_LOGIC */
1129148bbe29SElaine Zhang			power-domain@RK3399_PD_EDP {
11303cf04a4eSElaine Zhang				reg = <RK3399_PD_EDP>;
11313cf04a4eSElaine Zhang				clocks = <&cru PCLK_EDP_CTRL>;
1132837188d4SJohan Jonker				#power-domain-cells = <0>;
11333cf04a4eSElaine Zhang			};
1134148bbe29SElaine Zhang			power-domain@RK3399_PD_EMMC {
1135a1907df2SElaine Zhang				reg = <RK3399_PD_EMMC>;
1136a1907df2SElaine Zhang				clocks = <&cru ACLK_EMMC>;
1137a1907df2SElaine Zhang				pm_qos = <&qos_emmc>;
1138837188d4SJohan Jonker				#power-domain-cells = <0>;
1139a1907df2SElaine Zhang			};
1140148bbe29SElaine Zhang			power-domain@RK3399_PD_GMAC {
1141d43c97a5SCaesar Wang				reg = <RK3399_PD_GMAC>;
11422afc1db0SJeffy Chen				clocks = <&cru ACLK_GMAC>,
11432afc1db0SJeffy Chen					 <&cru PCLK_GMAC>;
1144d43c97a5SCaesar Wang				pm_qos = <&qos_gmac>;
1145837188d4SJohan Jonker				#power-domain-cells = <0>;
1146d43c97a5SCaesar Wang			};
1147148bbe29SElaine Zhang			power-domain@RK3399_PD_SD {
11481bc60beeSElaine Zhang				reg = <RK3399_PD_SD>;
11491bc60beeSElaine Zhang				clocks = <&cru HCLK_SDMMC>,
11501bc60beeSElaine Zhang					 <&cru SCLK_SDMMC>;
11511bc60beeSElaine Zhang				pm_qos = <&qos_sd>;
1152837188d4SJohan Jonker				#power-domain-cells = <0>;
11531bc60beeSElaine Zhang			};
1154148bbe29SElaine Zhang			power-domain@RK3399_PD_SDIOAUDIO {
1155b0f2110aSCaesar Wang				reg = <RK3399_PD_SDIOAUDIO>;
1156b0f2110aSCaesar Wang				clocks = <&cru HCLK_SDIO>;
1157b0f2110aSCaesar Wang				pm_qos = <&qos_sdioaudio>;
1158837188d4SJohan Jonker				#power-domain-cells = <0>;
1159b0f2110aSCaesar Wang			};
1160148bbe29SElaine Zhang			power-domain@RK3399_PD_TCPD0 {
11612b99e619SJohan Jonker				reg = <RK3399_PD_TCPD0>;
11622b99e619SJohan Jonker				clocks = <&cru SCLK_UPHY0_TCPDCORE>,
11632b99e619SJohan Jonker					 <&cru SCLK_UPHY0_TCPDPHY_REF>;
1164837188d4SJohan Jonker				#power-domain-cells = <0>;
11652b99e619SJohan Jonker			};
1166148bbe29SElaine Zhang			power-domain@RK3399_PD_TCPD1 {
11672b99e619SJohan Jonker				reg = <RK3399_PD_TCPD1>;
11682b99e619SJohan Jonker				clocks = <&cru SCLK_UPHY1_TCPDCORE>,
11692b99e619SJohan Jonker					 <&cru SCLK_UPHY1_TCPDPHY_REF>;
1170837188d4SJohan Jonker				#power-domain-cells = <0>;
11712b99e619SJohan Jonker			};
1172148bbe29SElaine Zhang			power-domain@RK3399_PD_USB3 {
1173a1bbaaa4SEnric Balletbo i Serra				reg = <RK3399_PD_USB3>;
1174a1bbaaa4SEnric Balletbo i Serra				clocks = <&cru ACLK_USB3>;
1175a1bbaaa4SEnric Balletbo i Serra				pm_qos = <&qos_usb_otg0>,
1176a1bbaaa4SEnric Balletbo i Serra					 <&qos_usb_otg1>;
1177837188d4SJohan Jonker				#power-domain-cells = <0>;
1178a1bbaaa4SEnric Balletbo i Serra			};
1179148bbe29SElaine Zhang			power-domain@RK3399_PD_VIO {
1180807a2371SElaine Zhang				reg = <RK3399_PD_VIO>;
1181837188d4SJohan Jonker				#power-domain-cells = <1>;
1182807a2371SElaine Zhang				#address-cells = <1>;
1183807a2371SElaine Zhang				#size-cells = <0>;
1184807a2371SElaine Zhang
1185148bbe29SElaine Zhang				power-domain@RK3399_PD_HDCP {
1186807a2371SElaine Zhang					reg = <RK3399_PD_HDCP>;
1187807a2371SElaine Zhang					clocks = <&cru ACLK_HDCP>,
1188807a2371SElaine Zhang						 <&cru HCLK_HDCP>,
1189807a2371SElaine Zhang						 <&cru PCLK_HDCP>;
1190807a2371SElaine Zhang					pm_qos = <&qos_hdcp>;
1191837188d4SJohan Jonker					#power-domain-cells = <0>;
1192807a2371SElaine Zhang				};
1193148bbe29SElaine Zhang				power-domain@RK3399_PD_ISP0 {
1194807a2371SElaine Zhang					reg = <RK3399_PD_ISP0>;
1195807a2371SElaine Zhang					clocks = <&cru ACLK_ISP0>,
1196807a2371SElaine Zhang						 <&cru HCLK_ISP0>;
1197807a2371SElaine Zhang					pm_qos = <&qos_isp0_m0>,
1198807a2371SElaine Zhang						 <&qos_isp0_m1>;
1199837188d4SJohan Jonker					#power-domain-cells = <0>;
1200807a2371SElaine Zhang				};
1201148bbe29SElaine Zhang				power-domain@RK3399_PD_ISP1 {
1202807a2371SElaine Zhang					reg = <RK3399_PD_ISP1>;
1203807a2371SElaine Zhang					clocks = <&cru ACLK_ISP1>,
1204807a2371SElaine Zhang						 <&cru HCLK_ISP1>;
1205807a2371SElaine Zhang					pm_qos = <&qos_isp1_m0>,
1206807a2371SElaine Zhang						 <&qos_isp1_m1>;
1207837188d4SJohan Jonker					#power-domain-cells = <0>;
1208807a2371SElaine Zhang				};
1209148bbe29SElaine Zhang				power-domain@RK3399_PD_VO {
1210807a2371SElaine Zhang					reg = <RK3399_PD_VO>;
1211837188d4SJohan Jonker					#power-domain-cells = <1>;
1212807a2371SElaine Zhang					#address-cells = <1>;
1213807a2371SElaine Zhang					#size-cells = <0>;
1214807a2371SElaine Zhang
1215148bbe29SElaine Zhang					power-domain@RK3399_PD_VOPB {
1216807a2371SElaine Zhang						reg = <RK3399_PD_VOPB>;
1217807a2371SElaine Zhang						clocks = <&cru ACLK_VOP0>,
1218807a2371SElaine Zhang							 <&cru HCLK_VOP0>;
1219807a2371SElaine Zhang						pm_qos = <&qos_vop_big_r>,
1220807a2371SElaine Zhang							 <&qos_vop_big_w>;
1221837188d4SJohan Jonker						#power-domain-cells = <0>;
1222807a2371SElaine Zhang					};
1223148bbe29SElaine Zhang					power-domain@RK3399_PD_VOPL {
1224807a2371SElaine Zhang						reg = <RK3399_PD_VOPL>;
1225807a2371SElaine Zhang						clocks = <&cru ACLK_VOP1>,
1226807a2371SElaine Zhang							 <&cru HCLK_VOP1>;
1227807a2371SElaine Zhang						pm_qos = <&qos_vop_little>;
1228837188d4SJohan Jonker						#power-domain-cells = <0>;
1229807a2371SElaine Zhang					};
1230807a2371SElaine Zhang				};
1231807a2371SElaine Zhang			};
1232807a2371SElaine Zhang		};
1233807a2371SElaine Zhang	};
1234807a2371SElaine Zhang
1235f048b9a4SJianqun Xu	pmugrf: syscon@ff320000 {
123616759262SBrian Norris		compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd";
1237f048b9a4SJianqun Xu		reg = <0x0 0xff320000 0x0 0x1000>;
12386d0e3a45SHeiko Stuebner
12396d0e3a45SHeiko Stuebner		pmu_io_domains: io-domains {
12406d0e3a45SHeiko Stuebner			compatible = "rockchip,rk3399-pmu-io-voltage-domain";
12416d0e3a45SHeiko Stuebner			status = "disabled";
12426d0e3a45SHeiko Stuebner		};
1243f048b9a4SJianqun Xu	};
1244f048b9a4SJianqun Xu
1245f048b9a4SJianqun Xu	spi3: spi@ff350000 {
1246f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
1247f048b9a4SJianqun Xu		reg = <0x0 0xff350000 0x0 0x1000>;
1248f048b9a4SJianqun Xu		clocks = <&pmucru SCLK_SPI3_PMU>, <&pmucru PCLK_SPI3_PMU>;
1249f048b9a4SJianqun Xu		clock-names = "spiclk", "apb_pclk";
1250210bbd38SCaesar Wang		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH 0>;
1251f048b9a4SJianqun Xu		pinctrl-names = "default";
1252f048b9a4SJianqun Xu		pinctrl-0 = <&spi3_clk &spi3_tx &spi3_rx &spi3_cs0>;
1253f048b9a4SJianqun Xu		#address-cells = <1>;
1254f048b9a4SJianqun Xu		#size-cells = <0>;
1255f048b9a4SJianqun Xu		status = "disabled";
1256f048b9a4SJianqun Xu	};
1257f048b9a4SJianqun Xu
1258f048b9a4SJianqun Xu	uart4: serial@ff370000 {
1259f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
1260f048b9a4SJianqun Xu		reg = <0x0 0xff370000 0x0 0x100>;
1261f048b9a4SJianqun Xu		clocks = <&pmucru SCLK_UART4_PMU>, <&pmucru PCLK_UART4_PMU>;
1262f048b9a4SJianqun Xu		clock-names = "baudclk", "apb_pclk";
1263210bbd38SCaesar Wang		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH 0>;
1264f048b9a4SJianqun Xu		reg-shift = <2>;
1265f048b9a4SJianqun Xu		reg-io-width = <4>;
1266f048b9a4SJianqun Xu		pinctrl-names = "default";
1267f048b9a4SJianqun Xu		pinctrl-0 = <&uart4_xfer>;
1268f048b9a4SJianqun Xu		status = "disabled";
1269f048b9a4SJianqun Xu	};
1270f048b9a4SJianqun Xu
127169e5a8feSDavid Wu	i2c0: i2c@ff3c0000 {
127269e5a8feSDavid Wu		compatible = "rockchip,rk3399-i2c";
127369e5a8feSDavid Wu		reg = <0x0 0xff3c0000 0x0 0x1000>;
127469e5a8feSDavid Wu		assigned-clocks = <&pmucru SCLK_I2C0_PMU>;
127569e5a8feSDavid Wu		assigned-clock-rates = <200000000>;
127669e5a8feSDavid Wu		clocks = <&pmucru SCLK_I2C0_PMU>, <&pmucru PCLK_I2C0_PMU>;
127769e5a8feSDavid Wu		clock-names = "i2c", "pclk";
1278210bbd38SCaesar Wang		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH 0>;
127969e5a8feSDavid Wu		pinctrl-names = "default";
128069e5a8feSDavid Wu		pinctrl-0 = <&i2c0_xfer>;
128169e5a8feSDavid Wu		#address-cells = <1>;
128269e5a8feSDavid Wu		#size-cells = <0>;
128369e5a8feSDavid Wu		status = "disabled";
128469e5a8feSDavid Wu	};
128569e5a8feSDavid Wu
128669e5a8feSDavid Wu	i2c4: i2c@ff3d0000 {
128769e5a8feSDavid Wu		compatible = "rockchip,rk3399-i2c";
128869e5a8feSDavid Wu		reg = <0x0 0xff3d0000 0x0 0x1000>;
128969e5a8feSDavid Wu		assigned-clocks = <&pmucru SCLK_I2C4_PMU>;
129069e5a8feSDavid Wu		assigned-clock-rates = <200000000>;
129169e5a8feSDavid Wu		clocks = <&pmucru SCLK_I2C4_PMU>, <&pmucru PCLK_I2C4_PMU>;
129269e5a8feSDavid Wu		clock-names = "i2c", "pclk";
1293210bbd38SCaesar Wang		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH 0>;
129469e5a8feSDavid Wu		pinctrl-names = "default";
129569e5a8feSDavid Wu		pinctrl-0 = <&i2c4_xfer>;
129669e5a8feSDavid Wu		#address-cells = <1>;
129769e5a8feSDavid Wu		#size-cells = <0>;
129869e5a8feSDavid Wu		status = "disabled";
129969e5a8feSDavid Wu	};
130069e5a8feSDavid Wu
130169e5a8feSDavid Wu	i2c8: i2c@ff3e0000 {
130269e5a8feSDavid Wu		compatible = "rockchip,rk3399-i2c";
130369e5a8feSDavid Wu		reg = <0x0 0xff3e0000 0x0 0x1000>;
130469e5a8feSDavid Wu		assigned-clocks = <&pmucru SCLK_I2C8_PMU>;
130569e5a8feSDavid Wu		assigned-clock-rates = <200000000>;
130669e5a8feSDavid Wu		clocks = <&pmucru SCLK_I2C8_PMU>, <&pmucru PCLK_I2C8_PMU>;
130769e5a8feSDavid Wu		clock-names = "i2c", "pclk";
1308210bbd38SCaesar Wang		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
130969e5a8feSDavid Wu		pinctrl-names = "default";
131069e5a8feSDavid Wu		pinctrl-0 = <&i2c8_xfer>;
131169e5a8feSDavid Wu		#address-cells = <1>;
131269e5a8feSDavid Wu		#size-cells = <0>;
131369e5a8feSDavid Wu		status = "disabled";
131469e5a8feSDavid Wu	};
131569e5a8feSDavid Wu
1316f048b9a4SJianqun Xu	pwm0: pwm@ff420000 {
1317f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1318f048b9a4SJianqun Xu		reg = <0x0 0xff420000 0x0 0x10>;
1319f048b9a4SJianqun Xu		#pwm-cells = <3>;
1320f048b9a4SJianqun Xu		pinctrl-names = "default";
1321f048b9a4SJianqun Xu		pinctrl-0 = <&pwm0_pin>;
1322f048b9a4SJianqun Xu		clocks = <&pmucru PCLK_RKPWM_PMU>;
1323f048b9a4SJianqun Xu		status = "disabled";
1324f048b9a4SJianqun Xu	};
1325f048b9a4SJianqun Xu
1326f048b9a4SJianqun Xu	pwm1: pwm@ff420010 {
1327f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1328f048b9a4SJianqun Xu		reg = <0x0 0xff420010 0x0 0x10>;
1329f048b9a4SJianqun Xu		#pwm-cells = <3>;
1330f048b9a4SJianqun Xu		pinctrl-names = "default";
1331f048b9a4SJianqun Xu		pinctrl-0 = <&pwm1_pin>;
1332f048b9a4SJianqun Xu		clocks = <&pmucru PCLK_RKPWM_PMU>;
1333f048b9a4SJianqun Xu		status = "disabled";
1334f048b9a4SJianqun Xu	};
1335f048b9a4SJianqun Xu
1336f048b9a4SJianqun Xu	pwm2: pwm@ff420020 {
1337f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1338f048b9a4SJianqun Xu		reg = <0x0 0xff420020 0x0 0x10>;
1339f048b9a4SJianqun Xu		#pwm-cells = <3>;
1340f048b9a4SJianqun Xu		pinctrl-names = "default";
1341f048b9a4SJianqun Xu		pinctrl-0 = <&pwm2_pin>;
1342f048b9a4SJianqun Xu		clocks = <&pmucru PCLK_RKPWM_PMU>;
1343f048b9a4SJianqun Xu		status = "disabled";
1344f048b9a4SJianqun Xu	};
1345f048b9a4SJianqun Xu
1346f048b9a4SJianqun Xu	pwm3: pwm@ff420030 {
1347f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1348f048b9a4SJianqun Xu		reg = <0x0 0xff420030 0x0 0x10>;
1349f048b9a4SJianqun Xu		#pwm-cells = <3>;
1350f048b9a4SJianqun Xu		pinctrl-names = "default";
1351f048b9a4SJianqun Xu		pinctrl-0 = <&pwm3a_pin>;
1352f048b9a4SJianqun Xu		clocks = <&pmucru PCLK_RKPWM_PMU>;
1353f048b9a4SJianqun Xu		status = "disabled";
1354f048b9a4SJianqun Xu	};
1355f048b9a4SJianqun Xu
13561b3f3685SLin Huang	dfi: dfi@ff630000 {
13571b3f3685SLin Huang		reg = <0x00 0xff630000 0x00 0x4000>;
13581b3f3685SLin Huang		compatible = "rockchip,rk3399-dfi";
13591b3f3685SLin Huang		rockchip,pmu = <&pmugrf>;
13601b3f3685SLin Huang		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH 0>;
13611b3f3685SLin Huang		clocks = <&cru PCLK_DDR_MON>;
13621b3f3685SLin Huang		clock-names = "pclk_ddr_mon";
13631b3f3685SLin Huang		status = "disabled";
13641b3f3685SLin Huang	};
13651b3f3685SLin Huang
13665cd4c31aSEzequiel Garcia	vpu: video-codec@ff650000 {
13675cd4c31aSEzequiel Garcia		compatible = "rockchip,rk3399-vpu";
13685cd4c31aSEzequiel Garcia		reg = <0x0 0xff650000 0x0 0x800>;
13695cd4c31aSEzequiel Garcia		interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH 0>,
13705cd4c31aSEzequiel Garcia			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 0>;
137187543bb6SAlex Bee		interrupt-names = "vepu", "vdpu";
13725cd4c31aSEzequiel Garcia		clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
13735cd4c31aSEzequiel Garcia		clock-names = "aclk", "hclk";
13745cd4c31aSEzequiel Garcia		iommus = <&vpu_mmu>;
13755cd4c31aSEzequiel Garcia		power-domains = <&power RK3399_PD_VCODEC>;
13765cd4c31aSEzequiel Garcia	};
13775cd4c31aSEzequiel Garcia
1378ae4fdccaSSimon Xue	vpu_mmu: iommu@ff650800 {
1379ae4fdccaSSimon Xue		compatible = "rockchip,iommu";
1380ae4fdccaSSimon Xue		reg = <0x0 0xff650800 0x0 0x40>;
1381ae4fdccaSSimon Xue		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH 0>;
1382df3bcde7SJeffy Chen		clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
1383df3bcde7SJeffy Chen		clock-names = "aclk", "iface";
1384ae4fdccaSSimon Xue		#iommu-cells = <0>;
13855cd4c31aSEzequiel Garcia		power-domains = <&power RK3399_PD_VCODEC>;
1386ae4fdccaSSimon Xue	};
1387ae4fdccaSSimon Xue
1388cbd72144SBoris Brezillon	vdec: video-codec@ff660000 {
1389cbd72144SBoris Brezillon		compatible = "rockchip,rk3399-vdec";
1390bdcedad6SAlex Bee		reg = <0x0 0xff660000 0x0 0x480>;
1391cbd72144SBoris Brezillon		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
1392cbd72144SBoris Brezillon		clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>,
1393cbd72144SBoris Brezillon			 <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>;
1394cbd72144SBoris Brezillon		clock-names = "axi", "ahb", "cabac", "core";
1395cbd72144SBoris Brezillon		iommus = <&vdec_mmu>;
1396cbd72144SBoris Brezillon		power-domains = <&power RK3399_PD_VDU>;
1397cbd72144SBoris Brezillon	};
1398cbd72144SBoris Brezillon
1399ae4fdccaSSimon Xue	vdec_mmu: iommu@ff660480 {
1400ae4fdccaSSimon Xue		compatible = "rockchip,iommu";
1401ae4fdccaSSimon Xue		reg = <0x0 0xff660480 0x0 0x40>, <0x0 0xff6604c0 0x0 0x40>;
1402ae4fdccaSSimon Xue		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH 0>;
1403df3bcde7SJeffy Chen		clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>;
1404df3bcde7SJeffy Chen		clock-names = "aclk", "iface";
1405cbd72144SBoris Brezillon		power-domains = <&power RK3399_PD_VDU>;
1406ae4fdccaSSimon Xue		#iommu-cells = <0>;
1407ae4fdccaSSimon Xue	};
1408ae4fdccaSSimon Xue
1409ae4fdccaSSimon Xue	iep_mmu: iommu@ff670800 {
1410ae4fdccaSSimon Xue		compatible = "rockchip,iommu";
1411ae4fdccaSSimon Xue		reg = <0x0 0xff670800 0x0 0x40>;
1412ae4fdccaSSimon Xue		interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH 0>;
1413df3bcde7SJeffy Chen		clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>;
1414df3bcde7SJeffy Chen		clock-names = "aclk", "iface";
1415ae4fdccaSSimon Xue		#iommu-cells = <0>;
1416ae4fdccaSSimon Xue		status = "disabled";
1417ae4fdccaSSimon Xue	};
1418ae4fdccaSSimon Xue
1419ec5ccfd7SJacob Chen	rga: rga@ff680000 {
1420ec5ccfd7SJacob Chen		compatible = "rockchip,rk3399-rga";
1421ec5ccfd7SJacob Chen		reg = <0x0 0xff680000 0x0 0x10000>;
1422ec5ccfd7SJacob Chen		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH 0>;
1423ec5ccfd7SJacob Chen		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>;
1424ec5ccfd7SJacob Chen		clock-names = "aclk", "hclk", "sclk";
1425ec5ccfd7SJacob Chen		resets = <&cru SRST_RGA_CORE>, <&cru SRST_A_RGA>, <&cru SRST_H_RGA>;
1426ec5ccfd7SJacob Chen		reset-names = "core", "axi", "ahb";
1427ec5ccfd7SJacob Chen		power-domains = <&power RK3399_PD_RGA>;
1428ec5ccfd7SJacob Chen	};
1429ec5ccfd7SJacob Chen
1430b7ee3b27SFinley Xiao	efuse0: efuse@ff690000 {
1431b7ee3b27SFinley Xiao		compatible = "rockchip,rk3399-efuse";
1432b7ee3b27SFinley Xiao		reg = <0x0 0xff690000 0x0 0x80>;
1433b7ee3b27SFinley Xiao		#address-cells = <1>;
1434b7ee3b27SFinley Xiao		#size-cells = <1>;
1435b7ee3b27SFinley Xiao		clocks = <&cru PCLK_EFUSE1024NS>;
1436b7ee3b27SFinley Xiao		clock-names = "pclk_efuse";
1437b7ee3b27SFinley Xiao
1438b7ee3b27SFinley Xiao		/* Data cells */
14390d326927SZiyuan Xu		cpu_id: cpu-id@7 {
14400d326927SZiyuan Xu			reg = <0x07 0x10>;
14410d326927SZiyuan Xu		};
1442b7ee3b27SFinley Xiao		cpub_leakage: cpu-leakage@17 {
1443b7ee3b27SFinley Xiao			reg = <0x17 0x1>;
1444b7ee3b27SFinley Xiao		};
1445b7ee3b27SFinley Xiao		gpu_leakage: gpu-leakage@18 {
1446b7ee3b27SFinley Xiao			reg = <0x18 0x1>;
1447b7ee3b27SFinley Xiao		};
1448b7ee3b27SFinley Xiao		center_leakage: center-leakage@19 {
1449b7ee3b27SFinley Xiao			reg = <0x19 0x1>;
1450b7ee3b27SFinley Xiao		};
1451b7ee3b27SFinley Xiao		cpul_leakage: cpu-leakage@1a {
1452b7ee3b27SFinley Xiao			reg = <0x1a 0x1>;
1453b7ee3b27SFinley Xiao		};
1454b7ee3b27SFinley Xiao		logic_leakage: logic-leakage@1b {
1455b7ee3b27SFinley Xiao			reg = <0x1b 0x1>;
1456b7ee3b27SFinley Xiao		};
1457b7ee3b27SFinley Xiao		wafer_info: wafer-info@1c {
1458b7ee3b27SFinley Xiao			reg = <0x1c 0x1>;
1459b7ee3b27SFinley Xiao		};
1460b7ee3b27SFinley Xiao	};
1461b7ee3b27SFinley Xiao
14629e824449SRobin Murphy	dmac_bus: dma-controller@ff6d0000 {
14639e824449SRobin Murphy		compatible = "arm,pl330", "arm,primecell";
14649e824449SRobin Murphy		reg = <0x0 0xff6d0000 0x0 0x4000>;
14659e824449SRobin Murphy		interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>,
14669e824449SRobin Murphy			     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>;
14679e824449SRobin Murphy		#dma-cells = <1>;
14689e824449SRobin Murphy		arm,pl330-periph-burst;
14699e824449SRobin Murphy		clocks = <&cru ACLK_DMAC0_PERILP>;
14709e824449SRobin Murphy		clock-names = "apb_pclk";
14719e824449SRobin Murphy	};
14729e824449SRobin Murphy
14739e824449SRobin Murphy	dmac_peri: dma-controller@ff6e0000 {
14749e824449SRobin Murphy		compatible = "arm,pl330", "arm,primecell";
14759e824449SRobin Murphy		reg = <0x0 0xff6e0000 0x0 0x4000>;
14769e824449SRobin Murphy		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH 0>,
14779e824449SRobin Murphy			     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>;
14789e824449SRobin Murphy		#dma-cells = <1>;
14799e824449SRobin Murphy		arm,pl330-periph-burst;
14809e824449SRobin Murphy		clocks = <&cru ACLK_DMAC1_PERILP>;
14819e824449SRobin Murphy		clock-names = "apb_pclk";
14829e824449SRobin Murphy	};
14839e824449SRobin Murphy
1484e03774ffSJohan Jonker	pmucru: clock-controller@ff750000 {
1485f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-pmucru";
1486f048b9a4SJianqun Xu		reg = <0x0 0xff750000 0x0 0x1000>;
148714fc86b9SJohan Jonker		clocks = <&xin24m>;
148814fc86b9SJohan Jonker		clock-names = "xin24m";
14898cbb59afSXing Zheng		rockchip,grf = <&pmugrf>;
1490f048b9a4SJianqun Xu		#clock-cells = <1>;
1491f048b9a4SJianqun Xu		#reset-cells = <1>;
1492f048b9a4SJianqun Xu		assigned-clocks = <&pmucru PLL_PPLL>;
1493f048b9a4SJianqun Xu		assigned-clock-rates = <676000000>;
1494f048b9a4SJianqun Xu	};
1495f048b9a4SJianqun Xu
1496f048b9a4SJianqun Xu	cru: clock-controller@ff760000 {
1497f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-cru";
1498f048b9a4SJianqun Xu		reg = <0x0 0xff760000 0x0 0x1000>;
149914fc86b9SJohan Jonker		clocks = <&xin24m>;
150014fc86b9SJohan Jonker		clock-names = "xin24m";
15018cbb59afSXing Zheng		rockchip,grf = <&grf>;
1502f048b9a4SJianqun Xu		#clock-cells = <1>;
1503f048b9a4SJianqun Xu		#reset-cells = <1>;
1504a09906cdSXing Zheng		assigned-clocks =
1505a09906cdSXing Zheng			<&cru PLL_GPLL>, <&cru PLL_CPLL>,
1506a09906cdSXing Zheng			<&cru PLL_NPLL>,
1507a09906cdSXing Zheng			<&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>,
1508a09906cdSXing Zheng			<&cru PCLK_PERIHP>,
1509a09906cdSXing Zheng			<&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
1510bb4b6201SShunqian Zheng			<&cru PCLK_PERILP0>, <&cru ACLK_CCI>,
15113f7f3b0fSShunqian Zheng			<&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>,
1512e702e13fSLin Huang			<&cru ACLK_VIO>, <&cru ACLK_HDCP>,
1513e702e13fSLin Huang			<&cru ACLK_GIC_PRE>,
15142d56af33SBrian Norris			<&cru PCLK_DDR>,
15152d56af33SBrian Norris			<&cru ACLK_VDU>;
1516a09906cdSXing Zheng		assigned-clock-rates =
1517a09906cdSXing Zheng			 <594000000>,  <800000000>,
1518a09906cdSXing Zheng			<1000000000>,
1519a09906cdSXing Zheng			 <150000000>,   <75000000>,
1520a09906cdSXing Zheng			  <37500000>,
1521a09906cdSXing Zheng			 <100000000>,  <100000000>,
1522bb4b6201SShunqian Zheng			  <50000000>, <600000000>,
15233f7f3b0fSShunqian Zheng			 <100000000>,   <50000000>,
1524e702e13fSLin Huang			 <400000000>, <400000000>,
1525e702e13fSLin Huang			 <200000000>,
15262d56af33SBrian Norris			 <200000000>,
15272d56af33SBrian Norris			 <400000000>;
1528f048b9a4SJianqun Xu	};
1529f048b9a4SJianqun Xu
1530f048b9a4SJianqun Xu	grf: syscon@ff770000 {
153116759262SBrian Norris		compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
1532f048b9a4SJianqun Xu		reg = <0x0 0xff770000 0x0 0x10000>;
153316759262SBrian Norris		#address-cells = <1>;
153416759262SBrian Norris		#size-cells = <1>;
1535b4e87c09SBrian Norris
15366d0e3a45SHeiko Stuebner		io_domains: io-domains {
15376d0e3a45SHeiko Stuebner			compatible = "rockchip,rk3399-io-voltage-domain";
15386d0e3a45SHeiko Stuebner			status = "disabled";
15396d0e3a45SHeiko Stuebner		};
15406d0e3a45SHeiko Stuebner
1541e4bfde13SShunqian Zheng		mipi_dphy_rx0: mipi-dphy-rx0 {
1542e4bfde13SShunqian Zheng			compatible = "rockchip,rk3399-mipi-dphy-rx0";
1543e4bfde13SShunqian Zheng			clocks = <&cru SCLK_MIPIDPHY_REF>,
1544e4bfde13SShunqian Zheng				 <&cru SCLK_DPHY_RX0_CFG>,
1545e4bfde13SShunqian Zheng				 <&cru PCLK_VIO_GRF>;
1546e4bfde13SShunqian Zheng			clock-names = "dphy-ref", "dphy-cfg", "grf";
1547e4bfde13SShunqian Zheng			power-domains = <&power RK3399_PD_VIO>;
1548e4bfde13SShunqian Zheng			#phy-cells = <0>;
1549e4bfde13SShunqian Zheng			status = "disabled";
1550e4bfde13SShunqian Zheng		};
1551e4bfde13SShunqian Zheng
15528c3d6425SJohan Jonker		u2phy0: usb2phy@e450 {
1553103e9f85SFrank Wang			compatible = "rockchip,rk3399-usb2phy";
1554103e9f85SFrank Wang			reg = <0xe450 0x10>;
1555103e9f85SFrank Wang			clocks = <&cru SCLK_USB2PHY0_REF>;
1556103e9f85SFrank Wang			clock-names = "phyclk";
1557103e9f85SFrank Wang			#clock-cells = <0>;
1558103e9f85SFrank Wang			clock-output-names = "clk_usbphy0_480m";
1559103e9f85SFrank Wang			status = "disabled";
1560103e9f85SFrank Wang
1561103e9f85SFrank Wang			u2phy0_host: host-port {
1562103e9f85SFrank Wang				#phy-cells = <0>;
1563210bbd38SCaesar Wang				interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>;
1564103e9f85SFrank Wang				interrupt-names = "linestate";
1565103e9f85SFrank Wang				status = "disabled";
1566103e9f85SFrank Wang			};
1567fe7f2de1SWilliam Wu
1568fe7f2de1SWilliam Wu			u2phy0_otg: otg-port {
1569fe7f2de1SWilliam Wu				#phy-cells = <0>;
1570fe7f2de1SWilliam Wu				interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>,
1571fe7f2de1SWilliam Wu					     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>,
1572fe7f2de1SWilliam Wu					     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>;
1573fe7f2de1SWilliam Wu				interrupt-names = "otg-bvalid", "otg-id",
1574fe7f2de1SWilliam Wu						  "linestate";
1575fe7f2de1SWilliam Wu				status = "disabled";
1576fe7f2de1SWilliam Wu			};
1577103e9f85SFrank Wang		};
1578103e9f85SFrank Wang
15798c3d6425SJohan Jonker		u2phy1: usb2phy@e460 {
1580103e9f85SFrank Wang			compatible = "rockchip,rk3399-usb2phy";
1581103e9f85SFrank Wang			reg = <0xe460 0x10>;
1582103e9f85SFrank Wang			clocks = <&cru SCLK_USB2PHY1_REF>;
1583103e9f85SFrank Wang			clock-names = "phyclk";
1584103e9f85SFrank Wang			#clock-cells = <0>;
1585103e9f85SFrank Wang			clock-output-names = "clk_usbphy1_480m";
1586103e9f85SFrank Wang			status = "disabled";
1587103e9f85SFrank Wang
1588103e9f85SFrank Wang			u2phy1_host: host-port {
1589103e9f85SFrank Wang				#phy-cells = <0>;
1590210bbd38SCaesar Wang				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH 0>;
1591103e9f85SFrank Wang				interrupt-names = "linestate";
1592103e9f85SFrank Wang				status = "disabled";
1593103e9f85SFrank Wang			};
1594fe7f2de1SWilliam Wu
1595fe7f2de1SWilliam Wu			u2phy1_otg: otg-port {
1596fe7f2de1SWilliam Wu				#phy-cells = <0>;
1597fe7f2de1SWilliam Wu				interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>,
1598fe7f2de1SWilliam Wu					     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>,
1599fe7f2de1SWilliam Wu					     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH 0>;
1600fe7f2de1SWilliam Wu				interrupt-names = "otg-bvalid", "otg-id",
1601fe7f2de1SWilliam Wu						  "linestate";
1602fe7f2de1SWilliam Wu				status = "disabled";
1603fe7f2de1SWilliam Wu			};
1604103e9f85SFrank Wang		};
1605103e9f85SFrank Wang
1606b4e87c09SBrian Norris		emmc_phy: phy@f780 {
1607b4e87c09SBrian Norris			compatible = "rockchip,rk3399-emmc-phy";
1608b4e87c09SBrian Norris			reg = <0xf780 0x24>;
1609ed388cddSDouglas Anderson			clocks = <&sdhci>;
1610ed388cddSDouglas Anderson			clock-names = "emmcclk";
16114246d0baSShawn Lin			drive-impedance-ohm = <50>;
1612b4e87c09SBrian Norris			#phy-cells = <0>;
1613b4e87c09SBrian Norris			status = "disabled";
1614b4e87c09SBrian Norris		};
161529a0be1cSShawn Lin
161629a0be1cSShawn Lin		pcie_phy: pcie-phy {
161729a0be1cSShawn Lin			compatible = "rockchip,rk3399-pcie-phy";
161829a0be1cSShawn Lin			clocks = <&cru SCLK_PCIEPHY_REF>;
161929a0be1cSShawn Lin			clock-names = "refclk";
1620e9a60cacSShawn Lin			#phy-cells = <1>;
162129a0be1cSShawn Lin			resets = <&cru SRST_PCIEPHY>;
162229a0be1cSShawn Lin			reset-names = "phy";
162329a0be1cSShawn Lin			status = "disabled";
162429a0be1cSShawn Lin		};
1625f048b9a4SJianqun Xu	};
1626f048b9a4SJianqun Xu
1627f606193aSChris Zhong	tcphy0: phy@ff7c0000 {
1628f606193aSChris Zhong		compatible = "rockchip,rk3399-typec-phy";
1629f606193aSChris Zhong		reg = <0x0 0xff7c0000 0x0 0x40000>;
1630f606193aSChris Zhong		clocks = <&cru SCLK_UPHY0_TCPDCORE>,
1631f606193aSChris Zhong			 <&cru SCLK_UPHY0_TCPDPHY_REF>;
1632f606193aSChris Zhong		clock-names = "tcpdcore", "tcpdphy-ref";
1633f606193aSChris Zhong		assigned-clocks = <&cru SCLK_UPHY0_TCPDCORE>;
1634f606193aSChris Zhong		assigned-clock-rates = <50000000>;
163506ad4b2fSChris Zhong		power-domains = <&power RK3399_PD_TCPD0>;
1636f606193aSChris Zhong		resets = <&cru SRST_UPHY0>,
1637f606193aSChris Zhong			 <&cru SRST_UPHY0_PIPE_L00>,
1638f606193aSChris Zhong			 <&cru SRST_P_UPHY0_TCPHY>;
1639f606193aSChris Zhong		reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
1640f606193aSChris Zhong		rockchip,grf = <&grf>;
1641f606193aSChris Zhong		status = "disabled";
1642f606193aSChris Zhong
1643f606193aSChris Zhong		tcphy0_dp: dp-port {
1644f606193aSChris Zhong			#phy-cells = <0>;
1645f606193aSChris Zhong		};
1646f606193aSChris Zhong
1647f606193aSChris Zhong		tcphy0_usb3: usb3-port {
1648f606193aSChris Zhong			#phy-cells = <0>;
1649f606193aSChris Zhong		};
1650f606193aSChris Zhong	};
1651f606193aSChris Zhong
1652f606193aSChris Zhong	tcphy1: phy@ff800000 {
1653f606193aSChris Zhong		compatible = "rockchip,rk3399-typec-phy";
1654f606193aSChris Zhong		reg = <0x0 0xff800000 0x0 0x40000>;
1655f606193aSChris Zhong		clocks = <&cru SCLK_UPHY1_TCPDCORE>,
1656f606193aSChris Zhong			 <&cru SCLK_UPHY1_TCPDPHY_REF>;
1657f606193aSChris Zhong		clock-names = "tcpdcore", "tcpdphy-ref";
1658f606193aSChris Zhong		assigned-clocks = <&cru SCLK_UPHY1_TCPDCORE>;
1659f606193aSChris Zhong		assigned-clock-rates = <50000000>;
166006ad4b2fSChris Zhong		power-domains = <&power RK3399_PD_TCPD1>;
1661f606193aSChris Zhong		resets = <&cru SRST_UPHY1>,
1662f606193aSChris Zhong			 <&cru SRST_UPHY1_PIPE_L00>,
1663f606193aSChris Zhong			 <&cru SRST_P_UPHY1_TCPHY>;
1664f606193aSChris Zhong		reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
1665f606193aSChris Zhong		rockchip,grf = <&grf>;
1666f606193aSChris Zhong		status = "disabled";
1667f606193aSChris Zhong
1668f606193aSChris Zhong		tcphy1_dp: dp-port {
1669f606193aSChris Zhong			#phy-cells = <0>;
1670f606193aSChris Zhong		};
1671f606193aSChris Zhong
1672f606193aSChris Zhong		tcphy1_usb3: usb3-port {
1673f606193aSChris Zhong			#phy-cells = <0>;
1674f606193aSChris Zhong		};
1675f606193aSChris Zhong	};
1676f606193aSChris Zhong
16770895b3a8SXing Zheng	watchdog@ff848000 {
16786b5c5086SJohan Jonker		compatible = "rockchip,rk3399-wdt", "snps,dw-wdt";
16790895b3a8SXing Zheng		reg = <0x0 0xff848000 0x0 0x100>;
1680f048b9a4SJianqun Xu		clocks = <&cru PCLK_WDT>;
1681210bbd38SCaesar Wang		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>;
1682f048b9a4SJianqun Xu	};
1683f048b9a4SJianqun Xu
16841e8567d5SHuang Tao	rktimer: rktimer@ff850000 {
16851e8567d5SHuang Tao		compatible = "rockchip,rk3399-timer";
16861e8567d5SHuang Tao		reg = <0x0 0xff850000 0x0 0x1000>;
1687210bbd38SCaesar Wang		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH 0>;
16881e8567d5SHuang Tao		clocks = <&cru PCLK_TIMER0>, <&cru SCLK_TIMER00>;
16891e8567d5SHuang Tao		clock-names = "pclk", "timer";
16901e8567d5SHuang Tao	};
16911e8567d5SHuang Tao
1692f048b9a4SJianqun Xu	spdif: spdif@ff870000 {
1693f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-spdif";
1694f048b9a4SJianqun Xu		reg = <0x0 0xff870000 0x0 0x1000>;
1695210bbd38SCaesar Wang		interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH 0>;
1696f048b9a4SJianqun Xu		dmas = <&dmac_bus 7>;
1697f048b9a4SJianqun Xu		dma-names = "tx";
1698f048b9a4SJianqun Xu		clock-names = "mclk", "hclk";
1699f048b9a4SJianqun Xu		clocks = <&cru SCLK_SPDIF_8CH>, <&cru HCLK_SPDIF>;
1700f048b9a4SJianqun Xu		pinctrl-names = "default";
1701f048b9a4SJianqun Xu		pinctrl-0 = <&spdif_bus>;
1702b0f2110aSCaesar Wang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
17034486bacaSHeiko Stuebner		#sound-dai-cells = <0>;
1704f048b9a4SJianqun Xu		status = "disabled";
1705f048b9a4SJianqun Xu	};
1706f048b9a4SJianqun Xu
1707f048b9a4SJianqun Xu	i2s0: i2s@ff880000 {
1708f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1709f048b9a4SJianqun Xu		reg = <0x0 0xff880000 0x0 0x1000>;
1710f048b9a4SJianqun Xu		rockchip,grf = <&grf>;
1711210bbd38SCaesar Wang		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH 0>;
1712f048b9a4SJianqun Xu		dmas = <&dmac_bus 0>, <&dmac_bus 1>;
1713f048b9a4SJianqun Xu		dma-names = "tx", "rx";
1714f048b9a4SJianqun Xu		clock-names = "i2s_clk", "i2s_hclk";
1715f048b9a4SJianqun Xu		clocks = <&cru SCLK_I2S0_8CH>, <&cru HCLK_I2S0_8CH>;
171691419ae0SJudy Hsiao		pinctrl-names = "bclk_on", "bclk_off";
1717f048b9a4SJianqun Xu		pinctrl-0 = <&i2s0_8ch_bus>;
171891419ae0SJudy Hsiao		pinctrl-1 = <&i2s0_8ch_bus_bclk_off>;
1719b0f2110aSCaesar Wang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
17204486bacaSHeiko Stuebner		#sound-dai-cells = <0>;
1721f048b9a4SJianqun Xu		status = "disabled";
1722f048b9a4SJianqun Xu	};
1723f048b9a4SJianqun Xu
1724f048b9a4SJianqun Xu	i2s1: i2s@ff890000 {
1725f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1726f048b9a4SJianqun Xu		reg = <0x0 0xff890000 0x0 0x1000>;
1727210bbd38SCaesar Wang		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH 0>;
1728f048b9a4SJianqun Xu		dmas = <&dmac_bus 2>, <&dmac_bus 3>;
1729f048b9a4SJianqun Xu		dma-names = "tx", "rx";
1730f048b9a4SJianqun Xu		clock-names = "i2s_clk", "i2s_hclk";
1731f048b9a4SJianqun Xu		clocks = <&cru SCLK_I2S1_8CH>, <&cru HCLK_I2S1_8CH>;
1732f048b9a4SJianqun Xu		pinctrl-names = "default";
1733f048b9a4SJianqun Xu		pinctrl-0 = <&i2s1_2ch_bus>;
1734b0f2110aSCaesar Wang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
17354486bacaSHeiko Stuebner		#sound-dai-cells = <0>;
1736f048b9a4SJianqun Xu		status = "disabled";
1737f048b9a4SJianqun Xu	};
1738f048b9a4SJianqun Xu
1739f048b9a4SJianqun Xu	i2s2: i2s@ff8a0000 {
1740f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1741f048b9a4SJianqun Xu		reg = <0x0 0xff8a0000 0x0 0x1000>;
1742210bbd38SCaesar Wang		interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH 0>;
1743f048b9a4SJianqun Xu		dmas = <&dmac_bus 4>, <&dmac_bus 5>;
1744f048b9a4SJianqun Xu		dma-names = "tx", "rx";
1745f048b9a4SJianqun Xu		clock-names = "i2s_clk", "i2s_hclk";
1746f048b9a4SJianqun Xu		clocks = <&cru SCLK_I2S2_8CH>, <&cru HCLK_I2S2_8CH>;
1747b0f2110aSCaesar Wang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
17480d60d48cSVicente Bergas		#sound-dai-cells = <0>;
1749f048b9a4SJianqun Xu		status = "disabled";
1750f048b9a4SJianqun Xu	};
1751f048b9a4SJianqun Xu
1752fbd4cc0eSMark Yao	vopl: vop@ff8f0000 {
1753fbd4cc0eSMark Yao		compatible = "rockchip,rk3399-vop-lit";
17543a524712SHugh Cole-Baker		reg = <0x0 0xff8f0000 0x0 0x2000>, <0x0 0xff8f2000 0x0 0x400>;
1755fbd4cc0eSMark Yao		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
1756617f4472SKever Yang		assigned-clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>;
1757617f4472SKever Yang		assigned-clock-rates = <400000000>, <100000000>;
1758fbd4cc0eSMark Yao		clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>;
1759fbd4cc0eSMark Yao		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1760fbd4cc0eSMark Yao		iommus = <&vopl_mmu>;
1761fbd4cc0eSMark Yao		power-domains = <&power RK3399_PD_VOPL>;
1762fbd4cc0eSMark Yao		resets = <&cru SRST_A_VOP1>, <&cru SRST_H_VOP1>, <&cru SRST_D_VOP1>;
1763fbd4cc0eSMark Yao		reset-names = "axi", "ahb", "dclk";
1764fbd4cc0eSMark Yao		status = "disabled";
1765fbd4cc0eSMark Yao
1766fbd4cc0eSMark Yao		vopl_out: port {
1767fbd4cc0eSMark Yao			#address-cells = <1>;
1768fbd4cc0eSMark Yao			#size-cells = <0>;
1769f7a29e30SYakir Yang
1770d3f51f49SJacob Chen			vopl_out_mipi: endpoint@0 {
1771d3f51f49SJacob Chen				reg = <0>;
1772d3f51f49SJacob Chen				remote-endpoint = <&mipi_in_vopl>;
1773d3f51f49SJacob Chen			};
1774d3f51f49SJacob Chen
1775f7a29e30SYakir Yang			vopl_out_edp: endpoint@1 {
1776f7a29e30SYakir Yang				reg = <1>;
1777f7a29e30SYakir Yang				remote-endpoint = <&edp_in_vopl>;
1778f7a29e30SYakir Yang			};
1779f7a29e30SYakir Yang
178081e923ddSJacob Chen			vopl_out_hdmi: endpoint@2 {
178181e923ddSJacob Chen				reg = <2>;
178281e923ddSJacob Chen				remote-endpoint = <&hdmi_in_vopl>;
178381e923ddSJacob Chen			};
17841df5d2abSNickey Yang
17851df5d2abSNickey Yang			vopl_out_mipi1: endpoint@3 {
17861df5d2abSNickey Yang				reg = <3>;
17871df5d2abSNickey Yang				remote-endpoint = <&mipi1_in_vopl>;
17881df5d2abSNickey Yang			};
17892d3c2d56SChris Zhong
17902d3c2d56SChris Zhong			vopl_out_dp: endpoint@4 {
17912d3c2d56SChris Zhong				reg = <4>;
17922d3c2d56SChris Zhong				remote-endpoint = <&dp_in_vopl>;
17932d3c2d56SChris Zhong			};
1794fbd4cc0eSMark Yao		};
1795fbd4cc0eSMark Yao	};
1796fbd4cc0eSMark Yao
1797fbd4cc0eSMark Yao	vopl_mmu: iommu@ff8f3f00 {
1798fbd4cc0eSMark Yao		compatible = "rockchip,iommu";
1799fbd4cc0eSMark Yao		reg = <0x0 0xff8f3f00 0x0 0x100>;
1800fbd4cc0eSMark Yao		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
1801fbd4cc0eSMark Yao		clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>;
1802df3bcde7SJeffy Chen		clock-names = "aclk", "iface";
1803fbd4cc0eSMark Yao		power-domains = <&power RK3399_PD_VOPL>;
1804fbd4cc0eSMark Yao		#iommu-cells = <0>;
1805fbd4cc0eSMark Yao		status = "disabled";
1806fbd4cc0eSMark Yao	};
1807fbd4cc0eSMark Yao
1808fbd4cc0eSMark Yao	vopb: vop@ff900000 {
1809fbd4cc0eSMark Yao		compatible = "rockchip,rk3399-vop-big";
18103a524712SHugh Cole-Baker		reg = <0x0 0xff900000 0x0 0x2000>, <0x0 0xff902000 0x0 0x1000>;
1811fbd4cc0eSMark Yao		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>;
1812617f4472SKever Yang		assigned-clocks = <&cru ACLK_VOP0>, <&cru HCLK_VOP0>;
1813617f4472SKever Yang		assigned-clock-rates = <400000000>, <100000000>;
1814fbd4cc0eSMark Yao		clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
1815fbd4cc0eSMark Yao		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1816fbd4cc0eSMark Yao		iommus = <&vopb_mmu>;
1817fbd4cc0eSMark Yao		power-domains = <&power RK3399_PD_VOPB>;
1818fbd4cc0eSMark Yao		resets = <&cru SRST_A_VOP0>, <&cru SRST_H_VOP0>, <&cru SRST_D_VOP0>;
1819fbd4cc0eSMark Yao		reset-names = "axi", "ahb", "dclk";
1820fbd4cc0eSMark Yao		status = "disabled";
1821fbd4cc0eSMark Yao
1822fbd4cc0eSMark Yao		vopb_out: port {
1823fbd4cc0eSMark Yao			#address-cells = <1>;
1824fbd4cc0eSMark Yao			#size-cells = <0>;
1825f7a29e30SYakir Yang
1826f7a29e30SYakir Yang			vopb_out_edp: endpoint@0 {
1827f7a29e30SYakir Yang				reg = <0>;
1828f7a29e30SYakir Yang				remote-endpoint = <&edp_in_vopb>;
1829f7a29e30SYakir Yang			};
1830f7a29e30SYakir Yang
1831d3f51f49SJacob Chen			vopb_out_mipi: endpoint@1 {
1832d3f51f49SJacob Chen				reg = <1>;
1833d3f51f49SJacob Chen				remote-endpoint = <&mipi_in_vopb>;
1834d3f51f49SJacob Chen			};
1835d3f51f49SJacob Chen
183681e923ddSJacob Chen			vopb_out_hdmi: endpoint@2 {
183781e923ddSJacob Chen				reg = <2>;
183881e923ddSJacob Chen				remote-endpoint = <&hdmi_in_vopb>;
183981e923ddSJacob Chen			};
18401df5d2abSNickey Yang
18411df5d2abSNickey Yang			vopb_out_mipi1: endpoint@3 {
18421df5d2abSNickey Yang				reg = <3>;
18431df5d2abSNickey Yang				remote-endpoint = <&mipi1_in_vopb>;
18441df5d2abSNickey Yang			};
18452d3c2d56SChris Zhong
18462d3c2d56SChris Zhong			vopb_out_dp: endpoint@4 {
18472d3c2d56SChris Zhong				reg = <4>;
18482d3c2d56SChris Zhong				remote-endpoint = <&dp_in_vopb>;
18492d3c2d56SChris Zhong			};
1850fbd4cc0eSMark Yao		};
1851fbd4cc0eSMark Yao	};
1852fbd4cc0eSMark Yao
1853fbd4cc0eSMark Yao	vopb_mmu: iommu@ff903f00 {
1854fbd4cc0eSMark Yao		compatible = "rockchip,iommu";
1855fbd4cc0eSMark Yao		reg = <0x0 0xff903f00 0x0 0x100>;
1856fbd4cc0eSMark Yao		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>;
1857fbd4cc0eSMark Yao		clocks = <&cru ACLK_VOP0>, <&cru HCLK_VOP0>;
1858df3bcde7SJeffy Chen		clock-names = "aclk", "iface";
1859fbd4cc0eSMark Yao		power-domains = <&power RK3399_PD_VOPB>;
1860fbd4cc0eSMark Yao		#iommu-cells = <0>;
1861fbd4cc0eSMark Yao		status = "disabled";
1862fbd4cc0eSMark Yao	};
1863fbd4cc0eSMark Yao
186497a0115cSShunqian Zheng	isp0: isp0@ff910000 {
186597a0115cSShunqian Zheng		compatible = "rockchip,rk3399-cif-isp";
186697a0115cSShunqian Zheng		reg = <0x0 0xff910000 0x0 0x4000>;
186797a0115cSShunqian Zheng		interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH 0>;
186897a0115cSShunqian Zheng		clocks = <&cru SCLK_ISP0>,
186997a0115cSShunqian Zheng			 <&cru ACLK_ISP0_WRAPPER>,
187097a0115cSShunqian Zheng			 <&cru HCLK_ISP0_WRAPPER>;
187197a0115cSShunqian Zheng		clock-names = "isp", "aclk", "hclk";
187297a0115cSShunqian Zheng		iommus = <&isp0_mmu>;
187397a0115cSShunqian Zheng		phys = <&mipi_dphy_rx0>;
187497a0115cSShunqian Zheng		phy-names = "dphy";
187597a0115cSShunqian Zheng		power-domains = <&power RK3399_PD_ISP0>;
187697a0115cSShunqian Zheng		status = "disabled";
187797a0115cSShunqian Zheng
187897a0115cSShunqian Zheng		ports {
187997a0115cSShunqian Zheng			#address-cells = <1>;
188097a0115cSShunqian Zheng			#size-cells = <0>;
188197a0115cSShunqian Zheng
188297a0115cSShunqian Zheng			port@0 {
188397a0115cSShunqian Zheng				reg = <0>;
188497a0115cSShunqian Zheng				#address-cells = <1>;
188597a0115cSShunqian Zheng				#size-cells = <0>;
188697a0115cSShunqian Zheng			};
188797a0115cSShunqian Zheng		};
188897a0115cSShunqian Zheng	};
188997a0115cSShunqian Zheng
1890ae4fdccaSSimon Xue	isp0_mmu: iommu@ff914000 {
1891ae4fdccaSSimon Xue		compatible = "rockchip,iommu";
1892ae4fdccaSSimon Xue		reg = <0x0 0xff914000 0x0 0x100>, <0x0 0xff915000 0x0 0x100>;
1893ae4fdccaSSimon Xue		interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH 0>;
1894c432a29dSHelen Koike		clocks = <&cru ACLK_ISP0_WRAPPER>, <&cru HCLK_ISP0_WRAPPER>;
1895df3bcde7SJeffy Chen		clock-names = "aclk", "iface";
1896ae4fdccaSSimon Xue		#iommu-cells = <0>;
1897c432a29dSHelen Koike		power-domains = <&power RK3399_PD_ISP0>;
1898ae4fdccaSSimon Xue		rockchip,disable-mmu-reset;
1899ae4fdccaSSimon Xue	};
1900ae4fdccaSSimon Xue
1901c349ae38SHeiko Stuebner	isp1: isp1@ff920000 {
1902c349ae38SHeiko Stuebner		compatible = "rockchip,rk3399-cif-isp";
1903c349ae38SHeiko Stuebner		reg = <0x0 0xff920000 0x0 0x4000>;
1904c349ae38SHeiko Stuebner		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH 0>;
1905c349ae38SHeiko Stuebner		clocks = <&cru SCLK_ISP1>,
1906c349ae38SHeiko Stuebner			 <&cru ACLK_ISP1_WRAPPER>,
1907c349ae38SHeiko Stuebner			 <&cru HCLK_ISP1_WRAPPER>;
1908c349ae38SHeiko Stuebner		clock-names = "isp", "aclk", "hclk";
1909c349ae38SHeiko Stuebner		iommus = <&isp1_mmu>;
1910c349ae38SHeiko Stuebner		phys = <&mipi_dsi1>;
1911c349ae38SHeiko Stuebner		phy-names = "dphy";
1912c349ae38SHeiko Stuebner		power-domains = <&power RK3399_PD_ISP1>;
1913c349ae38SHeiko Stuebner		status = "disabled";
1914c349ae38SHeiko Stuebner
1915c349ae38SHeiko Stuebner		ports {
1916c349ae38SHeiko Stuebner			#address-cells = <1>;
1917c349ae38SHeiko Stuebner			#size-cells = <0>;
1918c349ae38SHeiko Stuebner
1919c349ae38SHeiko Stuebner			port@0 {
1920c349ae38SHeiko Stuebner				reg = <0>;
1921c349ae38SHeiko Stuebner				#address-cells = <1>;
1922c349ae38SHeiko Stuebner				#size-cells = <0>;
1923c349ae38SHeiko Stuebner			};
1924c349ae38SHeiko Stuebner		};
1925c349ae38SHeiko Stuebner	};
1926c349ae38SHeiko Stuebner
1927ae4fdccaSSimon Xue	isp1_mmu: iommu@ff924000 {
1928ae4fdccaSSimon Xue		compatible = "rockchip,iommu";
1929ae4fdccaSSimon Xue		reg = <0x0 0xff924000 0x0 0x100>, <0x0 0xff925000 0x0 0x100>;
1930ae4fdccaSSimon Xue		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH 0>;
1931c432a29dSHelen Koike		clocks = <&cru ACLK_ISP1_WRAPPER>, <&cru HCLK_ISP1_WRAPPER>;
1932df3bcde7SJeffy Chen		clock-names = "aclk", "iface";
1933ae4fdccaSSimon Xue		#iommu-cells = <0>;
1934c432a29dSHelen Koike		power-domains = <&power RK3399_PD_ISP1>;
1935ae4fdccaSSimon Xue		rockchip,disable-mmu-reset;
1936ae4fdccaSSimon Xue	};
1937ae4fdccaSSimon Xue
19380d60d48cSVicente Bergas	hdmi_sound: hdmi-sound {
19390d60d48cSVicente Bergas		compatible = "simple-audio-card";
19400d60d48cSVicente Bergas		simple-audio-card,format = "i2s";
19410d60d48cSVicente Bergas		simple-audio-card,mclk-fs = <256>;
19420d60d48cSVicente Bergas		simple-audio-card,name = "hdmi-sound";
19430d60d48cSVicente Bergas		status = "disabled";
19440d60d48cSVicente Bergas
19450d60d48cSVicente Bergas		simple-audio-card,cpu {
19460d60d48cSVicente Bergas			sound-dai = <&i2s2>;
19470d60d48cSVicente Bergas		};
19480d60d48cSVicente Bergas		simple-audio-card,codec {
19490d60d48cSVicente Bergas			sound-dai = <&hdmi>;
19500d60d48cSVicente Bergas		};
19510d60d48cSVicente Bergas	};
19520d60d48cSVicente Bergas
195381e923ddSJacob Chen	hdmi: hdmi@ff940000 {
195481e923ddSJacob Chen		compatible = "rockchip,rk3399-dw-hdmi";
195581e923ddSJacob Chen		reg = <0x0 0xff940000 0x0 0x20000>;
1956*fc1d1ca4SJohan Jonker		reg-io-width = <4>;
195781e923ddSJacob Chen		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH 0>;
1958db2fd26dSPierre-Hugues Husson		clocks = <&cru PCLK_HDMI_CTRL>,
1959db2fd26dSPierre-Hugues Husson			 <&cru SCLK_HDMI_SFR>,
19602e8a8b59SSascha Hauer			 <&cru SCLK_HDMI_CEC>,
1961db2fd26dSPierre-Hugues Husson			 <&cru PCLK_VIO_GRF>,
19622e8a8b59SSascha Hauer			 <&cru PLL_VPLL>;
1963bd820bc5SSascha Hauer		clock-names = "iahb", "isfr", "cec", "grf", "ref";
196481e923ddSJacob Chen		power-domains = <&power RK3399_PD_HDCP>;
196581e923ddSJacob Chen		rockchip,grf = <&grf>;
19660d60d48cSVicente Bergas		#sound-dai-cells = <0>;
196781e923ddSJacob Chen		status = "disabled";
196881e923ddSJacob Chen
196981e923ddSJacob Chen		ports {
1970*fc1d1ca4SJohan Jonker			#address-cells = <1>;
1971*fc1d1ca4SJohan Jonker			#size-cells = <0>;
1972*fc1d1ca4SJohan Jonker
1973*fc1d1ca4SJohan Jonker			hdmi_in: port@0 {
1974*fc1d1ca4SJohan Jonker				reg = <0>;
197581e923ddSJacob Chen				#address-cells = <1>;
197681e923ddSJacob Chen				#size-cells = <0>;
197781e923ddSJacob Chen
197881e923ddSJacob Chen				hdmi_in_vopb: endpoint@0 {
197981e923ddSJacob Chen					reg = <0>;
198081e923ddSJacob Chen					remote-endpoint = <&vopb_out_hdmi>;
198181e923ddSJacob Chen				};
198281e923ddSJacob Chen				hdmi_in_vopl: endpoint@1 {
198381e923ddSJacob Chen					reg = <1>;
198481e923ddSJacob Chen					remote-endpoint = <&vopl_out_hdmi>;
198581e923ddSJacob Chen				};
198681e923ddSJacob Chen			};
1987*fc1d1ca4SJohan Jonker
1988*fc1d1ca4SJohan Jonker			hdmi_out: port@1 {
1989*fc1d1ca4SJohan Jonker				reg = <1>;
1990*fc1d1ca4SJohan Jonker			};
199181e923ddSJacob Chen		};
199281e923ddSJacob Chen	};
199381e923ddSJacob Chen
1994f82fe7adSJohan Jonker	mipi_dsi: dsi@ff960000 {
1995d3f51f49SJacob Chen		compatible = "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi";
1996d3f51f49SJacob Chen		reg = <0x0 0xff960000 0x0 0x8000>;
1997d3f51f49SJacob Chen		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH 0>;
1998bb4e6ff0SNickey Yang		clocks = <&cru SCLK_DPHY_PLL>, <&cru PCLK_MIPI_DSI0>,
19990bc15d85SNickey Yang			 <&cru SCLK_DPHY_TX0_CFG>, <&cru PCLK_VIO_GRF>;
20000bc15d85SNickey Yang		clock-names = "ref", "pclk", "phy_cfg", "grf";
2001d3f51f49SJacob Chen		power-domains = <&power RK3399_PD_VIO>;
20023813a10aSBrian Norris		resets = <&cru SRST_P_MIPI_DSI0>;
20033813a10aSBrian Norris		reset-names = "apb";
2004d3f51f49SJacob Chen		rockchip,grf = <&grf>;
200591e75bdeSHeiko Stuebner		#address-cells = <1>;
200691e75bdeSHeiko Stuebner		#size-cells = <0>;
2007d3f51f49SJacob Chen		status = "disabled";
2008d3f51f49SJacob Chen
2009d3f51f49SJacob Chen		ports {
2010c856cb5dSNickey Yang			#address-cells = <1>;
2011c856cb5dSNickey Yang			#size-cells = <0>;
2012c856cb5dSNickey Yang
2013c856cb5dSNickey Yang			mipi_in: port@0 {
2014c856cb5dSNickey Yang				reg = <0>;
2015d3f51f49SJacob Chen				#address-cells = <1>;
2016d3f51f49SJacob Chen				#size-cells = <0>;
2017d3f51f49SJacob Chen
2018d3f51f49SJacob Chen				mipi_in_vopb: endpoint@0 {
2019d3f51f49SJacob Chen					reg = <0>;
2020d3f51f49SJacob Chen					remote-endpoint = <&vopb_out_mipi>;
2021d3f51f49SJacob Chen				};
2022f82fe7adSJohan Jonker
2023d3f51f49SJacob Chen				mipi_in_vopl: endpoint@1 {
2024d3f51f49SJacob Chen					reg = <1>;
2025d3f51f49SJacob Chen					remote-endpoint = <&vopl_out_mipi>;
2026d3f51f49SJacob Chen				};
2027d3f51f49SJacob Chen			};
2028f82fe7adSJohan Jonker
2029f82fe7adSJohan Jonker			mipi_out: port@1 {
2030f82fe7adSJohan Jonker				reg = <1>;
2031f82fe7adSJohan Jonker			};
2032d3f51f49SJacob Chen		};
2033d3f51f49SJacob Chen	};
2034d3f51f49SJacob Chen
2035f82fe7adSJohan Jonker	mipi_dsi1: dsi@ff968000 {
20361df5d2abSNickey Yang		compatible = "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi";
20371df5d2abSNickey Yang		reg = <0x0 0xff968000 0x0 0x8000>;
20381df5d2abSNickey Yang		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH 0>;
20391df5d2abSNickey Yang		clocks = <&cru SCLK_DPHY_PLL>, <&cru PCLK_MIPI_DSI1>,
20401df5d2abSNickey Yang			 <&cru SCLK_DPHY_TX1RX1_CFG>, <&cru PCLK_VIO_GRF>;
20411df5d2abSNickey Yang		clock-names = "ref", "pclk", "phy_cfg", "grf";
20421df5d2abSNickey Yang		power-domains = <&power RK3399_PD_VIO>;
20431df5d2abSNickey Yang		resets = <&cru SRST_P_MIPI_DSI1>;
20441df5d2abSNickey Yang		reset-names = "apb";
20451df5d2abSNickey Yang		rockchip,grf = <&grf>;
204691e75bdeSHeiko Stuebner		#address-cells = <1>;
204791e75bdeSHeiko Stuebner		#size-cells = <0>;
20488d47d12eSHeiko Stuebner		#phy-cells = <0>;
20491df5d2abSNickey Yang		status = "disabled";
20501df5d2abSNickey Yang
20511df5d2abSNickey Yang		ports {
20521df5d2abSNickey Yang			#address-cells = <1>;
20531df5d2abSNickey Yang			#size-cells = <0>;
20541df5d2abSNickey Yang
20551df5d2abSNickey Yang			mipi1_in: port@0 {
20561df5d2abSNickey Yang				reg = <0>;
20571df5d2abSNickey Yang				#address-cells = <1>;
20581df5d2abSNickey Yang				#size-cells = <0>;
20591df5d2abSNickey Yang
20601df5d2abSNickey Yang				mipi1_in_vopb: endpoint@0 {
20611df5d2abSNickey Yang					reg = <0>;
20621df5d2abSNickey Yang					remote-endpoint = <&vopb_out_mipi1>;
20631df5d2abSNickey Yang				};
20641df5d2abSNickey Yang
20651df5d2abSNickey Yang				mipi1_in_vopl: endpoint@1 {
20661df5d2abSNickey Yang					reg = <1>;
20671df5d2abSNickey Yang					remote-endpoint = <&vopl_out_mipi1>;
20681df5d2abSNickey Yang				};
20691df5d2abSNickey Yang			};
2070f82fe7adSJohan Jonker
2071f82fe7adSJohan Jonker			mipi1_out: port@1 {
2072f82fe7adSJohan Jonker				reg = <1>;
2073f82fe7adSJohan Jonker			};
20741df5d2abSNickey Yang		};
20751df5d2abSNickey Yang	};
20761df5d2abSNickey Yang
2077d94024bdSJohan Jonker	edp: dp@ff970000 {
2078f7a29e30SYakir Yang		compatible = "rockchip,rk3399-edp";
2079f7a29e30SYakir Yang		reg = <0x0 0xff970000 0x0 0x8000>;
2080f7a29e30SYakir Yang		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH 0>;
20817b0390eaSYakir Yang		clocks = <&cru PCLK_EDP>, <&cru PCLK_EDP_CTRL>, <&cru PCLK_VIO_GRF>;
20827b0390eaSYakir Yang		clock-names = "dp", "pclk", "grf";
2083f7a29e30SYakir Yang		pinctrl-names = "default";
2084f7a29e30SYakir Yang		pinctrl-0 = <&edp_hpd>;
2085f7a29e30SYakir Yang		power-domains = <&power RK3399_PD_EDP>;
2086f7a29e30SYakir Yang		resets = <&cru SRST_P_EDP_CTRL>;
2087f7a29e30SYakir Yang		reset-names = "dp";
2088f7a29e30SYakir Yang		rockchip,grf = <&grf>;
2089f7a29e30SYakir Yang		status = "disabled";
2090f7a29e30SYakir Yang
2091f7a29e30SYakir Yang		ports {
2092f7a29e30SYakir Yang			#address-cells = <1>;
2093f7a29e30SYakir Yang			#size-cells = <0>;
2094d94024bdSJohan Jonker
2095f7a29e30SYakir Yang			edp_in: port@0 {
2096f7a29e30SYakir Yang				reg = <0>;
2097f7a29e30SYakir Yang				#address-cells = <1>;
2098f7a29e30SYakir Yang				#size-cells = <0>;
2099f7a29e30SYakir Yang
2100f7a29e30SYakir Yang				edp_in_vopb: endpoint@0 {
2101f7a29e30SYakir Yang					reg = <0>;
2102f7a29e30SYakir Yang					remote-endpoint = <&vopb_out_edp>;
2103f7a29e30SYakir Yang				};
2104f7a29e30SYakir Yang
2105f7a29e30SYakir Yang				edp_in_vopl: endpoint@1 {
2106f7a29e30SYakir Yang					reg = <1>;
2107f7a29e30SYakir Yang					remote-endpoint = <&vopl_out_edp>;
2108f7a29e30SYakir Yang				};
2109f7a29e30SYakir Yang			};
2110d94024bdSJohan Jonker
2111d94024bdSJohan Jonker			edp_out: port@1 {
2112d94024bdSJohan Jonker				reg = <1>;
2113d94024bdSJohan Jonker			};
2114f7a29e30SYakir Yang		};
2115f7a29e30SYakir Yang	};
2116f7a29e30SYakir Yang
211768d19331SCaesar Wang	gpu: gpu@ff9a0000 {
211868d19331SCaesar Wang		compatible = "rockchip,rk3399-mali", "arm,mali-t860";
211968d19331SCaesar Wang		reg = <0x0 0xff9a0000 0x0 0x10000>;
2120c604fd81SJohan Jonker		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH 0>,
2121c604fd81SJohan Jonker			     <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH 0>,
2122c604fd81SJohan Jonker			     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH 0>;
2123c604fd81SJohan Jonker		interrupt-names = "job", "mmu", "gpu";
212468d19331SCaesar Wang		clocks = <&cru ACLK_GPU>;
212536be9111SRobin Murphy		#cooling-cells = <2>;
212668d19331SCaesar Wang		power-domains = <&power RK3399_PD_GPU>;
2127f048b9a4SJianqun Xu		status = "disabled";
2128f048b9a4SJianqun Xu	};
2129f048b9a4SJianqun Xu
2130f048b9a4SJianqun Xu	pinctrl: pinctrl {
2131f048b9a4SJianqun Xu		compatible = "rockchip,rk3399-pinctrl";
2132f048b9a4SJianqun Xu		rockchip,grf = <&grf>;
2133f048b9a4SJianqun Xu		rockchip,pmu = <&pmugrf>;
2134f048b9a4SJianqun Xu		#address-cells = <2>;
2135f048b9a4SJianqun Xu		#size-cells = <2>;
2136f048b9a4SJianqun Xu		ranges;
2137f048b9a4SJianqun Xu
2138ec3028e7SJohan Jonker		gpio0: gpio@ff720000 {
2139f048b9a4SJianqun Xu			compatible = "rockchip,gpio-bank";
2140f048b9a4SJianqun Xu			reg = <0x0 0xff720000 0x0 0x100>;
2141f048b9a4SJianqun Xu			clocks = <&pmucru PCLK_GPIO0_PMU>;
2142210bbd38SCaesar Wang			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH 0>;
2143f048b9a4SJianqun Xu
2144f048b9a4SJianqun Xu			gpio-controller;
2145f048b9a4SJianqun Xu			#gpio-cells = <0x2>;
2146f048b9a4SJianqun Xu
2147f048b9a4SJianqun Xu			interrupt-controller;
2148f048b9a4SJianqun Xu			#interrupt-cells = <0x2>;
2149f048b9a4SJianqun Xu		};
2150f048b9a4SJianqun Xu
2151ec3028e7SJohan Jonker		gpio1: gpio@ff730000 {
2152f048b9a4SJianqun Xu			compatible = "rockchip,gpio-bank";
2153f048b9a4SJianqun Xu			reg = <0x0 0xff730000 0x0 0x100>;
2154f048b9a4SJianqun Xu			clocks = <&pmucru PCLK_GPIO1_PMU>;
2155210bbd38SCaesar Wang			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH 0>;
2156f048b9a4SJianqun Xu
2157f048b9a4SJianqun Xu			gpio-controller;
2158f048b9a4SJianqun Xu			#gpio-cells = <0x2>;
2159f048b9a4SJianqun Xu
2160f048b9a4SJianqun Xu			interrupt-controller;
2161f048b9a4SJianqun Xu			#interrupt-cells = <0x2>;
2162f048b9a4SJianqun Xu		};
2163f048b9a4SJianqun Xu
2164ec3028e7SJohan Jonker		gpio2: gpio@ff780000 {
2165f048b9a4SJianqun Xu			compatible = "rockchip,gpio-bank";
2166f048b9a4SJianqun Xu			reg = <0x0 0xff780000 0x0 0x100>;
2167f048b9a4SJianqun Xu			clocks = <&cru PCLK_GPIO2>;
2168210bbd38SCaesar Wang			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH 0>;
2169f048b9a4SJianqun Xu
2170f048b9a4SJianqun Xu			gpio-controller;
2171f048b9a4SJianqun Xu			#gpio-cells = <0x2>;
2172f048b9a4SJianqun Xu
2173f048b9a4SJianqun Xu			interrupt-controller;
2174f048b9a4SJianqun Xu			#interrupt-cells = <0x2>;
2175f048b9a4SJianqun Xu		};
2176f048b9a4SJianqun Xu
2177ec3028e7SJohan Jonker		gpio3: gpio@ff788000 {
2178f048b9a4SJianqun Xu			compatible = "rockchip,gpio-bank";
2179f048b9a4SJianqun Xu			reg = <0x0 0xff788000 0x0 0x100>;
2180f048b9a4SJianqun Xu			clocks = <&cru PCLK_GPIO3>;
2181210bbd38SCaesar Wang			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH 0>;
2182f048b9a4SJianqun Xu
2183f048b9a4SJianqun Xu			gpio-controller;
2184f048b9a4SJianqun Xu			#gpio-cells = <0x2>;
2185f048b9a4SJianqun Xu
2186f048b9a4SJianqun Xu			interrupt-controller;
2187f048b9a4SJianqun Xu			#interrupt-cells = <0x2>;
2188f048b9a4SJianqun Xu		};
2189f048b9a4SJianqun Xu
2190ec3028e7SJohan Jonker		gpio4: gpio@ff790000 {
2191f048b9a4SJianqun Xu			compatible = "rockchip,gpio-bank";
2192f048b9a4SJianqun Xu			reg = <0x0 0xff790000 0x0 0x100>;
2193f048b9a4SJianqun Xu			clocks = <&cru PCLK_GPIO4>;
2194210bbd38SCaesar Wang			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>;
2195f048b9a4SJianqun Xu
2196f048b9a4SJianqun Xu			gpio-controller;
2197f048b9a4SJianqun Xu			#gpio-cells = <0x2>;
2198f048b9a4SJianqun Xu
2199f048b9a4SJianqun Xu			interrupt-controller;
2200f048b9a4SJianqun Xu			#interrupt-cells = <0x2>;
2201f048b9a4SJianqun Xu		};
2202f048b9a4SJianqun Xu
2203f048b9a4SJianqun Xu		pcfg_pull_up: pcfg-pull-up {
2204f048b9a4SJianqun Xu			bias-pull-up;
2205f048b9a4SJianqun Xu		};
2206f048b9a4SJianqun Xu
2207f048b9a4SJianqun Xu		pcfg_pull_down: pcfg-pull-down {
2208f048b9a4SJianqun Xu			bias-pull-down;
2209f048b9a4SJianqun Xu		};
2210f048b9a4SJianqun Xu
2211f048b9a4SJianqun Xu		pcfg_pull_none: pcfg-pull-none {
2212f048b9a4SJianqun Xu			bias-disable;
2213f048b9a4SJianqun Xu		};
2214f048b9a4SJianqun Xu
2215f048b9a4SJianqun Xu		pcfg_pull_none_12ma: pcfg-pull-none-12ma {
2216f048b9a4SJianqun Xu			bias-disable;
2217f048b9a4SJianqun Xu			drive-strength = <12>;
2218f048b9a4SJianqun Xu		};
2219f048b9a4SJianqun Xu
2220b4102328SRandy Li		pcfg_pull_none_13ma: pcfg-pull-none-13ma {
2221b4102328SRandy Li			bias-disable;
2222b4102328SRandy Li			drive-strength = <13>;
2223f048b9a4SJianqun Xu		};
2224f048b9a4SJianqun Xu
2225b4102328SRandy Li		pcfg_pull_none_18ma: pcfg-pull-none-18ma {
2226b4102328SRandy Li			bias-disable;
2227b4102328SRandy Li			drive-strength = <18>;
2228b4102328SRandy Li		};
2229b4102328SRandy Li
2230b4102328SRandy Li		pcfg_pull_none_20ma: pcfg-pull-none-20ma {
2231b4102328SRandy Li			bias-disable;
2232b4102328SRandy Li			drive-strength = <20>;
2233f048b9a4SJianqun Xu		};
2234f048b9a4SJianqun Xu
2235f048b9a4SJianqun Xu		pcfg_pull_up_2ma: pcfg-pull-up-2ma {
2236f048b9a4SJianqun Xu			bias-pull-up;
2237f048b9a4SJianqun Xu			drive-strength = <2>;
2238f048b9a4SJianqun Xu		};
2239f048b9a4SJianqun Xu
2240b4102328SRandy Li		pcfg_pull_up_8ma: pcfg-pull-up-8ma {
2241b4102328SRandy Li			bias-pull-up;
2242b4102328SRandy Li			drive-strength = <8>;
2243b4102328SRandy Li		};
2244b4102328SRandy Li
2245b4102328SRandy Li		pcfg_pull_up_18ma: pcfg-pull-up-18ma {
2246b4102328SRandy Li			bias-pull-up;
2247b4102328SRandy Li			drive-strength = <18>;
2248b4102328SRandy Li		};
2249b4102328SRandy Li
2250b4102328SRandy Li		pcfg_pull_up_20ma: pcfg-pull-up-20ma {
2251b4102328SRandy Li			bias-pull-up;
2252b4102328SRandy Li			drive-strength = <20>;
2253b4102328SRandy Li		};
2254b4102328SRandy Li
2255b4102328SRandy Li		pcfg_pull_down_4ma: pcfg-pull-down-4ma {
2256b4102328SRandy Li			bias-pull-down;
2257b4102328SRandy Li			drive-strength = <4>;
2258b4102328SRandy Li		};
2259b4102328SRandy Li
2260b4102328SRandy Li		pcfg_pull_down_8ma: pcfg-pull-down-8ma {
2261b4102328SRandy Li			bias-pull-down;
2262b4102328SRandy Li			drive-strength = <8>;
2263b4102328SRandy Li		};
2264b4102328SRandy Li
2265f048b9a4SJianqun Xu		pcfg_pull_down_12ma: pcfg-pull-down-12ma {
2266f048b9a4SJianqun Xu			bias-pull-down;
2267f048b9a4SJianqun Xu			drive-strength = <12>;
2268f048b9a4SJianqun Xu		};
2269f048b9a4SJianqun Xu
2270b4102328SRandy Li		pcfg_pull_down_18ma: pcfg-pull-down-18ma {
2271b4102328SRandy Li			bias-pull-down;
2272b4102328SRandy Li			drive-strength = <18>;
2273b4102328SRandy Li		};
2274b4102328SRandy Li
2275b4102328SRandy Li		pcfg_pull_down_20ma: pcfg-pull-down-20ma {
2276b4102328SRandy Li			bias-pull-down;
2277b4102328SRandy Li			drive-strength = <20>;
2278b4102328SRandy Li		};
2279b4102328SRandy Li
2280b4102328SRandy Li		pcfg_output_high: pcfg-output-high {
2281b4102328SRandy Li			output-high;
2282b4102328SRandy Li		};
2283b4102328SRandy Li
2284b4102328SRandy Li		pcfg_output_low: pcfg-output-low {
2285b4102328SRandy Li			output-low;
2286f048b9a4SJianqun Xu		};
2287f048b9a4SJianqun Xu
2288ec48c3e8SCaleb Connolly		pcfg_input_enable: pcfg-input-enable {
2289ec48c3e8SCaleb Connolly			input-enable;
2290ec48c3e8SCaleb Connolly		};
2291ec48c3e8SCaleb Connolly
2292ec48c3e8SCaleb Connolly		pcfg_input_pull_up: pcfg-input-pull-up {
2293ec48c3e8SCaleb Connolly			input-enable;
2294ec48c3e8SCaleb Connolly			bias-pull-up;
2295ec48c3e8SCaleb Connolly		};
2296ec48c3e8SCaleb Connolly
2297ec48c3e8SCaleb Connolly		pcfg_input_pull_down: pcfg-input-pull-down {
2298ec48c3e8SCaleb Connolly			input-enable;
2299ec48c3e8SCaleb Connolly			bias-pull-down;
2300ec48c3e8SCaleb Connolly		};
2301ec48c3e8SCaleb Connolly
2302a8bcaea7SDouglas Anderson		clock {
2303a8bcaea7SDouglas Anderson			clk_32k: clk-32k {
2304d64420e8SHeiko Stuebner				rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>;
2305a8bcaea7SDouglas Anderson			};
2306a8bcaea7SDouglas Anderson		};
2307a8bcaea7SDouglas Anderson
2308f1400702SHeiko Stuebner		cif {
2309f1400702SHeiko Stuebner			cif_clkin: cif-clkin {
2310f1400702SHeiko Stuebner				rockchip,pins =
2311f1400702SHeiko Stuebner					<2 RK_PB2 3 &pcfg_pull_none>;
2312f1400702SHeiko Stuebner			};
2313f1400702SHeiko Stuebner
2314f1400702SHeiko Stuebner			cif_clkouta: cif-clkouta {
2315f1400702SHeiko Stuebner				rockchip,pins =
2316f1400702SHeiko Stuebner					<2 RK_PB3 3 &pcfg_pull_none>;
2317f1400702SHeiko Stuebner			};
2318f1400702SHeiko Stuebner		};
2319f1400702SHeiko Stuebner
23208742466aSBrian Norris		edp {
23218742466aSBrian Norris			edp_hpd: edp-hpd {
23228742466aSBrian Norris				rockchip,pins =
2323d64420e8SHeiko Stuebner					<4 RK_PC7 2 &pcfg_pull_none>;
23248742466aSBrian Norris			};
23258742466aSBrian Norris		};
23268742466aSBrian Norris
2327eb3a6a6aSRoger Chen		gmac {
2328eb3a6a6aSRoger Chen			rgmii_pins: rgmii-pins {
2329eb3a6a6aSRoger Chen				rockchip,pins =
2330eb3a6a6aSRoger Chen					/* mac_txclk */
2331d64420e8SHeiko Stuebner					<3 RK_PC1 1 &pcfg_pull_none_13ma>,
2332eb3a6a6aSRoger Chen					/* mac_rxclk */
2333d64420e8SHeiko Stuebner					<3 RK_PB6 1 &pcfg_pull_none>,
2334eb3a6a6aSRoger Chen					/* mac_mdio */
2335d64420e8SHeiko Stuebner					<3 RK_PB5 1 &pcfg_pull_none>,
2336eb3a6a6aSRoger Chen					/* mac_txen */
2337d64420e8SHeiko Stuebner					<3 RK_PB4 1 &pcfg_pull_none_13ma>,
2338eb3a6a6aSRoger Chen					/* mac_clk */
2339d64420e8SHeiko Stuebner					<3 RK_PB3 1 &pcfg_pull_none>,
2340eb3a6a6aSRoger Chen					/* mac_rxdv */
2341d64420e8SHeiko Stuebner					<3 RK_PB1 1 &pcfg_pull_none>,
2342eb3a6a6aSRoger Chen					/* mac_mdc */
2343d64420e8SHeiko Stuebner					<3 RK_PB0 1 &pcfg_pull_none>,
2344eb3a6a6aSRoger Chen					/* mac_rxd1 */
2345d64420e8SHeiko Stuebner					<3 RK_PA7 1 &pcfg_pull_none>,
2346eb3a6a6aSRoger Chen					/* mac_rxd0 */
2347d64420e8SHeiko Stuebner					<3 RK_PA6 1 &pcfg_pull_none>,
2348eb3a6a6aSRoger Chen					/* mac_txd1 */
2349d64420e8SHeiko Stuebner					<3 RK_PA5 1 &pcfg_pull_none_13ma>,
2350eb3a6a6aSRoger Chen					/* mac_txd0 */
2351d64420e8SHeiko Stuebner					<3 RK_PA4 1 &pcfg_pull_none_13ma>,
2352eb3a6a6aSRoger Chen					/* mac_rxd3 */
2353d64420e8SHeiko Stuebner					<3 RK_PA3 1 &pcfg_pull_none>,
2354eb3a6a6aSRoger Chen					/* mac_rxd2 */
2355d64420e8SHeiko Stuebner					<3 RK_PA2 1 &pcfg_pull_none>,
2356eb3a6a6aSRoger Chen					/* mac_txd3 */
2357d64420e8SHeiko Stuebner					<3 RK_PA1 1 &pcfg_pull_none_13ma>,
2358eb3a6a6aSRoger Chen					/* mac_txd2 */
2359d64420e8SHeiko Stuebner					<3 RK_PA0 1 &pcfg_pull_none_13ma>;
2360eb3a6a6aSRoger Chen			};
2361eb3a6a6aSRoger Chen
2362eb3a6a6aSRoger Chen			rmii_pins: rmii-pins {
2363eb3a6a6aSRoger Chen				rockchip,pins =
2364eb3a6a6aSRoger Chen					/* mac_mdio */
2365d64420e8SHeiko Stuebner					<3 RK_PB5 1 &pcfg_pull_none>,
2366eb3a6a6aSRoger Chen					/* mac_txen */
2367d64420e8SHeiko Stuebner					<3 RK_PB4 1 &pcfg_pull_none_13ma>,
2368eb3a6a6aSRoger Chen					/* mac_clk */
2369d64420e8SHeiko Stuebner					<3 RK_PB3 1 &pcfg_pull_none>,
2370eb3a6a6aSRoger Chen					/* mac_rxer */
2371d64420e8SHeiko Stuebner					<3 RK_PB2 1 &pcfg_pull_none>,
2372eb3a6a6aSRoger Chen					/* mac_rxdv */
2373d64420e8SHeiko Stuebner					<3 RK_PB1 1 &pcfg_pull_none>,
2374eb3a6a6aSRoger Chen					/* mac_mdc */
2375d64420e8SHeiko Stuebner					<3 RK_PB0 1 &pcfg_pull_none>,
2376eb3a6a6aSRoger Chen					/* mac_rxd1 */
2377d64420e8SHeiko Stuebner					<3 RK_PA7 1 &pcfg_pull_none>,
2378eb3a6a6aSRoger Chen					/* mac_rxd0 */
2379d64420e8SHeiko Stuebner					<3 RK_PA6 1 &pcfg_pull_none>,
2380eb3a6a6aSRoger Chen					/* mac_txd1 */
2381d64420e8SHeiko Stuebner					<3 RK_PA5 1 &pcfg_pull_none_13ma>,
2382eb3a6a6aSRoger Chen					/* mac_txd0 */
2383d64420e8SHeiko Stuebner					<3 RK_PA4 1 &pcfg_pull_none_13ma>;
2384eb3a6a6aSRoger Chen			};
2385eb3a6a6aSRoger Chen		};
2386eb3a6a6aSRoger Chen
2387f048b9a4SJianqun Xu		i2c0 {
2388f048b9a4SJianqun Xu			i2c0_xfer: i2c0-xfer {
2389f048b9a4SJianqun Xu				rockchip,pins =
2390d64420e8SHeiko Stuebner					<1 RK_PB7 2 &pcfg_pull_none>,
2391d64420e8SHeiko Stuebner					<1 RK_PC0 2 &pcfg_pull_none>;
2392f048b9a4SJianqun Xu			};
2393f048b9a4SJianqun Xu		};
2394f048b9a4SJianqun Xu
2395f048b9a4SJianqun Xu		i2c1 {
2396f048b9a4SJianqun Xu			i2c1_xfer: i2c1-xfer {
2397f048b9a4SJianqun Xu				rockchip,pins =
2398d64420e8SHeiko Stuebner					<4 RK_PA2 1 &pcfg_pull_none>,
2399d64420e8SHeiko Stuebner					<4 RK_PA1 1 &pcfg_pull_none>;
2400f048b9a4SJianqun Xu			};
2401f048b9a4SJianqun Xu		};
2402f048b9a4SJianqun Xu
2403f048b9a4SJianqun Xu		i2c2 {
2404f048b9a4SJianqun Xu			i2c2_xfer: i2c2-xfer {
2405f048b9a4SJianqun Xu				rockchip,pins =
2406d64420e8SHeiko Stuebner					<2 RK_PA1 2 &pcfg_pull_none_12ma>,
2407d64420e8SHeiko Stuebner					<2 RK_PA0 2 &pcfg_pull_none_12ma>;
2408f048b9a4SJianqun Xu			};
2409f048b9a4SJianqun Xu		};
2410f048b9a4SJianqun Xu
2411f048b9a4SJianqun Xu		i2c3 {
2412f048b9a4SJianqun Xu			i2c3_xfer: i2c3-xfer {
2413f048b9a4SJianqun Xu				rockchip,pins =
2414d64420e8SHeiko Stuebner					<4 RK_PC1 1 &pcfg_pull_none>,
2415d64420e8SHeiko Stuebner					<4 RK_PC0 1 &pcfg_pull_none>;
2416f048b9a4SJianqun Xu			};
2417f048b9a4SJianqun Xu		};
2418f048b9a4SJianqun Xu
2419f048b9a4SJianqun Xu		i2c4 {
2420f048b9a4SJianqun Xu			i2c4_xfer: i2c4-xfer {
2421f048b9a4SJianqun Xu				rockchip,pins =
2422d64420e8SHeiko Stuebner					<1 RK_PB4 1 &pcfg_pull_none>,
2423d64420e8SHeiko Stuebner					<1 RK_PB3 1 &pcfg_pull_none>;
2424f048b9a4SJianqun Xu			};
2425f048b9a4SJianqun Xu		};
2426f048b9a4SJianqun Xu
2427f048b9a4SJianqun Xu		i2c5 {
2428f048b9a4SJianqun Xu			i2c5_xfer: i2c5-xfer {
2429f048b9a4SJianqun Xu				rockchip,pins =
2430d64420e8SHeiko Stuebner					<3 RK_PB3 2 &pcfg_pull_none>,
2431d64420e8SHeiko Stuebner					<3 RK_PB2 2 &pcfg_pull_none>;
2432f048b9a4SJianqun Xu			};
2433f048b9a4SJianqun Xu		};
2434f048b9a4SJianqun Xu
2435f048b9a4SJianqun Xu		i2c6 {
2436f048b9a4SJianqun Xu			i2c6_xfer: i2c6-xfer {
2437f048b9a4SJianqun Xu				rockchip,pins =
2438d64420e8SHeiko Stuebner					<2 RK_PB2 2 &pcfg_pull_none>,
2439d64420e8SHeiko Stuebner					<2 RK_PB1 2 &pcfg_pull_none>;
2440f048b9a4SJianqun Xu			};
2441f048b9a4SJianqun Xu		};
2442f048b9a4SJianqun Xu
2443f048b9a4SJianqun Xu		i2c7 {
2444f048b9a4SJianqun Xu			i2c7_xfer: i2c7-xfer {
2445f048b9a4SJianqun Xu				rockchip,pins =
2446d64420e8SHeiko Stuebner					<2 RK_PB0 2 &pcfg_pull_none>,
2447d64420e8SHeiko Stuebner					<2 RK_PA7 2 &pcfg_pull_none>;
2448f048b9a4SJianqun Xu			};
2449f048b9a4SJianqun Xu		};
2450f048b9a4SJianqun Xu
2451f048b9a4SJianqun Xu		i2c8 {
2452f048b9a4SJianqun Xu			i2c8_xfer: i2c8-xfer {
2453f048b9a4SJianqun Xu				rockchip,pins =
2454d64420e8SHeiko Stuebner					<1 RK_PC5 1 &pcfg_pull_none>,
2455d64420e8SHeiko Stuebner					<1 RK_PC4 1 &pcfg_pull_none>;
2456f048b9a4SJianqun Xu			};
2457f048b9a4SJianqun Xu		};
2458f048b9a4SJianqun Xu
2459f048b9a4SJianqun Xu		i2s0 {
24600efaf807SKlaus Goger			i2s0_2ch_bus: i2s0-2ch-bus {
24610efaf807SKlaus Goger				rockchip,pins =
2462d64420e8SHeiko Stuebner					<3 RK_PD0 1 &pcfg_pull_none>,
2463d64420e8SHeiko Stuebner					<3 RK_PD1 1 &pcfg_pull_none>,
2464d64420e8SHeiko Stuebner					<3 RK_PD2 1 &pcfg_pull_none>,
2465d64420e8SHeiko Stuebner					<3 RK_PD3 1 &pcfg_pull_none>,
2466d64420e8SHeiko Stuebner					<3 RK_PD7 1 &pcfg_pull_none>,
2467d64420e8SHeiko Stuebner					<4 RK_PA0 1 &pcfg_pull_none>;
24680efaf807SKlaus Goger			};
24690efaf807SKlaus Goger
24703975e72bSChristopher Obbard			i2s0_2ch_bus_bclk_off: i2s0-2ch-bus-bclk-off {
24713975e72bSChristopher Obbard				rockchip,pins =
24723975e72bSChristopher Obbard					<3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>,
24733975e72bSChristopher Obbard					<3 RK_PD1 1 &pcfg_pull_none>,
24743975e72bSChristopher Obbard					<3 RK_PD2 1 &pcfg_pull_none>,
24753975e72bSChristopher Obbard					<3 RK_PD3 1 &pcfg_pull_none>,
24763975e72bSChristopher Obbard					<3 RK_PD7 1 &pcfg_pull_none>,
24773975e72bSChristopher Obbard					<4 RK_PA0 1 &pcfg_pull_none>;
24783975e72bSChristopher Obbard			};
24793975e72bSChristopher Obbard
2480f048b9a4SJianqun Xu			i2s0_8ch_bus: i2s0-8ch-bus {
2481f048b9a4SJianqun Xu				rockchip,pins =
2482d64420e8SHeiko Stuebner					<3 RK_PD0 1 &pcfg_pull_none>,
2483d64420e8SHeiko Stuebner					<3 RK_PD1 1 &pcfg_pull_none>,
2484d64420e8SHeiko Stuebner					<3 RK_PD2 1 &pcfg_pull_none>,
2485d64420e8SHeiko Stuebner					<3 RK_PD3 1 &pcfg_pull_none>,
2486d64420e8SHeiko Stuebner					<3 RK_PD4 1 &pcfg_pull_none>,
2487d64420e8SHeiko Stuebner					<3 RK_PD5 1 &pcfg_pull_none>,
2488d64420e8SHeiko Stuebner					<3 RK_PD6 1 &pcfg_pull_none>,
2489d64420e8SHeiko Stuebner					<3 RK_PD7 1 &pcfg_pull_none>,
2490d64420e8SHeiko Stuebner					<4 RK_PA0 1 &pcfg_pull_none>;
2491f048b9a4SJianqun Xu			};
249291419ae0SJudy Hsiao
249391419ae0SJudy Hsiao			i2s0_8ch_bus_bclk_off: i2s0-8ch-bus-bclk-off {
249491419ae0SJudy Hsiao				rockchip,pins =
249591419ae0SJudy Hsiao					<3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>,
249691419ae0SJudy Hsiao					<3 RK_PD1 1 &pcfg_pull_none>,
249791419ae0SJudy Hsiao					<3 RK_PD2 1 &pcfg_pull_none>,
249891419ae0SJudy Hsiao					<3 RK_PD3 1 &pcfg_pull_none>,
249991419ae0SJudy Hsiao					<3 RK_PD4 1 &pcfg_pull_none>,
250091419ae0SJudy Hsiao					<3 RK_PD5 1 &pcfg_pull_none>,
250191419ae0SJudy Hsiao					<3 RK_PD6 1 &pcfg_pull_none>,
250291419ae0SJudy Hsiao					<3 RK_PD7 1 &pcfg_pull_none>,
250391419ae0SJudy Hsiao					<4 RK_PA0 1 &pcfg_pull_none>;
250491419ae0SJudy Hsiao			};
2505f048b9a4SJianqun Xu		};
2506f048b9a4SJianqun Xu
2507f048b9a4SJianqun Xu		i2s1 {
2508f048b9a4SJianqun Xu			i2s1_2ch_bus: i2s1-2ch-bus {
2509f048b9a4SJianqun Xu				rockchip,pins =
2510d64420e8SHeiko Stuebner					<4 RK_PA3 1 &pcfg_pull_none>,
2511d64420e8SHeiko Stuebner					<4 RK_PA4 1 &pcfg_pull_none>,
2512d64420e8SHeiko Stuebner					<4 RK_PA5 1 &pcfg_pull_none>,
2513d64420e8SHeiko Stuebner					<4 RK_PA6 1 &pcfg_pull_none>,
2514d64420e8SHeiko Stuebner					<4 RK_PA7 1 &pcfg_pull_none>;
2515f048b9a4SJianqun Xu			};
251691419ae0SJudy Hsiao
251791419ae0SJudy Hsiao			i2s1_2ch_bus_bclk_off: i2s1-2ch-bus-bclk-off {
251891419ae0SJudy Hsiao				rockchip,pins =
251991419ae0SJudy Hsiao					<4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>,
252091419ae0SJudy Hsiao					<4 RK_PA4 1 &pcfg_pull_none>,
252191419ae0SJudy Hsiao					<4 RK_PA5 1 &pcfg_pull_none>,
252291419ae0SJudy Hsiao					<4 RK_PA6 1 &pcfg_pull_none>,
252391419ae0SJudy Hsiao					<4 RK_PA7 1 &pcfg_pull_none>;
252491419ae0SJudy Hsiao			};
2525f048b9a4SJianqun Xu		};
2526f048b9a4SJianqun Xu
2527b74a2e98SKever Yang		sdio0 {
2528b74a2e98SKever Yang			sdio0_bus1: sdio0-bus1 {
2529b74a2e98SKever Yang				rockchip,pins =
2530d64420e8SHeiko Stuebner					<2 RK_PC4 1 &pcfg_pull_up>;
2531b74a2e98SKever Yang			};
2532b74a2e98SKever Yang
2533b74a2e98SKever Yang			sdio0_bus4: sdio0-bus4 {
2534b74a2e98SKever Yang				rockchip,pins =
2535d64420e8SHeiko Stuebner					<2 RK_PC4 1 &pcfg_pull_up>,
2536d64420e8SHeiko Stuebner					<2 RK_PC5 1 &pcfg_pull_up>,
2537d64420e8SHeiko Stuebner					<2 RK_PC6 1 &pcfg_pull_up>,
2538d64420e8SHeiko Stuebner					<2 RK_PC7 1 &pcfg_pull_up>;
2539b74a2e98SKever Yang			};
2540b74a2e98SKever Yang
2541b74a2e98SKever Yang			sdio0_cmd: sdio0-cmd {
2542b74a2e98SKever Yang				rockchip,pins =
2543d64420e8SHeiko Stuebner					<2 RK_PD0 1 &pcfg_pull_up>;
2544b74a2e98SKever Yang			};
2545b74a2e98SKever Yang
2546b74a2e98SKever Yang			sdio0_clk: sdio0-clk {
2547b74a2e98SKever Yang				rockchip,pins =
2548d64420e8SHeiko Stuebner					<2 RK_PD1 1 &pcfg_pull_none>;
2549b74a2e98SKever Yang			};
2550b74a2e98SKever Yang
2551b74a2e98SKever Yang			sdio0_cd: sdio0-cd {
2552b74a2e98SKever Yang				rockchip,pins =
2553d64420e8SHeiko Stuebner					<2 RK_PD2 1 &pcfg_pull_up>;
2554b74a2e98SKever Yang			};
2555b74a2e98SKever Yang
2556b74a2e98SKever Yang			sdio0_pwr: sdio0-pwr {
2557b74a2e98SKever Yang				rockchip,pins =
2558d64420e8SHeiko Stuebner					<2 RK_PD3 1 &pcfg_pull_up>;
2559b74a2e98SKever Yang			};
2560b74a2e98SKever Yang
2561b74a2e98SKever Yang			sdio0_bkpwr: sdio0-bkpwr {
2562b74a2e98SKever Yang				rockchip,pins =
2563d64420e8SHeiko Stuebner					<2 RK_PD4 1 &pcfg_pull_up>;
2564b74a2e98SKever Yang			};
2565b74a2e98SKever Yang
2566b74a2e98SKever Yang			sdio0_wp: sdio0-wp {
2567b74a2e98SKever Yang				rockchip,pins =
2568d64420e8SHeiko Stuebner					<0 RK_PA3 1 &pcfg_pull_up>;
2569b74a2e98SKever Yang			};
2570b74a2e98SKever Yang
2571b74a2e98SKever Yang			sdio0_int: sdio0-int {
2572b74a2e98SKever Yang				rockchip,pins =
2573d64420e8SHeiko Stuebner					<0 RK_PA4 1 &pcfg_pull_up>;
2574b74a2e98SKever Yang			};
2575b74a2e98SKever Yang		};
2576b74a2e98SKever Yang
2577b74a2e98SKever Yang		sdmmc {
2578b74a2e98SKever Yang			sdmmc_bus1: sdmmc-bus1 {
2579b74a2e98SKever Yang				rockchip,pins =
2580d64420e8SHeiko Stuebner					<4 RK_PB0 1 &pcfg_pull_up>;
2581b74a2e98SKever Yang			};
2582b74a2e98SKever Yang
2583b74a2e98SKever Yang			sdmmc_bus4: sdmmc-bus4 {
2584b74a2e98SKever Yang				rockchip,pins =
2585d64420e8SHeiko Stuebner					<4 RK_PB0 1 &pcfg_pull_up>,
2586d64420e8SHeiko Stuebner					<4 RK_PB1 1 &pcfg_pull_up>,
2587d64420e8SHeiko Stuebner					<4 RK_PB2 1 &pcfg_pull_up>,
2588d64420e8SHeiko Stuebner					<4 RK_PB3 1 &pcfg_pull_up>;
2589b74a2e98SKever Yang			};
2590b74a2e98SKever Yang
2591b74a2e98SKever Yang			sdmmc_clk: sdmmc-clk {
2592b74a2e98SKever Yang				rockchip,pins =
2593d64420e8SHeiko Stuebner					<4 RK_PB4 1 &pcfg_pull_none>;
2594b74a2e98SKever Yang			};
2595b74a2e98SKever Yang
2596b74a2e98SKever Yang			sdmmc_cmd: sdmmc-cmd {
2597b74a2e98SKever Yang				rockchip,pins =
2598d64420e8SHeiko Stuebner					<4 RK_PB5 1 &pcfg_pull_up>;
2599b74a2e98SKever Yang			};
2600b74a2e98SKever Yang
26016122308eSKlaus Goger			sdmmc_cd: sdmmc-cd {
2602b74a2e98SKever Yang				rockchip,pins =
2603d64420e8SHeiko Stuebner					<0 RK_PA7 1 &pcfg_pull_up>;
2604b74a2e98SKever Yang			};
2605b74a2e98SKever Yang
2606b74a2e98SKever Yang			sdmmc_wp: sdmmc-wp {
2607b74a2e98SKever Yang				rockchip,pins =
2608d64420e8SHeiko Stuebner					<0 RK_PB0 1 &pcfg_pull_up>;
2609b74a2e98SKever Yang			};
2610b74a2e98SKever Yang		};
2611b74a2e98SKever Yang
2612a7ecfad4SJohan Jonker		suspend {
26135d26ad9cSDouglas Anderson			ap_pwroff: ap-pwroff {
2614d64420e8SHeiko Stuebner				rockchip,pins = <1 RK_PA5 1 &pcfg_pull_none>;
26155d26ad9cSDouglas Anderson			};
26165d26ad9cSDouglas Anderson
26175d26ad9cSDouglas Anderson			ddrio_pwroff: ddrio-pwroff {
2618d64420e8SHeiko Stuebner				rockchip,pins = <0 RK_PA1 1 &pcfg_pull_none>;
26195d26ad9cSDouglas Anderson			};
26205d26ad9cSDouglas Anderson		};
26215d26ad9cSDouglas Anderson
2622f048b9a4SJianqun Xu		spdif {
2623f048b9a4SJianqun Xu			spdif_bus: spdif-bus {
2624f048b9a4SJianqun Xu				rockchip,pins =
2625d64420e8SHeiko Stuebner					<4 RK_PC5 1 &pcfg_pull_none>;
2626f048b9a4SJianqun Xu			};
2627b74a2e98SKever Yang
2628b74a2e98SKever Yang			spdif_bus_1: spdif-bus-1 {
2629b74a2e98SKever Yang				rockchip,pins =
2630d64420e8SHeiko Stuebner					<3 RK_PC0 3 &pcfg_pull_none>;
2631b74a2e98SKever Yang			};
2632f048b9a4SJianqun Xu		};
2633f048b9a4SJianqun Xu
2634f048b9a4SJianqun Xu		spi0 {
2635f048b9a4SJianqun Xu			spi0_clk: spi0-clk {
2636f048b9a4SJianqun Xu				rockchip,pins =
2637d64420e8SHeiko Stuebner					<3 RK_PA6 2 &pcfg_pull_up>;
2638f048b9a4SJianqun Xu			};
2639f048b9a4SJianqun Xu			spi0_cs0: spi0-cs0 {
2640f048b9a4SJianqun Xu				rockchip,pins =
2641d64420e8SHeiko Stuebner					<3 RK_PA7 2 &pcfg_pull_up>;
2642f048b9a4SJianqun Xu			};
2643f048b9a4SJianqun Xu			spi0_cs1: spi0-cs1 {
2644f048b9a4SJianqun Xu				rockchip,pins =
2645d64420e8SHeiko Stuebner					<3 RK_PB0 2 &pcfg_pull_up>;
2646f048b9a4SJianqun Xu			};
2647f048b9a4SJianqun Xu			spi0_tx: spi0-tx {
2648f048b9a4SJianqun Xu				rockchip,pins =
2649d64420e8SHeiko Stuebner					<3 RK_PA5 2 &pcfg_pull_up>;
2650f048b9a4SJianqun Xu			};
2651f048b9a4SJianqun Xu			spi0_rx: spi0-rx {
2652f048b9a4SJianqun Xu				rockchip,pins =
2653d64420e8SHeiko Stuebner					<3 RK_PA4 2 &pcfg_pull_up>;
2654f048b9a4SJianqun Xu			};
2655f048b9a4SJianqun Xu		};
2656f048b9a4SJianqun Xu
2657f048b9a4SJianqun Xu		spi1 {
2658f048b9a4SJianqun Xu			spi1_clk: spi1-clk {
2659f048b9a4SJianqun Xu				rockchip,pins =
2660d64420e8SHeiko Stuebner					<1 RK_PB1 2 &pcfg_pull_up>;
2661f048b9a4SJianqun Xu			};
2662f048b9a4SJianqun Xu			spi1_cs0: spi1-cs0 {
2663f048b9a4SJianqun Xu				rockchip,pins =
2664d64420e8SHeiko Stuebner					<1 RK_PB2 2 &pcfg_pull_up>;
2665f048b9a4SJianqun Xu			};
2666f048b9a4SJianqun Xu			spi1_rx: spi1-rx {
2667f048b9a4SJianqun Xu				rockchip,pins =
2668d64420e8SHeiko Stuebner					<1 RK_PA7 2 &pcfg_pull_up>;
2669f048b9a4SJianqun Xu			};
2670f048b9a4SJianqun Xu			spi1_tx: spi1-tx {
2671f048b9a4SJianqun Xu				rockchip,pins =
2672d64420e8SHeiko Stuebner					<1 RK_PB0 2 &pcfg_pull_up>;
2673f048b9a4SJianqun Xu			};
2674f048b9a4SJianqun Xu		};
2675f048b9a4SJianqun Xu
2676f048b9a4SJianqun Xu		spi2 {
2677f048b9a4SJianqun Xu			spi2_clk: spi2-clk {
2678f048b9a4SJianqun Xu				rockchip,pins =
2679d64420e8SHeiko Stuebner					<2 RK_PB3 1 &pcfg_pull_up>;
2680f048b9a4SJianqun Xu			};
2681f048b9a4SJianqun Xu			spi2_cs0: spi2-cs0 {
2682f048b9a4SJianqun Xu				rockchip,pins =
2683d64420e8SHeiko Stuebner					<2 RK_PB4 1 &pcfg_pull_up>;
2684f048b9a4SJianqun Xu			};
2685f048b9a4SJianqun Xu			spi2_rx: spi2-rx {
2686f048b9a4SJianqun Xu				rockchip,pins =
2687d64420e8SHeiko Stuebner					<2 RK_PB1 1 &pcfg_pull_up>;
2688f048b9a4SJianqun Xu			};
2689f048b9a4SJianqun Xu			spi2_tx: spi2-tx {
2690f048b9a4SJianqun Xu				rockchip,pins =
2691d64420e8SHeiko Stuebner					<2 RK_PB2 1 &pcfg_pull_up>;
2692f048b9a4SJianqun Xu			};
2693f048b9a4SJianqun Xu		};
2694f048b9a4SJianqun Xu
2695f048b9a4SJianqun Xu		spi3 {
2696f048b9a4SJianqun Xu			spi3_clk: spi3-clk {
2697f048b9a4SJianqun Xu				rockchip,pins =
2698d64420e8SHeiko Stuebner					<1 RK_PC1 1 &pcfg_pull_up>;
2699f048b9a4SJianqun Xu			};
2700f048b9a4SJianqun Xu			spi3_cs0: spi3-cs0 {
2701f048b9a4SJianqun Xu				rockchip,pins =
2702d64420e8SHeiko Stuebner					<1 RK_PC2 1 &pcfg_pull_up>;
2703f048b9a4SJianqun Xu			};
2704f048b9a4SJianqun Xu			spi3_rx: spi3-rx {
2705f048b9a4SJianqun Xu				rockchip,pins =
2706d64420e8SHeiko Stuebner					<1 RK_PB7 1 &pcfg_pull_up>;
2707f048b9a4SJianqun Xu			};
2708f048b9a4SJianqun Xu			spi3_tx: spi3-tx {
2709f048b9a4SJianqun Xu				rockchip,pins =
2710d64420e8SHeiko Stuebner					<1 RK_PC0 1 &pcfg_pull_up>;
2711f048b9a4SJianqun Xu			};
2712f048b9a4SJianqun Xu		};
2713f048b9a4SJianqun Xu
2714f048b9a4SJianqun Xu		spi4 {
2715f048b9a4SJianqun Xu			spi4_clk: spi4-clk {
2716f048b9a4SJianqun Xu				rockchip,pins =
2717d64420e8SHeiko Stuebner					<3 RK_PA2 2 &pcfg_pull_up>;
2718f048b9a4SJianqun Xu			};
2719f048b9a4SJianqun Xu			spi4_cs0: spi4-cs0 {
2720f048b9a4SJianqun Xu				rockchip,pins =
2721d64420e8SHeiko Stuebner					<3 RK_PA3 2 &pcfg_pull_up>;
2722f048b9a4SJianqun Xu			};
2723f048b9a4SJianqun Xu			spi4_rx: spi4-rx {
2724f048b9a4SJianqun Xu				rockchip,pins =
2725d64420e8SHeiko Stuebner					<3 RK_PA0 2 &pcfg_pull_up>;
2726f048b9a4SJianqun Xu			};
2727f048b9a4SJianqun Xu			spi4_tx: spi4-tx {
2728f048b9a4SJianqun Xu				rockchip,pins =
2729d64420e8SHeiko Stuebner					<3 RK_PA1 2 &pcfg_pull_up>;
2730f048b9a4SJianqun Xu			};
2731f048b9a4SJianqun Xu		};
2732f048b9a4SJianqun Xu
2733f048b9a4SJianqun Xu		spi5 {
2734f048b9a4SJianqun Xu			spi5_clk: spi5-clk {
2735f048b9a4SJianqun Xu				rockchip,pins =
2736d64420e8SHeiko Stuebner					<2 RK_PC6 2 &pcfg_pull_up>;
2737f048b9a4SJianqun Xu			};
2738f048b9a4SJianqun Xu			spi5_cs0: spi5-cs0 {
2739f048b9a4SJianqun Xu				rockchip,pins =
2740d64420e8SHeiko Stuebner					<2 RK_PC7 2 &pcfg_pull_up>;
2741f048b9a4SJianqun Xu			};
2742f048b9a4SJianqun Xu			spi5_rx: spi5-rx {
2743f048b9a4SJianqun Xu				rockchip,pins =
2744d64420e8SHeiko Stuebner					<2 RK_PC4 2 &pcfg_pull_up>;
2745f048b9a4SJianqun Xu			};
2746f048b9a4SJianqun Xu			spi5_tx: spi5-tx {
2747f048b9a4SJianqun Xu				rockchip,pins =
2748d64420e8SHeiko Stuebner					<2 RK_PC5 2 &pcfg_pull_up>;
2749f048b9a4SJianqun Xu			};
2750f048b9a4SJianqun Xu		};
2751f048b9a4SJianqun Xu
2752ba2b043eSShunqian Zheng		testclk {
2753ba2b043eSShunqian Zheng			test_clkout0: test-clkout0 {
2754ba2b043eSShunqian Zheng				rockchip,pins =
2755d64420e8SHeiko Stuebner					<0 RK_PA0 1 &pcfg_pull_none>;
2756ba2b043eSShunqian Zheng			};
2757ba2b043eSShunqian Zheng
2758ba2b043eSShunqian Zheng			test_clkout1: test-clkout1 {
2759ba2b043eSShunqian Zheng				rockchip,pins =
2760d64420e8SHeiko Stuebner					<2 RK_PD1 2 &pcfg_pull_none>;
2761ba2b043eSShunqian Zheng			};
2762ba2b043eSShunqian Zheng
2763ba2b043eSShunqian Zheng			test_clkout2: test-clkout2 {
2764ba2b043eSShunqian Zheng				rockchip,pins =
2765d64420e8SHeiko Stuebner					<0 RK_PB0 3 &pcfg_pull_none>;
2766ba2b043eSShunqian Zheng			};
2767ba2b043eSShunqian Zheng		};
2768ba2b043eSShunqian Zheng
276995c27ba7SCaesar Wang		tsadc {
27702bc65fefSJohan Jonker			otp_pin: otp-pin {
2771d64420e8SHeiko Stuebner				rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
277295c27ba7SCaesar Wang			};
277395c27ba7SCaesar Wang
277495c27ba7SCaesar Wang			otp_out: otp-out {
2775d64420e8SHeiko Stuebner				rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none>;
277695c27ba7SCaesar Wang			};
277795c27ba7SCaesar Wang		};
277895c27ba7SCaesar Wang
2779f048b9a4SJianqun Xu		uart0 {
2780f048b9a4SJianqun Xu			uart0_xfer: uart0-xfer {
2781f048b9a4SJianqun Xu				rockchip,pins =
2782d64420e8SHeiko Stuebner					<2 RK_PC0 1 &pcfg_pull_up>,
2783d64420e8SHeiko Stuebner					<2 RK_PC1 1 &pcfg_pull_none>;
2784f048b9a4SJianqun Xu			};
2785f048b9a4SJianqun Xu
2786f048b9a4SJianqun Xu			uart0_cts: uart0-cts {
2787f048b9a4SJianqun Xu				rockchip,pins =
2788d64420e8SHeiko Stuebner					<2 RK_PC2 1 &pcfg_pull_none>;
2789f048b9a4SJianqun Xu			};
2790f048b9a4SJianqun Xu
2791f048b9a4SJianqun Xu			uart0_rts: uart0-rts {
2792f048b9a4SJianqun Xu				rockchip,pins =
2793d64420e8SHeiko Stuebner					<2 RK_PC3 1 &pcfg_pull_none>;
2794f048b9a4SJianqun Xu			};
2795f048b9a4SJianqun Xu		};
2796f048b9a4SJianqun Xu
2797f048b9a4SJianqun Xu		uart1 {
2798f048b9a4SJianqun Xu			uart1_xfer: uart1-xfer {
2799f048b9a4SJianqun Xu				rockchip,pins =
2800d64420e8SHeiko Stuebner					<3 RK_PB4 2 &pcfg_pull_up>,
2801d64420e8SHeiko Stuebner					<3 RK_PB5 2 &pcfg_pull_none>;
2802f048b9a4SJianqun Xu			};
2803f048b9a4SJianqun Xu		};
2804f048b9a4SJianqun Xu
2805f048b9a4SJianqun Xu		uart2a {
2806f048b9a4SJianqun Xu			uart2a_xfer: uart2a-xfer {
2807f048b9a4SJianqun Xu				rockchip,pins =
2808d64420e8SHeiko Stuebner					<4 RK_PB0 2 &pcfg_pull_up>,
2809d64420e8SHeiko Stuebner					<4 RK_PB1 2 &pcfg_pull_none>;
2810f048b9a4SJianqun Xu			};
2811f048b9a4SJianqun Xu		};
2812f048b9a4SJianqun Xu
2813f048b9a4SJianqun Xu		uart2b {
2814f048b9a4SJianqun Xu			uart2b_xfer: uart2b-xfer {
2815f048b9a4SJianqun Xu				rockchip,pins =
2816d64420e8SHeiko Stuebner					<4 RK_PC0 2 &pcfg_pull_up>,
2817d64420e8SHeiko Stuebner					<4 RK_PC1 2 &pcfg_pull_none>;
2818f048b9a4SJianqun Xu			};
2819f048b9a4SJianqun Xu		};
2820f048b9a4SJianqun Xu
2821f048b9a4SJianqun Xu		uart2c {
2822f048b9a4SJianqun Xu			uart2c_xfer: uart2c-xfer {
2823f048b9a4SJianqun Xu				rockchip,pins =
2824d64420e8SHeiko Stuebner					<4 RK_PC3 1 &pcfg_pull_up>,
2825d64420e8SHeiko Stuebner					<4 RK_PC4 1 &pcfg_pull_none>;
2826f048b9a4SJianqun Xu			};
2827f048b9a4SJianqun Xu		};
2828f048b9a4SJianqun Xu
2829f048b9a4SJianqun Xu		uart3 {
2830f048b9a4SJianqun Xu			uart3_xfer: uart3-xfer {
2831f048b9a4SJianqun Xu				rockchip,pins =
2832d64420e8SHeiko Stuebner					<3 RK_PB6 2 &pcfg_pull_up>,
2833d64420e8SHeiko Stuebner					<3 RK_PB7 2 &pcfg_pull_none>;
2834f048b9a4SJianqun Xu			};
2835f048b9a4SJianqun Xu
2836f048b9a4SJianqun Xu			uart3_cts: uart3-cts {
2837f048b9a4SJianqun Xu				rockchip,pins =
283840a0dd42SKatsuhiro Suzuki					<3 RK_PC0 2 &pcfg_pull_none>;
2839f048b9a4SJianqun Xu			};
2840f048b9a4SJianqun Xu
2841f048b9a4SJianqun Xu			uart3_rts: uart3-rts {
2842f048b9a4SJianqun Xu				rockchip,pins =
284340a0dd42SKatsuhiro Suzuki					<3 RK_PC1 2 &pcfg_pull_none>;
2844f048b9a4SJianqun Xu			};
2845f048b9a4SJianqun Xu		};
2846f048b9a4SJianqun Xu
2847f048b9a4SJianqun Xu		uart4 {
2848f048b9a4SJianqun Xu			uart4_xfer: uart4-xfer {
2849f048b9a4SJianqun Xu				rockchip,pins =
2850d64420e8SHeiko Stuebner					<1 RK_PA7 1 &pcfg_pull_up>,
2851d64420e8SHeiko Stuebner					<1 RK_PB0 1 &pcfg_pull_none>;
2852f048b9a4SJianqun Xu			};
2853f048b9a4SJianqun Xu		};
2854f048b9a4SJianqun Xu
2855f048b9a4SJianqun Xu		uarthdcp {
2856f048b9a4SJianqun Xu			uarthdcp_xfer: uarthdcp-xfer {
2857f048b9a4SJianqun Xu				rockchip,pins =
2858d64420e8SHeiko Stuebner					<4 RK_PC5 2 &pcfg_pull_up>,
2859d64420e8SHeiko Stuebner					<4 RK_PC6 2 &pcfg_pull_none>;
2860f048b9a4SJianqun Xu			};
2861f048b9a4SJianqun Xu		};
2862f048b9a4SJianqun Xu
2863f048b9a4SJianqun Xu		pwm0 {
2864f048b9a4SJianqun Xu			pwm0_pin: pwm0-pin {
2865f048b9a4SJianqun Xu				rockchip,pins =
2866d64420e8SHeiko Stuebner					<4 RK_PC2 1 &pcfg_pull_none>;
2867b4102328SRandy Li			};
2868b4102328SRandy Li
2869b4102328SRandy Li			pwm0_pin_pull_down: pwm0-pin-pull-down {
2870b4102328SRandy Li				rockchip,pins =
2871d64420e8SHeiko Stuebner					<4 RK_PC2 1 &pcfg_pull_down>;
2872f048b9a4SJianqun Xu			};
2873f048b9a4SJianqun Xu
2874f048b9a4SJianqun Xu			vop0_pwm_pin: vop0-pwm-pin {
2875f048b9a4SJianqun Xu				rockchip,pins =
2876d64420e8SHeiko Stuebner					<4 RK_PC2 2 &pcfg_pull_none>;
2877b4102328SRandy Li			};
2878b4102328SRandy Li
2879b4102328SRandy Li			vop1_pwm_pin: vop1-pwm-pin {
2880b4102328SRandy Li				rockchip,pins =
2881d64420e8SHeiko Stuebner					<4 RK_PC2 3 &pcfg_pull_none>;
2882f048b9a4SJianqun Xu			};
2883f048b9a4SJianqun Xu		};
2884f048b9a4SJianqun Xu
2885f048b9a4SJianqun Xu		pwm1 {
2886f048b9a4SJianqun Xu			pwm1_pin: pwm1-pin {
2887f048b9a4SJianqun Xu				rockchip,pins =
2888d64420e8SHeiko Stuebner					<4 RK_PC6 1 &pcfg_pull_none>;
2889f048b9a4SJianqun Xu			};
2890f048b9a4SJianqun Xu
2891b4102328SRandy Li			pwm1_pin_pull_down: pwm1-pin-pull-down {
2892f048b9a4SJianqun Xu				rockchip,pins =
2893d64420e8SHeiko Stuebner					<4 RK_PC6 1 &pcfg_pull_down>;
2894f048b9a4SJianqun Xu			};
2895f048b9a4SJianqun Xu		};
2896f048b9a4SJianqun Xu
2897f048b9a4SJianqun Xu		pwm2 {
2898f048b9a4SJianqun Xu			pwm2_pin: pwm2-pin {
2899f048b9a4SJianqun Xu				rockchip,pins =
2900d64420e8SHeiko Stuebner					<1 RK_PC3 1 &pcfg_pull_none>;
2901b4102328SRandy Li			};
2902b4102328SRandy Li
2903b4102328SRandy Li			pwm2_pin_pull_down: pwm2-pin-pull-down {
2904b4102328SRandy Li				rockchip,pins =
2905d64420e8SHeiko Stuebner					<1 RK_PC3 1 &pcfg_pull_down>;
2906f048b9a4SJianqun Xu			};
2907f048b9a4SJianqun Xu		};
2908f048b9a4SJianqun Xu
2909f048b9a4SJianqun Xu		pwm3a {
2910f048b9a4SJianqun Xu			pwm3a_pin: pwm3a-pin {
2911f048b9a4SJianqun Xu				rockchip,pins =
2912d64420e8SHeiko Stuebner					<0 RK_PA6 1 &pcfg_pull_none>;
2913f048b9a4SJianqun Xu			};
2914f048b9a4SJianqun Xu		};
2915f048b9a4SJianqun Xu
2916f048b9a4SJianqun Xu		pwm3b {
2917f048b9a4SJianqun Xu			pwm3b_pin: pwm3b-pin {
2918f048b9a4SJianqun Xu				rockchip,pins =
2919d64420e8SHeiko Stuebner					<1 RK_PB6 1 &pcfg_pull_none>;
2920f048b9a4SJianqun Xu			};
2921f048b9a4SJianqun Xu		};
292285aaa574SShawn Lin
2923b74a2e98SKever Yang		hdmi {
2924b74a2e98SKever Yang			hdmi_i2c_xfer: hdmi-i2c-xfer {
2925b74a2e98SKever Yang				rockchip,pins =
2926d64420e8SHeiko Stuebner					<4 RK_PC1 3 &pcfg_pull_none>,
2927d64420e8SHeiko Stuebner					<4 RK_PC0 3 &pcfg_pull_none>;
2928b74a2e98SKever Yang			};
2929b74a2e98SKever Yang
2930b74a2e98SKever Yang			hdmi_cec: hdmi-cec {
2931b74a2e98SKever Yang				rockchip,pins =
2932d64420e8SHeiko Stuebner					<4 RK_PC7 1 &pcfg_pull_none>;
2933b74a2e98SKever Yang			};
2934b74a2e98SKever Yang		};
2935b74a2e98SKever Yang
293685aaa574SShawn Lin		pcie {
2937b74a2e98SKever Yang			pcie_clkreqn_cpm: pci-clkreqn-cpm {
2938b74a2e98SKever Yang				rockchip,pins =
2939b74a2e98SKever Yang					<2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
2940b74a2e98SKever Yang			};
2941b74a2e98SKever Yang
2942b74a2e98SKever Yang			pcie_clkreqnb_cpm: pci-clkreqnb-cpm {
2943b74a2e98SKever Yang				rockchip,pins =
2944b74a2e98SKever Yang					<4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
2945b74a2e98SKever Yang			};
294685aaa574SShawn Lin		};
294785aaa574SShawn Lin
2948f048b9a4SJianqun Xu	};
2949f048b9a4SJianqun Xu};
2950