xref: /freebsd-src/sys/contrib/device-tree/src/arm/rockchip/rk3288.dtsi (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2f126890aSEmmanuel Vadot
3f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
4f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
5f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
6f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
7f126890aSEmmanuel Vadot#include <dt-bindings/clock/rk3288-cru.h>
8f126890aSEmmanuel Vadot#include <dt-bindings/power/rk3288-power.h>
9f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
10f126890aSEmmanuel Vadot#include <dt-bindings/soc/rockchip,boot-mode.h>
11f126890aSEmmanuel Vadot
12f126890aSEmmanuel Vadot/ {
13f126890aSEmmanuel Vadot	#address-cells = <2>;
14f126890aSEmmanuel Vadot	#size-cells = <2>;
15f126890aSEmmanuel Vadot
16f126890aSEmmanuel Vadot	compatible = "rockchip,rk3288";
17f126890aSEmmanuel Vadot
18f126890aSEmmanuel Vadot	interrupt-parent = <&gic>;
19f126890aSEmmanuel Vadot
20f126890aSEmmanuel Vadot	aliases {
21f126890aSEmmanuel Vadot		ethernet0 = &gmac;
228d13bc63SEmmanuel Vadot		gpio0 = &gpio0;
238d13bc63SEmmanuel Vadot		gpio1 = &gpio1;
248d13bc63SEmmanuel Vadot		gpio2 = &gpio2;
258d13bc63SEmmanuel Vadot		gpio3 = &gpio3;
268d13bc63SEmmanuel Vadot		gpio4 = &gpio4;
278d13bc63SEmmanuel Vadot		gpio5 = &gpio5;
288d13bc63SEmmanuel Vadot		gpio6 = &gpio6;
298d13bc63SEmmanuel Vadot		gpio7 = &gpio7;
308d13bc63SEmmanuel Vadot		gpio8 = &gpio8;
31f126890aSEmmanuel Vadot		i2c0 = &i2c0;
32f126890aSEmmanuel Vadot		i2c1 = &i2c1;
33f126890aSEmmanuel Vadot		i2c2 = &i2c2;
34f126890aSEmmanuel Vadot		i2c3 = &i2c3;
35f126890aSEmmanuel Vadot		i2c4 = &i2c4;
36f126890aSEmmanuel Vadot		i2c5 = &i2c5;
37f126890aSEmmanuel Vadot		mshc0 = &emmc;
38f126890aSEmmanuel Vadot		mshc1 = &sdmmc;
39f126890aSEmmanuel Vadot		mshc2 = &sdio0;
40f126890aSEmmanuel Vadot		mshc3 = &sdio1;
41f126890aSEmmanuel Vadot		serial0 = &uart0;
42f126890aSEmmanuel Vadot		serial1 = &uart1;
43f126890aSEmmanuel Vadot		serial2 = &uart2;
44f126890aSEmmanuel Vadot		serial3 = &uart3;
45f126890aSEmmanuel Vadot		serial4 = &uart4;
46f126890aSEmmanuel Vadot		spi0 = &spi0;
47f126890aSEmmanuel Vadot		spi1 = &spi1;
48f126890aSEmmanuel Vadot		spi2 = &spi2;
49f126890aSEmmanuel Vadot	};
50f126890aSEmmanuel Vadot
51f126890aSEmmanuel Vadot	arm-pmu {
52f126890aSEmmanuel Vadot		compatible = "arm,cortex-a12-pmu";
53f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
54f126890aSEmmanuel Vadot			     <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
55f126890aSEmmanuel Vadot			     <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
56f126890aSEmmanuel Vadot			     <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
57f126890aSEmmanuel Vadot		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
58f126890aSEmmanuel Vadot	};
59f126890aSEmmanuel Vadot
60f126890aSEmmanuel Vadot	cpus {
61f126890aSEmmanuel Vadot		#address-cells = <1>;
62f126890aSEmmanuel Vadot		#size-cells = <0>;
63f126890aSEmmanuel Vadot		enable-method = "rockchip,rk3066-smp";
64f126890aSEmmanuel Vadot		rockchip,pmu = <&pmu>;
65f126890aSEmmanuel Vadot
66f126890aSEmmanuel Vadot		cpu0: cpu@500 {
67f126890aSEmmanuel Vadot			device_type = "cpu";
68f126890aSEmmanuel Vadot			compatible = "arm,cortex-a12";
69f126890aSEmmanuel Vadot			reg = <0x500>;
70f126890aSEmmanuel Vadot			resets = <&cru SRST_CORE0>;
71f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
72f126890aSEmmanuel Vadot			#cooling-cells = <2>; /* min followed by max */
73f126890aSEmmanuel Vadot			clock-latency = <40000>;
74f126890aSEmmanuel Vadot			clocks = <&cru ARMCLK>;
75f126890aSEmmanuel Vadot			dynamic-power-coefficient = <370>;
76f126890aSEmmanuel Vadot		};
77f126890aSEmmanuel Vadot		cpu1: cpu@501 {
78f126890aSEmmanuel Vadot			device_type = "cpu";
79f126890aSEmmanuel Vadot			compatible = "arm,cortex-a12";
80f126890aSEmmanuel Vadot			reg = <0x501>;
81f126890aSEmmanuel Vadot			resets = <&cru SRST_CORE1>;
82f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
83f126890aSEmmanuel Vadot			#cooling-cells = <2>; /* min followed by max */
84f126890aSEmmanuel Vadot			clock-latency = <40000>;
85f126890aSEmmanuel Vadot			clocks = <&cru ARMCLK>;
86f126890aSEmmanuel Vadot			dynamic-power-coefficient = <370>;
87f126890aSEmmanuel Vadot		};
88f126890aSEmmanuel Vadot		cpu2: cpu@502 {
89f126890aSEmmanuel Vadot			device_type = "cpu";
90f126890aSEmmanuel Vadot			compatible = "arm,cortex-a12";
91f126890aSEmmanuel Vadot			reg = <0x502>;
92f126890aSEmmanuel Vadot			resets = <&cru SRST_CORE2>;
93f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
94f126890aSEmmanuel Vadot			#cooling-cells = <2>; /* min followed by max */
95f126890aSEmmanuel Vadot			clock-latency = <40000>;
96f126890aSEmmanuel Vadot			clocks = <&cru ARMCLK>;
97f126890aSEmmanuel Vadot			dynamic-power-coefficient = <370>;
98f126890aSEmmanuel Vadot		};
99f126890aSEmmanuel Vadot		cpu3: cpu@503 {
100f126890aSEmmanuel Vadot			device_type = "cpu";
101f126890aSEmmanuel Vadot			compatible = "arm,cortex-a12";
102f126890aSEmmanuel Vadot			reg = <0x503>;
103f126890aSEmmanuel Vadot			resets = <&cru SRST_CORE3>;
104f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
105f126890aSEmmanuel Vadot			#cooling-cells = <2>; /* min followed by max */
106f126890aSEmmanuel Vadot			clock-latency = <40000>;
107f126890aSEmmanuel Vadot			clocks = <&cru ARMCLK>;
108f126890aSEmmanuel Vadot			dynamic-power-coefficient = <370>;
109f126890aSEmmanuel Vadot		};
110f126890aSEmmanuel Vadot	};
111f126890aSEmmanuel Vadot
112f126890aSEmmanuel Vadot	cpu_opp_table: opp-table-0 {
113f126890aSEmmanuel Vadot		compatible = "operating-points-v2";
114f126890aSEmmanuel Vadot		opp-shared;
115f126890aSEmmanuel Vadot
116f126890aSEmmanuel Vadot		opp-126000000 {
117f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <126000000>;
118f126890aSEmmanuel Vadot			opp-microvolt = <900000>;
119f126890aSEmmanuel Vadot		};
120f126890aSEmmanuel Vadot		opp-216000000 {
121f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <216000000>;
122f126890aSEmmanuel Vadot			opp-microvolt = <900000>;
123f126890aSEmmanuel Vadot		};
124f126890aSEmmanuel Vadot		opp-312000000 {
125f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <312000000>;
126f126890aSEmmanuel Vadot			opp-microvolt = <900000>;
127f126890aSEmmanuel Vadot		};
128f126890aSEmmanuel Vadot		opp-408000000 {
129f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <408000000>;
130f126890aSEmmanuel Vadot			opp-microvolt = <900000>;
131f126890aSEmmanuel Vadot		};
132f126890aSEmmanuel Vadot		opp-600000000 {
133f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <600000000>;
134f126890aSEmmanuel Vadot			opp-microvolt = <900000>;
135f126890aSEmmanuel Vadot		};
136f126890aSEmmanuel Vadot		opp-696000000 {
137f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <696000000>;
138f126890aSEmmanuel Vadot			opp-microvolt = <950000>;
139f126890aSEmmanuel Vadot		};
140f126890aSEmmanuel Vadot		opp-816000000 {
141f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <816000000>;
142f126890aSEmmanuel Vadot			opp-microvolt = <1000000>;
143f126890aSEmmanuel Vadot		};
144f126890aSEmmanuel Vadot		opp-1008000000 {
145f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1008000000>;
146f126890aSEmmanuel Vadot			opp-microvolt = <1050000>;
147f126890aSEmmanuel Vadot		};
148f126890aSEmmanuel Vadot		opp-1200000000 {
149f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1200000000>;
150f126890aSEmmanuel Vadot			opp-microvolt = <1100000>;
151f126890aSEmmanuel Vadot		};
152f126890aSEmmanuel Vadot		opp-1416000000 {
153f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1416000000>;
154f126890aSEmmanuel Vadot			opp-microvolt = <1200000>;
155f126890aSEmmanuel Vadot		};
156f126890aSEmmanuel Vadot		opp-1512000000 {
157f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1512000000>;
158f126890aSEmmanuel Vadot			opp-microvolt = <1300000>;
159f126890aSEmmanuel Vadot		};
160f126890aSEmmanuel Vadot		opp-1608000000 {
161f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1608000000>;
162f126890aSEmmanuel Vadot			opp-microvolt = <1350000>;
163f126890aSEmmanuel Vadot		};
164f126890aSEmmanuel Vadot	};
165f126890aSEmmanuel Vadot
166f126890aSEmmanuel Vadot	reserved-memory {
167f126890aSEmmanuel Vadot		#address-cells = <2>;
168f126890aSEmmanuel Vadot		#size-cells = <2>;
169f126890aSEmmanuel Vadot		ranges;
170f126890aSEmmanuel Vadot
171f126890aSEmmanuel Vadot		/*
172f126890aSEmmanuel Vadot		 * The rk3288 cannot use the memory area above 0xfe000000
173f126890aSEmmanuel Vadot		 * for dma operations for some reason. While there is
174f126890aSEmmanuel Vadot		 * probably a better solution available somewhere, we
175f126890aSEmmanuel Vadot		 * haven't found it yet and while devices with 2GB of ram
176f126890aSEmmanuel Vadot		 * are not affected, this issue prevents 4GB from booting.
177f126890aSEmmanuel Vadot		 * So to make these devices at least bootable, block
178f126890aSEmmanuel Vadot		 * this area for the time being until the real solution
179f126890aSEmmanuel Vadot		 * is found.
180f126890aSEmmanuel Vadot		 */
181f126890aSEmmanuel Vadot		dma-unusable@fe000000 {
182f126890aSEmmanuel Vadot			reg = <0x0 0xfe000000 0x0 0x1000000>;
183f126890aSEmmanuel Vadot		};
184f126890aSEmmanuel Vadot	};
185f126890aSEmmanuel Vadot
186f126890aSEmmanuel Vadot	xin24m: oscillator {
187f126890aSEmmanuel Vadot		compatible = "fixed-clock";
188f126890aSEmmanuel Vadot		clock-frequency = <24000000>;
189f126890aSEmmanuel Vadot		clock-output-names = "xin24m";
190f126890aSEmmanuel Vadot		#clock-cells = <0>;
191f126890aSEmmanuel Vadot	};
192f126890aSEmmanuel Vadot
193f126890aSEmmanuel Vadot	timer {
194f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
195f126890aSEmmanuel Vadot		arm,cpu-registers-not-fw-configured;
196f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
197f126890aSEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
198f126890aSEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
199f126890aSEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
200f126890aSEmmanuel Vadot		clock-frequency = <24000000>;
201f126890aSEmmanuel Vadot		arm,no-tick-in-suspend;
202f126890aSEmmanuel Vadot	};
203f126890aSEmmanuel Vadot
204f126890aSEmmanuel Vadot	timer: timer@ff810000 {
205f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-timer";
206f126890aSEmmanuel Vadot		reg = <0x0 0xff810000 0x0 0x20>;
207f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
208f126890aSEmmanuel Vadot		clocks = <&cru PCLK_TIMER>, <&xin24m>;
209f126890aSEmmanuel Vadot		clock-names = "pclk", "timer";
210f126890aSEmmanuel Vadot	};
211f126890aSEmmanuel Vadot
212f126890aSEmmanuel Vadot	display-subsystem {
213f126890aSEmmanuel Vadot		compatible = "rockchip,display-subsystem";
214f126890aSEmmanuel Vadot		ports = <&vopl_out>, <&vopb_out>;
215f126890aSEmmanuel Vadot	};
216f126890aSEmmanuel Vadot
217f126890aSEmmanuel Vadot	sdmmc: mmc@ff0c0000 {
218f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-dw-mshc";
219f126890aSEmmanuel Vadot		max-frequency = <150000000>;
220f126890aSEmmanuel Vadot		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
221f126890aSEmmanuel Vadot			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
222f126890aSEmmanuel Vadot		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
223f126890aSEmmanuel Vadot		fifo-depth = <0x100>;
224f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
225f126890aSEmmanuel Vadot		reg = <0x0 0xff0c0000 0x0 0x4000>;
226f126890aSEmmanuel Vadot		resets = <&cru SRST_MMC0>;
227f126890aSEmmanuel Vadot		reset-names = "reset";
228f126890aSEmmanuel Vadot		status = "disabled";
229f126890aSEmmanuel Vadot	};
230f126890aSEmmanuel Vadot
231f126890aSEmmanuel Vadot	sdio0: mmc@ff0d0000 {
232f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-dw-mshc";
233f126890aSEmmanuel Vadot		max-frequency = <150000000>;
234f126890aSEmmanuel Vadot		clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>,
235f126890aSEmmanuel Vadot			 <&cru SCLK_SDIO0_DRV>, <&cru SCLK_SDIO0_SAMPLE>;
236f126890aSEmmanuel Vadot		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
237f126890aSEmmanuel Vadot		fifo-depth = <0x100>;
238f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
239f126890aSEmmanuel Vadot		reg = <0x0 0xff0d0000 0x0 0x4000>;
240f126890aSEmmanuel Vadot		resets = <&cru SRST_SDIO0>;
241f126890aSEmmanuel Vadot		reset-names = "reset";
242f126890aSEmmanuel Vadot		status = "disabled";
243f126890aSEmmanuel Vadot	};
244f126890aSEmmanuel Vadot
245f126890aSEmmanuel Vadot	sdio1: mmc@ff0e0000 {
246f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-dw-mshc";
247f126890aSEmmanuel Vadot		max-frequency = <150000000>;
248f126890aSEmmanuel Vadot		clocks = <&cru HCLK_SDIO1>, <&cru SCLK_SDIO1>,
249f126890aSEmmanuel Vadot			 <&cru SCLK_SDIO1_DRV>, <&cru SCLK_SDIO1_SAMPLE>;
250f126890aSEmmanuel Vadot		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
251f126890aSEmmanuel Vadot		fifo-depth = <0x100>;
252f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
253f126890aSEmmanuel Vadot		reg = <0x0 0xff0e0000 0x0 0x4000>;
254f126890aSEmmanuel Vadot		resets = <&cru SRST_SDIO1>;
255f126890aSEmmanuel Vadot		reset-names = "reset";
256f126890aSEmmanuel Vadot		status = "disabled";
257f126890aSEmmanuel Vadot	};
258f126890aSEmmanuel Vadot
259f126890aSEmmanuel Vadot	emmc: mmc@ff0f0000 {
260f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-dw-mshc";
261f126890aSEmmanuel Vadot		max-frequency = <150000000>;
262f126890aSEmmanuel Vadot		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
263f126890aSEmmanuel Vadot			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
264f126890aSEmmanuel Vadot		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
265f126890aSEmmanuel Vadot		fifo-depth = <0x100>;
266f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
267f126890aSEmmanuel Vadot		reg = <0x0 0xff0f0000 0x0 0x4000>;
268f126890aSEmmanuel Vadot		resets = <&cru SRST_EMMC>;
269f126890aSEmmanuel Vadot		reset-names = "reset";
270f126890aSEmmanuel Vadot		status = "disabled";
271f126890aSEmmanuel Vadot	};
272f126890aSEmmanuel Vadot
273f126890aSEmmanuel Vadot	saradc: saradc@ff100000 {
274f126890aSEmmanuel Vadot		compatible = "rockchip,saradc";
275f126890aSEmmanuel Vadot		reg = <0x0 0xff100000 0x0 0x100>;
276f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
277f126890aSEmmanuel Vadot		#io-channel-cells = <1>;
278f126890aSEmmanuel Vadot		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
279f126890aSEmmanuel Vadot		clock-names = "saradc", "apb_pclk";
280f126890aSEmmanuel Vadot		resets = <&cru SRST_SARADC>;
281f126890aSEmmanuel Vadot		reset-names = "saradc-apb";
282f126890aSEmmanuel Vadot		status = "disabled";
283f126890aSEmmanuel Vadot	};
284f126890aSEmmanuel Vadot
285f126890aSEmmanuel Vadot	spi0: spi@ff110000 {
286f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
287f126890aSEmmanuel Vadot		clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
288f126890aSEmmanuel Vadot		clock-names = "spiclk", "apb_pclk";
289f126890aSEmmanuel Vadot		dmas = <&dmac_peri 11>, <&dmac_peri 12>;
290f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
291f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
292f126890aSEmmanuel Vadot		pinctrl-names = "default";
293f126890aSEmmanuel Vadot		pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
294f126890aSEmmanuel Vadot		reg = <0x0 0xff110000 0x0 0x1000>;
295f126890aSEmmanuel Vadot		#address-cells = <1>;
296f126890aSEmmanuel Vadot		#size-cells = <0>;
297f126890aSEmmanuel Vadot		status = "disabled";
298f126890aSEmmanuel Vadot	};
299f126890aSEmmanuel Vadot
300f126890aSEmmanuel Vadot	spi1: spi@ff120000 {
301f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
302f126890aSEmmanuel Vadot		clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
303f126890aSEmmanuel Vadot		clock-names = "spiclk", "apb_pclk";
304f126890aSEmmanuel Vadot		dmas = <&dmac_peri 13>, <&dmac_peri 14>;
305f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
306f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
307f126890aSEmmanuel Vadot		pinctrl-names = "default";
308f126890aSEmmanuel Vadot		pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
309f126890aSEmmanuel Vadot		reg = <0x0 0xff120000 0x0 0x1000>;
310f126890aSEmmanuel Vadot		#address-cells = <1>;
311f126890aSEmmanuel Vadot		#size-cells = <0>;
312f126890aSEmmanuel Vadot		status = "disabled";
313f126890aSEmmanuel Vadot	};
314f126890aSEmmanuel Vadot
315f126890aSEmmanuel Vadot	spi2: spi@ff130000 {
316f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
317f126890aSEmmanuel Vadot		clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
318f126890aSEmmanuel Vadot		clock-names = "spiclk", "apb_pclk";
319f126890aSEmmanuel Vadot		dmas = <&dmac_peri 15>, <&dmac_peri 16>;
320f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
321f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
322f126890aSEmmanuel Vadot		pinctrl-names = "default";
323f126890aSEmmanuel Vadot		pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
324f126890aSEmmanuel Vadot		reg = <0x0 0xff130000 0x0 0x1000>;
325f126890aSEmmanuel Vadot		#address-cells = <1>;
326f126890aSEmmanuel Vadot		#size-cells = <0>;
327f126890aSEmmanuel Vadot		status = "disabled";
328f126890aSEmmanuel Vadot	};
329f126890aSEmmanuel Vadot
330f126890aSEmmanuel Vadot	i2c1: i2c@ff140000 {
331f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-i2c";
332f126890aSEmmanuel Vadot		reg = <0x0 0xff140000 0x0 0x1000>;
333f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
334f126890aSEmmanuel Vadot		#address-cells = <1>;
335f126890aSEmmanuel Vadot		#size-cells = <0>;
336f126890aSEmmanuel Vadot		clock-names = "i2c";
337f126890aSEmmanuel Vadot		clocks = <&cru PCLK_I2C1>;
338f126890aSEmmanuel Vadot		pinctrl-names = "default";
339f126890aSEmmanuel Vadot		pinctrl-0 = <&i2c1_xfer>;
340f126890aSEmmanuel Vadot		status = "disabled";
341f126890aSEmmanuel Vadot	};
342f126890aSEmmanuel Vadot
343f126890aSEmmanuel Vadot	i2c3: i2c@ff150000 {
344f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-i2c";
345f126890aSEmmanuel Vadot		reg = <0x0 0xff150000 0x0 0x1000>;
346f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
347f126890aSEmmanuel Vadot		#address-cells = <1>;
348f126890aSEmmanuel Vadot		#size-cells = <0>;
349f126890aSEmmanuel Vadot		clock-names = "i2c";
350f126890aSEmmanuel Vadot		clocks = <&cru PCLK_I2C3>;
351f126890aSEmmanuel Vadot		pinctrl-names = "default";
352f126890aSEmmanuel Vadot		pinctrl-0 = <&i2c3_xfer>;
353f126890aSEmmanuel Vadot		status = "disabled";
354f126890aSEmmanuel Vadot	};
355f126890aSEmmanuel Vadot
356f126890aSEmmanuel Vadot	i2c4: i2c@ff160000 {
357f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-i2c";
358f126890aSEmmanuel Vadot		reg = <0x0 0xff160000 0x0 0x1000>;
359f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
360f126890aSEmmanuel Vadot		#address-cells = <1>;
361f126890aSEmmanuel Vadot		#size-cells = <0>;
362f126890aSEmmanuel Vadot		clock-names = "i2c";
363f126890aSEmmanuel Vadot		clocks = <&cru PCLK_I2C4>;
364f126890aSEmmanuel Vadot		pinctrl-names = "default";
365f126890aSEmmanuel Vadot		pinctrl-0 = <&i2c4_xfer>;
366f126890aSEmmanuel Vadot		status = "disabled";
367f126890aSEmmanuel Vadot	};
368f126890aSEmmanuel Vadot
369f126890aSEmmanuel Vadot	i2c5: i2c@ff170000 {
370f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-i2c";
371f126890aSEmmanuel Vadot		reg = <0x0 0xff170000 0x0 0x1000>;
372f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
373f126890aSEmmanuel Vadot		#address-cells = <1>;
374f126890aSEmmanuel Vadot		#size-cells = <0>;
375f126890aSEmmanuel Vadot		clock-names = "i2c";
376f126890aSEmmanuel Vadot		clocks = <&cru PCLK_I2C5>;
377f126890aSEmmanuel Vadot		pinctrl-names = "default";
378f126890aSEmmanuel Vadot		pinctrl-0 = <&i2c5_xfer>;
379f126890aSEmmanuel Vadot		status = "disabled";
380f126890aSEmmanuel Vadot	};
381f126890aSEmmanuel Vadot
382f126890aSEmmanuel Vadot	uart0: serial@ff180000 {
383f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
384f126890aSEmmanuel Vadot		reg = <0x0 0xff180000 0x0 0x100>;
385f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
386f126890aSEmmanuel Vadot		reg-shift = <2>;
387f126890aSEmmanuel Vadot		reg-io-width = <4>;
388f126890aSEmmanuel Vadot		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
389f126890aSEmmanuel Vadot		clock-names = "baudclk", "apb_pclk";
390f126890aSEmmanuel Vadot		dmas = <&dmac_peri 1>, <&dmac_peri 2>;
391f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
392f126890aSEmmanuel Vadot		pinctrl-names = "default";
393f126890aSEmmanuel Vadot		pinctrl-0 = <&uart0_xfer>;
394f126890aSEmmanuel Vadot		status = "disabled";
395f126890aSEmmanuel Vadot	};
396f126890aSEmmanuel Vadot
397f126890aSEmmanuel Vadot	uart1: serial@ff190000 {
398f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
399f126890aSEmmanuel Vadot		reg = <0x0 0xff190000 0x0 0x100>;
400f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
401f126890aSEmmanuel Vadot		reg-shift = <2>;
402f126890aSEmmanuel Vadot		reg-io-width = <4>;
403f126890aSEmmanuel Vadot		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
404f126890aSEmmanuel Vadot		clock-names = "baudclk", "apb_pclk";
405f126890aSEmmanuel Vadot		dmas = <&dmac_peri 3>, <&dmac_peri 4>;
406f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
407f126890aSEmmanuel Vadot		pinctrl-names = "default";
408f126890aSEmmanuel Vadot		pinctrl-0 = <&uart1_xfer>;
409f126890aSEmmanuel Vadot		status = "disabled";
410f126890aSEmmanuel Vadot	};
411f126890aSEmmanuel Vadot
412f126890aSEmmanuel Vadot	uart2: serial@ff690000 {
413f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
414f126890aSEmmanuel Vadot		reg = <0x0 0xff690000 0x0 0x100>;
415f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
416f126890aSEmmanuel Vadot		reg-shift = <2>;
417f126890aSEmmanuel Vadot		reg-io-width = <4>;
418f126890aSEmmanuel Vadot		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
419f126890aSEmmanuel Vadot		clock-names = "baudclk", "apb_pclk";
420f126890aSEmmanuel Vadot		pinctrl-names = "default";
421f126890aSEmmanuel Vadot		pinctrl-0 = <&uart2_xfer>;
422f126890aSEmmanuel Vadot		status = "disabled";
423f126890aSEmmanuel Vadot	};
424f126890aSEmmanuel Vadot
425f126890aSEmmanuel Vadot	uart3: serial@ff1b0000 {
426f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
427f126890aSEmmanuel Vadot		reg = <0x0 0xff1b0000 0x0 0x100>;
428f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
429f126890aSEmmanuel Vadot		reg-shift = <2>;
430f126890aSEmmanuel Vadot		reg-io-width = <4>;
431f126890aSEmmanuel Vadot		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
432f126890aSEmmanuel Vadot		clock-names = "baudclk", "apb_pclk";
433f126890aSEmmanuel Vadot		dmas = <&dmac_peri 7>, <&dmac_peri 8>;
434f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
435f126890aSEmmanuel Vadot		pinctrl-names = "default";
436f126890aSEmmanuel Vadot		pinctrl-0 = <&uart3_xfer>;
437f126890aSEmmanuel Vadot		status = "disabled";
438f126890aSEmmanuel Vadot	};
439f126890aSEmmanuel Vadot
440f126890aSEmmanuel Vadot	uart4: serial@ff1c0000 {
441f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
442f126890aSEmmanuel Vadot		reg = <0x0 0xff1c0000 0x0 0x100>;
443f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
444f126890aSEmmanuel Vadot		reg-shift = <2>;
445f126890aSEmmanuel Vadot		reg-io-width = <4>;
446f126890aSEmmanuel Vadot		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
447f126890aSEmmanuel Vadot		clock-names = "baudclk", "apb_pclk";
448f126890aSEmmanuel Vadot		dmas = <&dmac_peri 9>, <&dmac_peri 10>;
449f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
450f126890aSEmmanuel Vadot		pinctrl-names = "default";
451f126890aSEmmanuel Vadot		pinctrl-0 = <&uart4_xfer>;
452f126890aSEmmanuel Vadot		status = "disabled";
453f126890aSEmmanuel Vadot	};
454f126890aSEmmanuel Vadot
455f126890aSEmmanuel Vadot	dmac_peri: dma-controller@ff250000 {
456f126890aSEmmanuel Vadot		compatible = "arm,pl330", "arm,primecell";
457f126890aSEmmanuel Vadot		reg = <0x0 0xff250000 0x0 0x4000>;
458f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
459f126890aSEmmanuel Vadot			     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
460f126890aSEmmanuel Vadot		#dma-cells = <1>;
461f126890aSEmmanuel Vadot		arm,pl330-broken-no-flushp;
462f126890aSEmmanuel Vadot		arm,pl330-periph-burst;
463f126890aSEmmanuel Vadot		clocks = <&cru ACLK_DMAC2>;
464f126890aSEmmanuel Vadot		clock-names = "apb_pclk";
465f126890aSEmmanuel Vadot	};
466f126890aSEmmanuel Vadot
467f126890aSEmmanuel Vadot	thermal-zones {
468f126890aSEmmanuel Vadot		reserve_thermal: reserve-thermal {
469f126890aSEmmanuel Vadot			polling-delay-passive = <1000>; /* milliseconds */
470f126890aSEmmanuel Vadot			polling-delay = <5000>; /* milliseconds */
471f126890aSEmmanuel Vadot
472f126890aSEmmanuel Vadot			thermal-sensors = <&tsadc 0>;
473f126890aSEmmanuel Vadot		};
474f126890aSEmmanuel Vadot
475f126890aSEmmanuel Vadot		cpu_thermal: cpu-thermal {
476f126890aSEmmanuel Vadot			polling-delay-passive = <100>; /* milliseconds */
477f126890aSEmmanuel Vadot			polling-delay = <5000>; /* milliseconds */
478f126890aSEmmanuel Vadot
479f126890aSEmmanuel Vadot			thermal-sensors = <&tsadc 1>;
480f126890aSEmmanuel Vadot
481f126890aSEmmanuel Vadot			trips {
482f126890aSEmmanuel Vadot				cpu_alert0: cpu_alert0 {
483f126890aSEmmanuel Vadot					temperature = <70000>; /* millicelsius */
484f126890aSEmmanuel Vadot					hysteresis = <2000>; /* millicelsius */
485f126890aSEmmanuel Vadot					type = "passive";
486f126890aSEmmanuel Vadot				};
487f126890aSEmmanuel Vadot				cpu_alert1: cpu_alert1 {
488f126890aSEmmanuel Vadot					temperature = <75000>; /* millicelsius */
489f126890aSEmmanuel Vadot					hysteresis = <2000>; /* millicelsius */
490f126890aSEmmanuel Vadot					type = "passive";
491f126890aSEmmanuel Vadot				};
492f126890aSEmmanuel Vadot				cpu_crit: cpu_crit {
493f126890aSEmmanuel Vadot					temperature = <90000>; /* millicelsius */
494f126890aSEmmanuel Vadot					hysteresis = <2000>; /* millicelsius */
495f126890aSEmmanuel Vadot					type = "critical";
496f126890aSEmmanuel Vadot				};
497f126890aSEmmanuel Vadot			};
498f126890aSEmmanuel Vadot
499f126890aSEmmanuel Vadot			cooling-maps {
500f126890aSEmmanuel Vadot				map0 {
501f126890aSEmmanuel Vadot					trip = <&cpu_alert0>;
502f126890aSEmmanuel Vadot					cooling-device =
503f126890aSEmmanuel Vadot						<&cpu0 THERMAL_NO_LIMIT 6>,
504f126890aSEmmanuel Vadot						<&cpu1 THERMAL_NO_LIMIT 6>,
505f126890aSEmmanuel Vadot						<&cpu2 THERMAL_NO_LIMIT 6>,
506f126890aSEmmanuel Vadot						<&cpu3 THERMAL_NO_LIMIT 6>;
507f126890aSEmmanuel Vadot				};
508f126890aSEmmanuel Vadot				map1 {
509f126890aSEmmanuel Vadot					trip = <&cpu_alert1>;
510f126890aSEmmanuel Vadot					cooling-device =
511f126890aSEmmanuel Vadot						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
512f126890aSEmmanuel Vadot						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
513f126890aSEmmanuel Vadot						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
514f126890aSEmmanuel Vadot						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
515f126890aSEmmanuel Vadot				};
516f126890aSEmmanuel Vadot			};
517f126890aSEmmanuel Vadot		};
518f126890aSEmmanuel Vadot
519f126890aSEmmanuel Vadot		gpu_thermal: gpu-thermal {
520f126890aSEmmanuel Vadot			polling-delay-passive = <100>; /* milliseconds */
521f126890aSEmmanuel Vadot			polling-delay = <5000>; /* milliseconds */
522f126890aSEmmanuel Vadot
523f126890aSEmmanuel Vadot			thermal-sensors = <&tsadc 2>;
524f126890aSEmmanuel Vadot
525f126890aSEmmanuel Vadot			trips {
526f126890aSEmmanuel Vadot				gpu_alert0: gpu_alert0 {
527f126890aSEmmanuel Vadot					temperature = <70000>; /* millicelsius */
528f126890aSEmmanuel Vadot					hysteresis = <2000>; /* millicelsius */
529f126890aSEmmanuel Vadot					type = "passive";
530f126890aSEmmanuel Vadot				};
531f126890aSEmmanuel Vadot				gpu_crit: gpu_crit {
532f126890aSEmmanuel Vadot					temperature = <90000>; /* millicelsius */
533f126890aSEmmanuel Vadot					hysteresis = <2000>; /* millicelsius */
534f126890aSEmmanuel Vadot					type = "critical";
535f126890aSEmmanuel Vadot				};
536f126890aSEmmanuel Vadot			};
537f126890aSEmmanuel Vadot
538f126890aSEmmanuel Vadot			cooling-maps {
539f126890aSEmmanuel Vadot				map0 {
540f126890aSEmmanuel Vadot					trip = <&gpu_alert0>;
541f126890aSEmmanuel Vadot					cooling-device =
542f126890aSEmmanuel Vadot						<&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
543f126890aSEmmanuel Vadot				};
544f126890aSEmmanuel Vadot			};
545f126890aSEmmanuel Vadot		};
546f126890aSEmmanuel Vadot	};
547f126890aSEmmanuel Vadot
548f126890aSEmmanuel Vadot	tsadc: tsadc@ff280000 {
549f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-tsadc";
550f126890aSEmmanuel Vadot		reg = <0x0 0xff280000 0x0 0x100>;
551f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
552f126890aSEmmanuel Vadot		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
553f126890aSEmmanuel Vadot		clock-names = "tsadc", "apb_pclk";
554f126890aSEmmanuel Vadot		resets = <&cru SRST_TSADC>;
555f126890aSEmmanuel Vadot		reset-names = "tsadc-apb";
556f126890aSEmmanuel Vadot		pinctrl-names = "init", "default", "sleep";
557f126890aSEmmanuel Vadot		pinctrl-0 = <&otp_pin>;
558f126890aSEmmanuel Vadot		pinctrl-1 = <&otp_out>;
559f126890aSEmmanuel Vadot		pinctrl-2 = <&otp_pin>;
560f126890aSEmmanuel Vadot		#thermal-sensor-cells = <1>;
561f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
562f126890aSEmmanuel Vadot		rockchip,hw-tshut-temp = <95000>;
563f126890aSEmmanuel Vadot		status = "disabled";
564f126890aSEmmanuel Vadot	};
565f126890aSEmmanuel Vadot
566f126890aSEmmanuel Vadot	gmac: ethernet@ff290000 {
567f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-gmac";
568f126890aSEmmanuel Vadot		reg = <0x0 0xff290000 0x0 0x10000>;
569f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
570f126890aSEmmanuel Vadot				<GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
571f126890aSEmmanuel Vadot		interrupt-names = "macirq", "eth_wake_irq";
572f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
573f126890aSEmmanuel Vadot		clocks = <&cru SCLK_MAC>,
574f126890aSEmmanuel Vadot			<&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
575f126890aSEmmanuel Vadot			<&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>,
576f126890aSEmmanuel Vadot			<&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
577f126890aSEmmanuel Vadot		clock-names = "stmmaceth",
578f126890aSEmmanuel Vadot			"mac_clk_rx", "mac_clk_tx",
579f126890aSEmmanuel Vadot			"clk_mac_ref", "clk_mac_refout",
580f126890aSEmmanuel Vadot			"aclk_mac", "pclk_mac";
581f126890aSEmmanuel Vadot		resets = <&cru SRST_MAC>;
582f126890aSEmmanuel Vadot		reset-names = "stmmaceth";
583f126890aSEmmanuel Vadot		status = "disabled";
584f126890aSEmmanuel Vadot	};
585f126890aSEmmanuel Vadot
586f126890aSEmmanuel Vadot	usb_host0_ehci: usb@ff500000 {
587f126890aSEmmanuel Vadot		compatible = "generic-ehci";
588f126890aSEmmanuel Vadot		reg = <0x0 0xff500000 0x0 0x100>;
589f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
590f126890aSEmmanuel Vadot		clocks = <&cru HCLK_USBHOST0>;
591f126890aSEmmanuel Vadot		phys = <&usbphy1>;
592f126890aSEmmanuel Vadot		phy-names = "usb";
593f126890aSEmmanuel Vadot		status = "disabled";
594f126890aSEmmanuel Vadot	};
595f126890aSEmmanuel Vadot
596f126890aSEmmanuel Vadot	/* NOTE: doesn't work on RK3288, but was fixed on RK3288W */
597f126890aSEmmanuel Vadot	usb_host0_ohci: usb@ff520000 {
598f126890aSEmmanuel Vadot		compatible = "generic-ohci";
599f126890aSEmmanuel Vadot		reg = <0x0 0xff520000 0x0 0x100>;
600f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
601f126890aSEmmanuel Vadot		clocks = <&cru HCLK_USBHOST0>;
602f126890aSEmmanuel Vadot		phys = <&usbphy1>;
603f126890aSEmmanuel Vadot		phy-names = "usb";
604f126890aSEmmanuel Vadot		status = "disabled";
605f126890aSEmmanuel Vadot	};
606f126890aSEmmanuel Vadot
607f126890aSEmmanuel Vadot	usb_host1: usb@ff540000 {
608f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
609f126890aSEmmanuel Vadot				"snps,dwc2";
610f126890aSEmmanuel Vadot		reg = <0x0 0xff540000 0x0 0x40000>;
611f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
612f126890aSEmmanuel Vadot		clocks = <&cru HCLK_USBHOST1>;
613f126890aSEmmanuel Vadot		clock-names = "otg";
614f126890aSEmmanuel Vadot		dr_mode = "host";
615f126890aSEmmanuel Vadot		phys = <&usbphy2>;
616f126890aSEmmanuel Vadot		phy-names = "usb2-phy";
617f126890aSEmmanuel Vadot		snps,reset-phy-on-wake;
618f126890aSEmmanuel Vadot		status = "disabled";
619f126890aSEmmanuel Vadot	};
620f126890aSEmmanuel Vadot
621f126890aSEmmanuel Vadot	usb_otg: usb@ff580000 {
622f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
623f126890aSEmmanuel Vadot				"snps,dwc2";
624f126890aSEmmanuel Vadot		reg = <0x0 0xff580000 0x0 0x40000>;
625f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
626f126890aSEmmanuel Vadot		clocks = <&cru HCLK_OTG0>;
627f126890aSEmmanuel Vadot		clock-names = "otg";
628f126890aSEmmanuel Vadot		dr_mode = "otg";
629f126890aSEmmanuel Vadot		g-np-tx-fifo-size = <16>;
630f126890aSEmmanuel Vadot		g-rx-fifo-size = <275>;
631f126890aSEmmanuel Vadot		g-tx-fifo-size = <256 128 128 64 64 32>;
632f126890aSEmmanuel Vadot		phys = <&usbphy0>;
633f126890aSEmmanuel Vadot		phy-names = "usb2-phy";
634f126890aSEmmanuel Vadot		status = "disabled";
635f126890aSEmmanuel Vadot	};
636f126890aSEmmanuel Vadot
637f126890aSEmmanuel Vadot	usb_hsic: usb@ff5c0000 {
638f126890aSEmmanuel Vadot		compatible = "generic-ehci";
639f126890aSEmmanuel Vadot		reg = <0x0 0xff5c0000 0x0 0x100>;
640f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
641f126890aSEmmanuel Vadot		clocks = <&cru HCLK_HSIC>;
642f126890aSEmmanuel Vadot		status = "disabled";
643f126890aSEmmanuel Vadot	};
644f126890aSEmmanuel Vadot
645f126890aSEmmanuel Vadot	dmac_bus_ns: dma-controller@ff600000 {
646f126890aSEmmanuel Vadot		compatible = "arm,pl330", "arm,primecell";
647f126890aSEmmanuel Vadot		reg = <0x0 0xff600000 0x0 0x4000>;
648f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
649f126890aSEmmanuel Vadot			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
650f126890aSEmmanuel Vadot		#dma-cells = <1>;
651f126890aSEmmanuel Vadot		arm,pl330-broken-no-flushp;
652f126890aSEmmanuel Vadot		arm,pl330-periph-burst;
653f126890aSEmmanuel Vadot		clocks = <&cru ACLK_DMAC1>;
654f126890aSEmmanuel Vadot		clock-names = "apb_pclk";
655f126890aSEmmanuel Vadot		status = "disabled";
656f126890aSEmmanuel Vadot	};
657f126890aSEmmanuel Vadot
658f126890aSEmmanuel Vadot	i2c0: i2c@ff650000 {
659f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-i2c";
660f126890aSEmmanuel Vadot		reg = <0x0 0xff650000 0x0 0x1000>;
661f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
662f126890aSEmmanuel Vadot		#address-cells = <1>;
663f126890aSEmmanuel Vadot		#size-cells = <0>;
664f126890aSEmmanuel Vadot		clock-names = "i2c";
665f126890aSEmmanuel Vadot		clocks = <&cru PCLK_I2C0>;
666f126890aSEmmanuel Vadot		pinctrl-names = "default";
667f126890aSEmmanuel Vadot		pinctrl-0 = <&i2c0_xfer>;
668f126890aSEmmanuel Vadot		status = "disabled";
669f126890aSEmmanuel Vadot	};
670f126890aSEmmanuel Vadot
671f126890aSEmmanuel Vadot	i2c2: i2c@ff660000 {
672f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-i2c";
673f126890aSEmmanuel Vadot		reg = <0x0 0xff660000 0x0 0x1000>;
674f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
675f126890aSEmmanuel Vadot		#address-cells = <1>;
676f126890aSEmmanuel Vadot		#size-cells = <0>;
677f126890aSEmmanuel Vadot		clock-names = "i2c";
678f126890aSEmmanuel Vadot		clocks = <&cru PCLK_I2C2>;
679f126890aSEmmanuel Vadot		pinctrl-names = "default";
680f126890aSEmmanuel Vadot		pinctrl-0 = <&i2c2_xfer>;
681f126890aSEmmanuel Vadot		status = "disabled";
682f126890aSEmmanuel Vadot	};
683f126890aSEmmanuel Vadot
684f126890aSEmmanuel Vadot	pwm0: pwm@ff680000 {
685f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-pwm";
686f126890aSEmmanuel Vadot		reg = <0x0 0xff680000 0x0 0x10>;
687f126890aSEmmanuel Vadot		#pwm-cells = <3>;
688f126890aSEmmanuel Vadot		pinctrl-names = "default";
689f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm0_pin>;
690f126890aSEmmanuel Vadot		clocks = <&cru PCLK_RKPWM>;
691f126890aSEmmanuel Vadot		status = "disabled";
692f126890aSEmmanuel Vadot	};
693f126890aSEmmanuel Vadot
694f126890aSEmmanuel Vadot	pwm1: pwm@ff680010 {
695f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-pwm";
696f126890aSEmmanuel Vadot		reg = <0x0 0xff680010 0x0 0x10>;
697f126890aSEmmanuel Vadot		#pwm-cells = <3>;
698f126890aSEmmanuel Vadot		pinctrl-names = "default";
699f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm1_pin>;
700f126890aSEmmanuel Vadot		clocks = <&cru PCLK_RKPWM>;
701f126890aSEmmanuel Vadot		status = "disabled";
702f126890aSEmmanuel Vadot	};
703f126890aSEmmanuel Vadot
704f126890aSEmmanuel Vadot	pwm2: pwm@ff680020 {
705f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-pwm";
706f126890aSEmmanuel Vadot		reg = <0x0 0xff680020 0x0 0x10>;
707f126890aSEmmanuel Vadot		#pwm-cells = <3>;
708f126890aSEmmanuel Vadot		pinctrl-names = "default";
709f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm2_pin>;
710f126890aSEmmanuel Vadot		clocks = <&cru PCLK_RKPWM>;
711f126890aSEmmanuel Vadot		status = "disabled";
712f126890aSEmmanuel Vadot	};
713f126890aSEmmanuel Vadot
714f126890aSEmmanuel Vadot	pwm3: pwm@ff680030 {
715f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-pwm";
716f126890aSEmmanuel Vadot		reg = <0x0 0xff680030 0x0 0x10>;
717f126890aSEmmanuel Vadot		#pwm-cells = <3>;
718f126890aSEmmanuel Vadot		pinctrl-names = "default";
719f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm3_pin>;
720f126890aSEmmanuel Vadot		clocks = <&cru PCLK_RKPWM>;
721f126890aSEmmanuel Vadot		status = "disabled";
722f126890aSEmmanuel Vadot	};
723f126890aSEmmanuel Vadot
724f126890aSEmmanuel Vadot	bus_intmem: sram@ff700000 {
725f126890aSEmmanuel Vadot		compatible = "mmio-sram";
726f126890aSEmmanuel Vadot		reg = <0x0 0xff700000 0x0 0x18000>;
727f126890aSEmmanuel Vadot		#address-cells = <1>;
728f126890aSEmmanuel Vadot		#size-cells = <1>;
729f126890aSEmmanuel Vadot		ranges = <0 0x0 0xff700000 0x18000>;
730f126890aSEmmanuel Vadot		smp-sram@0 {
731f126890aSEmmanuel Vadot			compatible = "rockchip,rk3066-smp-sram";
732f126890aSEmmanuel Vadot			reg = <0x00 0x10>;
733f126890aSEmmanuel Vadot		};
734f126890aSEmmanuel Vadot	};
735f126890aSEmmanuel Vadot
736f126890aSEmmanuel Vadot	pmu_sram: sram@ff720000 {
737f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-pmu-sram", "mmio-sram";
738f126890aSEmmanuel Vadot		reg = <0x0 0xff720000 0x0 0x1000>;
739f126890aSEmmanuel Vadot	};
740f126890aSEmmanuel Vadot
741f126890aSEmmanuel Vadot	pmu: power-management@ff730000 {
742f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-pmu", "syscon", "simple-mfd";
743f126890aSEmmanuel Vadot		reg = <0x0 0xff730000 0x0 0x100>;
744f126890aSEmmanuel Vadot
745f126890aSEmmanuel Vadot		power: power-controller {
746f126890aSEmmanuel Vadot			compatible = "rockchip,rk3288-power-controller";
747f126890aSEmmanuel Vadot			#power-domain-cells = <1>;
748f126890aSEmmanuel Vadot			#address-cells = <1>;
749f126890aSEmmanuel Vadot			#size-cells = <0>;
750f126890aSEmmanuel Vadot
751f126890aSEmmanuel Vadot			assigned-clocks = <&cru SCLK_EDP_24M>;
752f126890aSEmmanuel Vadot			assigned-clock-parents = <&xin24m>;
753f126890aSEmmanuel Vadot
754f126890aSEmmanuel Vadot			/*
755f126890aSEmmanuel Vadot			 * Note: Although SCLK_* are the working clocks
756f126890aSEmmanuel Vadot			 * of device without including on the NOC, needed for
757f126890aSEmmanuel Vadot			 * synchronous reset.
758f126890aSEmmanuel Vadot			 *
759f126890aSEmmanuel Vadot			 * The clocks on the which NOC:
760f126890aSEmmanuel Vadot			 * ACLK_IEP/ACLK_VIP/ACLK_VOP0 are on ACLK_VIO0_NIU.
761f126890aSEmmanuel Vadot			 * ACLK_ISP/ACLK_VOP1 are on ACLK_VIO1_NIU.
762f126890aSEmmanuel Vadot			 * ACLK_RGA is on ACLK_RGA_NIU.
763f126890aSEmmanuel Vadot			 * The others (HCLK_*,PLCK_*) are on HCLK_VIO_NIU.
764f126890aSEmmanuel Vadot			 *
765f126890aSEmmanuel Vadot			 * Which clock are device clocks:
766f126890aSEmmanuel Vadot			 *	clocks		devices
767f126890aSEmmanuel Vadot			 *	*_IEP		IEP:Image Enhancement Processor
768f126890aSEmmanuel Vadot			 *	*_ISP		ISP:Image Signal Processing
769f126890aSEmmanuel Vadot			 *	*_VIP		VIP:Video Input Processor
770f126890aSEmmanuel Vadot			 *	*_VOP*		VOP:Visual Output Processor
771f126890aSEmmanuel Vadot			 *	*_RGA		RGA
772f126890aSEmmanuel Vadot			 *	*_EDP*		EDP
773f126890aSEmmanuel Vadot			 *	*_LVDS_*	LVDS
774f126890aSEmmanuel Vadot			 *	*_HDMI		HDMI
775f126890aSEmmanuel Vadot			 *	*_MIPI_*	MIPI
776f126890aSEmmanuel Vadot			 */
777f126890aSEmmanuel Vadot			power-domain@RK3288_PD_VIO {
778f126890aSEmmanuel Vadot				reg = <RK3288_PD_VIO>;
779f126890aSEmmanuel Vadot				clocks = <&cru ACLK_IEP>,
780f126890aSEmmanuel Vadot					 <&cru ACLK_ISP>,
781f126890aSEmmanuel Vadot					 <&cru ACLK_RGA>,
782f126890aSEmmanuel Vadot					 <&cru ACLK_VIP>,
783f126890aSEmmanuel Vadot					 <&cru ACLK_VOP0>,
784f126890aSEmmanuel Vadot					 <&cru ACLK_VOP1>,
785f126890aSEmmanuel Vadot					 <&cru DCLK_VOP0>,
786f126890aSEmmanuel Vadot					 <&cru DCLK_VOP1>,
787f126890aSEmmanuel Vadot					 <&cru HCLK_IEP>,
788f126890aSEmmanuel Vadot					 <&cru HCLK_ISP>,
789f126890aSEmmanuel Vadot					 <&cru HCLK_RGA>,
790f126890aSEmmanuel Vadot					 <&cru HCLK_VIP>,
791f126890aSEmmanuel Vadot					 <&cru HCLK_VOP0>,
792f126890aSEmmanuel Vadot					 <&cru HCLK_VOP1>,
793f126890aSEmmanuel Vadot					 <&cru PCLK_EDP_CTRL>,
794f126890aSEmmanuel Vadot					 <&cru PCLK_HDMI_CTRL>,
795f126890aSEmmanuel Vadot					 <&cru PCLK_LVDS_PHY>,
796f126890aSEmmanuel Vadot					 <&cru PCLK_MIPI_CSI>,
797f126890aSEmmanuel Vadot					 <&cru PCLK_MIPI_DSI0>,
798f126890aSEmmanuel Vadot					 <&cru PCLK_MIPI_DSI1>,
799f126890aSEmmanuel Vadot					 <&cru SCLK_EDP_24M>,
800f126890aSEmmanuel Vadot					 <&cru SCLK_EDP>,
801f126890aSEmmanuel Vadot					 <&cru SCLK_ISP_JPE>,
802f126890aSEmmanuel Vadot					 <&cru SCLK_ISP>,
803f126890aSEmmanuel Vadot					 <&cru SCLK_RGA>;
804f126890aSEmmanuel Vadot				pm_qos = <&qos_vio0_iep>,
805f126890aSEmmanuel Vadot					 <&qos_vio1_vop>,
806f126890aSEmmanuel Vadot					 <&qos_vio1_isp_w0>,
807f126890aSEmmanuel Vadot					 <&qos_vio1_isp_w1>,
808f126890aSEmmanuel Vadot					 <&qos_vio0_vop>,
809f126890aSEmmanuel Vadot					 <&qos_vio0_vip>,
810f126890aSEmmanuel Vadot					 <&qos_vio2_rga_r>,
811f126890aSEmmanuel Vadot					 <&qos_vio2_rga_w>,
812f126890aSEmmanuel Vadot					 <&qos_vio1_isp_r>;
813f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
814f126890aSEmmanuel Vadot			};
815f126890aSEmmanuel Vadot
816f126890aSEmmanuel Vadot			/*
817f126890aSEmmanuel Vadot			 * Note: The following 3 are HEVC(H.265) clocks,
818f126890aSEmmanuel Vadot			 * and on the ACLK_HEVC_NIU (NOC).
819f126890aSEmmanuel Vadot			 */
820f126890aSEmmanuel Vadot			power-domain@RK3288_PD_HEVC {
821f126890aSEmmanuel Vadot				reg = <RK3288_PD_HEVC>;
822f126890aSEmmanuel Vadot				clocks = <&cru ACLK_HEVC>,
823f126890aSEmmanuel Vadot					 <&cru SCLK_HEVC_CABAC>,
824f126890aSEmmanuel Vadot					 <&cru SCLK_HEVC_CORE>;
825f126890aSEmmanuel Vadot				pm_qos = <&qos_hevc_r>,
826f126890aSEmmanuel Vadot					 <&qos_hevc_w>;
827f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
828f126890aSEmmanuel Vadot			};
829f126890aSEmmanuel Vadot
830f126890aSEmmanuel Vadot			/*
831f126890aSEmmanuel Vadot			 * Note: ACLK_VCODEC/HCLK_VCODEC are VCODEC
832f126890aSEmmanuel Vadot			 * (video endecoder & decoder) clocks that on the
833f126890aSEmmanuel Vadot			 * ACLK_VCODEC_NIU and HCLK_VCODEC_NIU (NOC).
834f126890aSEmmanuel Vadot			 */
835f126890aSEmmanuel Vadot			power-domain@RK3288_PD_VIDEO {
836f126890aSEmmanuel Vadot				reg = <RK3288_PD_VIDEO>;
837f126890aSEmmanuel Vadot				clocks = <&cru ACLK_VCODEC>,
838f126890aSEmmanuel Vadot					 <&cru HCLK_VCODEC>;
839f126890aSEmmanuel Vadot				pm_qos = <&qos_video>;
840f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
841f126890aSEmmanuel Vadot			};
842f126890aSEmmanuel Vadot
843f126890aSEmmanuel Vadot			/*
844f126890aSEmmanuel Vadot			 * Note: ACLK_GPU is the GPU clock,
845f126890aSEmmanuel Vadot			 * and on the ACLK_GPU_NIU (NOC).
846f126890aSEmmanuel Vadot			 */
847f126890aSEmmanuel Vadot			power-domain@RK3288_PD_GPU {
848f126890aSEmmanuel Vadot				reg = <RK3288_PD_GPU>;
849f126890aSEmmanuel Vadot				clocks = <&cru ACLK_GPU>;
850f126890aSEmmanuel Vadot				pm_qos = <&qos_gpu_r>,
851f126890aSEmmanuel Vadot					 <&qos_gpu_w>;
852f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
853f126890aSEmmanuel Vadot			};
854f126890aSEmmanuel Vadot		};
855f126890aSEmmanuel Vadot
856f126890aSEmmanuel Vadot		reboot-mode {
857f126890aSEmmanuel Vadot			compatible = "syscon-reboot-mode";
858f126890aSEmmanuel Vadot			offset = <0x94>;
859f126890aSEmmanuel Vadot			mode-normal = <BOOT_NORMAL>;
860f126890aSEmmanuel Vadot			mode-recovery = <BOOT_RECOVERY>;
861f126890aSEmmanuel Vadot			mode-bootloader = <BOOT_FASTBOOT>;
862f126890aSEmmanuel Vadot			mode-loader = <BOOT_BL_DOWNLOAD>;
863f126890aSEmmanuel Vadot		};
864f126890aSEmmanuel Vadot	};
865f126890aSEmmanuel Vadot
866f126890aSEmmanuel Vadot	sgrf: syscon@ff740000 {
867f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-sgrf", "syscon";
868f126890aSEmmanuel Vadot		reg = <0x0 0xff740000 0x0 0x1000>;
869f126890aSEmmanuel Vadot	};
870f126890aSEmmanuel Vadot
871f126890aSEmmanuel Vadot	cru: clock-controller@ff760000 {
872f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-cru";
873f126890aSEmmanuel Vadot		reg = <0x0 0xff760000 0x0 0x1000>;
874f126890aSEmmanuel Vadot		clocks = <&xin24m>;
875f126890aSEmmanuel Vadot		clock-names = "xin24m";
876f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
877f126890aSEmmanuel Vadot		#clock-cells = <1>;
878f126890aSEmmanuel Vadot		#reset-cells = <1>;
879f126890aSEmmanuel Vadot		assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>,
880f126890aSEmmanuel Vadot				  <&cru PLL_NPLL>, <&cru ACLK_CPU>,
881f126890aSEmmanuel Vadot				  <&cru HCLK_CPU>, <&cru PCLK_CPU>,
882f126890aSEmmanuel Vadot				  <&cru ACLK_PERI>, <&cru HCLK_PERI>,
883f126890aSEmmanuel Vadot				  <&cru PCLK_PERI>;
884f126890aSEmmanuel Vadot		assigned-clock-rates = <594000000>, <400000000>,
885f126890aSEmmanuel Vadot				       <500000000>, <300000000>,
886f126890aSEmmanuel Vadot				       <150000000>, <75000000>,
887f126890aSEmmanuel Vadot				       <300000000>, <150000000>,
888f126890aSEmmanuel Vadot				       <75000000>;
889f126890aSEmmanuel Vadot	};
890f126890aSEmmanuel Vadot
891f126890aSEmmanuel Vadot	grf: syscon@ff770000 {
892f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-grf", "syscon", "simple-mfd";
893f126890aSEmmanuel Vadot		reg = <0x0 0xff770000 0x0 0x1000>;
894f126890aSEmmanuel Vadot
895f126890aSEmmanuel Vadot		edp_phy: edp-phy {
896f126890aSEmmanuel Vadot			compatible = "rockchip,rk3288-dp-phy";
897f126890aSEmmanuel Vadot			clocks = <&cru SCLK_EDP_24M>;
898f126890aSEmmanuel Vadot			clock-names = "24m";
899f126890aSEmmanuel Vadot			#phy-cells = <0>;
900f126890aSEmmanuel Vadot			status = "disabled";
901f126890aSEmmanuel Vadot		};
902f126890aSEmmanuel Vadot
903f126890aSEmmanuel Vadot		io_domains: io-domains {
904f126890aSEmmanuel Vadot			compatible = "rockchip,rk3288-io-voltage-domain";
905f126890aSEmmanuel Vadot			status = "disabled";
906f126890aSEmmanuel Vadot		};
907f126890aSEmmanuel Vadot
908f126890aSEmmanuel Vadot		usbphy: usbphy {
909f126890aSEmmanuel Vadot			compatible = "rockchip,rk3288-usb-phy";
910f126890aSEmmanuel Vadot			#address-cells = <1>;
911f126890aSEmmanuel Vadot			#size-cells = <0>;
912f126890aSEmmanuel Vadot			status = "disabled";
913f126890aSEmmanuel Vadot
914f126890aSEmmanuel Vadot			usbphy0: usb-phy@320 {
915f126890aSEmmanuel Vadot				#phy-cells = <0>;
916f126890aSEmmanuel Vadot				reg = <0x320>;
917f126890aSEmmanuel Vadot				clocks = <&cru SCLK_OTGPHY0>;
918f126890aSEmmanuel Vadot				clock-names = "phyclk";
919f126890aSEmmanuel Vadot				#clock-cells = <0>;
920f126890aSEmmanuel Vadot				resets = <&cru SRST_USBOTG_PHY>;
921f126890aSEmmanuel Vadot				reset-names = "phy-reset";
922f126890aSEmmanuel Vadot			};
923f126890aSEmmanuel Vadot
924f126890aSEmmanuel Vadot			usbphy1: usb-phy@334 {
925f126890aSEmmanuel Vadot				#phy-cells = <0>;
926f126890aSEmmanuel Vadot				reg = <0x334>;
927f126890aSEmmanuel Vadot				clocks = <&cru SCLK_OTGPHY1>;
928f126890aSEmmanuel Vadot				clock-names = "phyclk";
929f126890aSEmmanuel Vadot				#clock-cells = <0>;
930f126890aSEmmanuel Vadot				resets = <&cru SRST_USBHOST0_PHY>;
931f126890aSEmmanuel Vadot				reset-names = "phy-reset";
932f126890aSEmmanuel Vadot			};
933f126890aSEmmanuel Vadot
934f126890aSEmmanuel Vadot			usbphy2: usb-phy@348 {
935f126890aSEmmanuel Vadot				#phy-cells = <0>;
936f126890aSEmmanuel Vadot				reg = <0x348>;
937f126890aSEmmanuel Vadot				clocks = <&cru SCLK_OTGPHY2>;
938f126890aSEmmanuel Vadot				clock-names = "phyclk";
939f126890aSEmmanuel Vadot				#clock-cells = <0>;
940f126890aSEmmanuel Vadot				resets = <&cru SRST_USBHOST1_PHY>;
941f126890aSEmmanuel Vadot				reset-names = "phy-reset";
942f126890aSEmmanuel Vadot			};
943f126890aSEmmanuel Vadot		};
944f126890aSEmmanuel Vadot	};
945f126890aSEmmanuel Vadot
946f126890aSEmmanuel Vadot	wdt: watchdog@ff800000 {
947f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-wdt", "snps,dw-wdt";
948f126890aSEmmanuel Vadot		reg = <0x0 0xff800000 0x0 0x100>;
949f126890aSEmmanuel Vadot		clocks = <&cru PCLK_WDT>;
950f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
951f126890aSEmmanuel Vadot		status = "disabled";
952f126890aSEmmanuel Vadot	};
953f126890aSEmmanuel Vadot
954f126890aSEmmanuel Vadot	spdif: sound@ff8b0000 {
955f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-spdif", "rockchip,rk3066-spdif";
956f126890aSEmmanuel Vadot		reg = <0x0 0xff8b0000 0x0 0x10000>;
957f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
958f126890aSEmmanuel Vadot		clocks = <&cru SCLK_SPDIF8CH>, <&cru HCLK_SPDIF8CH>;
959f126890aSEmmanuel Vadot		clock-names = "mclk", "hclk";
960f126890aSEmmanuel Vadot		dmas = <&dmac_bus_s 3>;
961f126890aSEmmanuel Vadot		dma-names = "tx";
962f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
963f126890aSEmmanuel Vadot		pinctrl-names = "default";
964f126890aSEmmanuel Vadot		pinctrl-0 = <&spdif_tx>;
965f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
966f126890aSEmmanuel Vadot		status = "disabled";
967f126890aSEmmanuel Vadot	};
968f126890aSEmmanuel Vadot
969f126890aSEmmanuel Vadot	i2s: i2s@ff890000 {
970f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
971f126890aSEmmanuel Vadot		reg = <0x0 0xff890000 0x0 0x10000>;
972f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
973f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
974f126890aSEmmanuel Vadot		clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>;
975f126890aSEmmanuel Vadot		clock-names = "i2s_clk", "i2s_hclk";
976f126890aSEmmanuel Vadot		dmas = <&dmac_bus_s 0>, <&dmac_bus_s 1>;
977f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
978f126890aSEmmanuel Vadot		pinctrl-names = "default";
979f126890aSEmmanuel Vadot		pinctrl-0 = <&i2s0_bus>;
980f126890aSEmmanuel Vadot		rockchip,playback-channels = <8>;
981f126890aSEmmanuel Vadot		rockchip,capture-channels = <2>;
982f126890aSEmmanuel Vadot		status = "disabled";
983f126890aSEmmanuel Vadot	};
984f126890aSEmmanuel Vadot
985f126890aSEmmanuel Vadot	crypto: crypto@ff8a0000 {
986f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-crypto";
987f126890aSEmmanuel Vadot		reg = <0x0 0xff8a0000 0x0 0x4000>;
988f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
989f126890aSEmmanuel Vadot		clocks = <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO>,
990f126890aSEmmanuel Vadot			 <&cru SCLK_CRYPTO>, <&cru ACLK_DMAC1>;
991f126890aSEmmanuel Vadot		clock-names = "aclk", "hclk", "sclk", "apb_pclk";
992f126890aSEmmanuel Vadot		resets = <&cru SRST_CRYPTO>;
993f126890aSEmmanuel Vadot		reset-names = "crypto-rst";
994f126890aSEmmanuel Vadot	};
995f126890aSEmmanuel Vadot
996f126890aSEmmanuel Vadot	iep_mmu: iommu@ff900800 {
997f126890aSEmmanuel Vadot		compatible = "rockchip,iommu";
998f126890aSEmmanuel Vadot		reg = <0x0 0xff900800 0x0 0x40>;
999f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
1000f126890aSEmmanuel Vadot		clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>;
1001f126890aSEmmanuel Vadot		clock-names = "aclk", "iface";
1002f126890aSEmmanuel Vadot		#iommu-cells = <0>;
1003f126890aSEmmanuel Vadot		status = "disabled";
1004f126890aSEmmanuel Vadot	};
1005f126890aSEmmanuel Vadot
1006f126890aSEmmanuel Vadot	isp_mmu: iommu@ff914000 {
1007f126890aSEmmanuel Vadot		compatible = "rockchip,iommu";
1008f126890aSEmmanuel Vadot		reg = <0x0 0xff914000 0x0 0x100>, <0x0 0xff915000 0x0 0x100>;
1009f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1010f126890aSEmmanuel Vadot		clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>;
1011f126890aSEmmanuel Vadot		clock-names = "aclk", "iface";
1012f126890aSEmmanuel Vadot		#iommu-cells = <0>;
1013f126890aSEmmanuel Vadot		rockchip,disable-mmu-reset;
1014f126890aSEmmanuel Vadot		status = "disabled";
1015f126890aSEmmanuel Vadot	};
1016f126890aSEmmanuel Vadot
1017f126890aSEmmanuel Vadot	rga: rga@ff920000 {
1018f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-rga";
1019f126890aSEmmanuel Vadot		reg = <0x0 0xff920000 0x0 0x180>;
1020f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
1021f126890aSEmmanuel Vadot		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>;
1022f126890aSEmmanuel Vadot		clock-names = "aclk", "hclk", "sclk";
1023f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIO>;
1024f126890aSEmmanuel Vadot		resets = <&cru SRST_RGA_CORE>, <&cru SRST_RGA_AXI>, <&cru SRST_RGA_AHB>;
1025f126890aSEmmanuel Vadot		reset-names = "core", "axi", "ahb";
1026f126890aSEmmanuel Vadot	};
1027f126890aSEmmanuel Vadot
1028f126890aSEmmanuel Vadot	vopb: vop@ff930000 {
1029f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-vop";
1030f126890aSEmmanuel Vadot		reg = <0x0 0xff930000 0x0 0x19c>, <0x0 0xff931000 0x0 0x1000>;
1031f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
1032f126890aSEmmanuel Vadot		clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
1033f126890aSEmmanuel Vadot		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1034f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIO>;
1035f126890aSEmmanuel Vadot		resets = <&cru SRST_LCDC0_AXI>, <&cru SRST_LCDC0_AHB>, <&cru SRST_LCDC0_DCLK>;
1036f126890aSEmmanuel Vadot		reset-names = "axi", "ahb", "dclk";
1037f126890aSEmmanuel Vadot		iommus = <&vopb_mmu>;
1038f126890aSEmmanuel Vadot		status = "disabled";
1039f126890aSEmmanuel Vadot
1040f126890aSEmmanuel Vadot		vopb_out: port {
1041f126890aSEmmanuel Vadot			#address-cells = <1>;
1042f126890aSEmmanuel Vadot			#size-cells = <0>;
1043f126890aSEmmanuel Vadot
1044f126890aSEmmanuel Vadot			vopb_out_hdmi: endpoint@0 {
1045f126890aSEmmanuel Vadot				reg = <0>;
1046f126890aSEmmanuel Vadot				remote-endpoint = <&hdmi_in_vopb>;
1047f126890aSEmmanuel Vadot			};
1048f126890aSEmmanuel Vadot
1049f126890aSEmmanuel Vadot			vopb_out_edp: endpoint@1 {
1050f126890aSEmmanuel Vadot				reg = <1>;
1051f126890aSEmmanuel Vadot				remote-endpoint = <&edp_in_vopb>;
1052f126890aSEmmanuel Vadot			};
1053f126890aSEmmanuel Vadot
1054f126890aSEmmanuel Vadot			vopb_out_mipi: endpoint@2 {
1055f126890aSEmmanuel Vadot				reg = <2>;
1056f126890aSEmmanuel Vadot				remote-endpoint = <&mipi_in_vopb>;
1057f126890aSEmmanuel Vadot			};
1058f126890aSEmmanuel Vadot
1059f126890aSEmmanuel Vadot			vopb_out_lvds: endpoint@3 {
1060f126890aSEmmanuel Vadot				reg = <3>;
1061f126890aSEmmanuel Vadot				remote-endpoint = <&lvds_in_vopb>;
1062f126890aSEmmanuel Vadot			};
1063f126890aSEmmanuel Vadot		};
1064f126890aSEmmanuel Vadot	};
1065f126890aSEmmanuel Vadot
1066f126890aSEmmanuel Vadot	vopb_mmu: iommu@ff930300 {
1067f126890aSEmmanuel Vadot		compatible = "rockchip,iommu";
1068f126890aSEmmanuel Vadot		reg = <0x0 0xff930300 0x0 0x100>;
1069f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
1070f126890aSEmmanuel Vadot		clocks = <&cru ACLK_VOP0>, <&cru HCLK_VOP0>;
1071f126890aSEmmanuel Vadot		clock-names = "aclk", "iface";
1072f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIO>;
1073f126890aSEmmanuel Vadot		#iommu-cells = <0>;
1074f126890aSEmmanuel Vadot		status = "disabled";
1075f126890aSEmmanuel Vadot	};
1076f126890aSEmmanuel Vadot
1077f126890aSEmmanuel Vadot	vopl: vop@ff940000 {
1078f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-vop";
1079f126890aSEmmanuel Vadot		reg = <0x0 0xff940000 0x0 0x19c>, <0x0 0xff941000 0x0 0x1000>;
1080f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
1081f126890aSEmmanuel Vadot		clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>;
1082f126890aSEmmanuel Vadot		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1083f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIO>;
1084f126890aSEmmanuel Vadot		resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>;
1085f126890aSEmmanuel Vadot		reset-names = "axi", "ahb", "dclk";
1086f126890aSEmmanuel Vadot		iommus = <&vopl_mmu>;
1087f126890aSEmmanuel Vadot		status = "disabled";
1088f126890aSEmmanuel Vadot
1089f126890aSEmmanuel Vadot		vopl_out: port {
1090f126890aSEmmanuel Vadot			#address-cells = <1>;
1091f126890aSEmmanuel Vadot			#size-cells = <0>;
1092f126890aSEmmanuel Vadot
1093f126890aSEmmanuel Vadot			vopl_out_hdmi: endpoint@0 {
1094f126890aSEmmanuel Vadot				reg = <0>;
1095f126890aSEmmanuel Vadot				remote-endpoint = <&hdmi_in_vopl>;
1096f126890aSEmmanuel Vadot			};
1097f126890aSEmmanuel Vadot
1098f126890aSEmmanuel Vadot			vopl_out_edp: endpoint@1 {
1099f126890aSEmmanuel Vadot				reg = <1>;
1100f126890aSEmmanuel Vadot				remote-endpoint = <&edp_in_vopl>;
1101f126890aSEmmanuel Vadot			};
1102f126890aSEmmanuel Vadot
1103f126890aSEmmanuel Vadot			vopl_out_mipi: endpoint@2 {
1104f126890aSEmmanuel Vadot				reg = <2>;
1105f126890aSEmmanuel Vadot				remote-endpoint = <&mipi_in_vopl>;
1106f126890aSEmmanuel Vadot			};
1107f126890aSEmmanuel Vadot
1108f126890aSEmmanuel Vadot			vopl_out_lvds: endpoint@3 {
1109f126890aSEmmanuel Vadot				reg = <3>;
1110f126890aSEmmanuel Vadot				remote-endpoint = <&lvds_in_vopl>;
1111f126890aSEmmanuel Vadot			};
1112f126890aSEmmanuel Vadot		};
1113f126890aSEmmanuel Vadot	};
1114f126890aSEmmanuel Vadot
1115f126890aSEmmanuel Vadot	vopl_mmu: iommu@ff940300 {
1116f126890aSEmmanuel Vadot		compatible = "rockchip,iommu";
1117f126890aSEmmanuel Vadot		reg = <0x0 0xff940300 0x0 0x100>;
1118f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
1119f126890aSEmmanuel Vadot		clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>;
1120f126890aSEmmanuel Vadot		clock-names = "aclk", "iface";
1121f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIO>;
1122f126890aSEmmanuel Vadot		#iommu-cells = <0>;
1123f126890aSEmmanuel Vadot		status = "disabled";
1124f126890aSEmmanuel Vadot	};
1125f126890aSEmmanuel Vadot
1126f126890aSEmmanuel Vadot	mipi_dsi: dsi@ff960000 {
1127f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-mipi-dsi", "snps,dw-mipi-dsi";
1128f126890aSEmmanuel Vadot		reg = <0x0 0xff960000 0x0 0x4000>;
1129f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
1130f126890aSEmmanuel Vadot		clocks = <&cru SCLK_MIPIDSI_24M>, <&cru PCLK_MIPI_DSI0>;
1131f126890aSEmmanuel Vadot		clock-names = "ref", "pclk";
1132f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIO>;
1133f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
1134f126890aSEmmanuel Vadot		status = "disabled";
1135f126890aSEmmanuel Vadot
1136f126890aSEmmanuel Vadot		ports {
1137f126890aSEmmanuel Vadot			#address-cells = <1>;
1138f126890aSEmmanuel Vadot			#size-cells = <0>;
1139f126890aSEmmanuel Vadot
1140f126890aSEmmanuel Vadot			mipi_in: port@0 {
1141f126890aSEmmanuel Vadot				reg = <0>;
1142f126890aSEmmanuel Vadot				#address-cells = <1>;
1143f126890aSEmmanuel Vadot				#size-cells = <0>;
1144f126890aSEmmanuel Vadot
1145f126890aSEmmanuel Vadot				mipi_in_vopb: endpoint@0 {
1146f126890aSEmmanuel Vadot					reg = <0>;
1147f126890aSEmmanuel Vadot					remote-endpoint = <&vopb_out_mipi>;
1148f126890aSEmmanuel Vadot				};
1149f126890aSEmmanuel Vadot
1150f126890aSEmmanuel Vadot				mipi_in_vopl: endpoint@1 {
1151f126890aSEmmanuel Vadot					reg = <1>;
1152f126890aSEmmanuel Vadot					remote-endpoint = <&vopl_out_mipi>;
1153f126890aSEmmanuel Vadot				};
1154f126890aSEmmanuel Vadot			};
1155f126890aSEmmanuel Vadot
1156f126890aSEmmanuel Vadot			mipi_out: port@1 {
1157f126890aSEmmanuel Vadot				reg = <1>;
1158f126890aSEmmanuel Vadot			};
1159f126890aSEmmanuel Vadot		};
1160f126890aSEmmanuel Vadot	};
1161f126890aSEmmanuel Vadot
1162f126890aSEmmanuel Vadot	lvds: lvds@ff96c000 {
1163f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-lvds";
1164f126890aSEmmanuel Vadot		reg = <0x0 0xff96c000 0x0 0x4000>;
1165f126890aSEmmanuel Vadot		clocks = <&cru PCLK_LVDS_PHY>;
1166f126890aSEmmanuel Vadot		clock-names = "pclk_lvds";
1167f126890aSEmmanuel Vadot		pinctrl-names = "lcdc";
1168f126890aSEmmanuel Vadot		pinctrl-0 = <&lcdc_ctl>;
1169f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIO>;
1170f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
1171f126890aSEmmanuel Vadot		status = "disabled";
1172f126890aSEmmanuel Vadot
1173f126890aSEmmanuel Vadot		ports {
1174f126890aSEmmanuel Vadot			#address-cells = <1>;
1175f126890aSEmmanuel Vadot			#size-cells = <0>;
1176f126890aSEmmanuel Vadot
1177f126890aSEmmanuel Vadot			lvds_in: port@0 {
1178f126890aSEmmanuel Vadot				reg = <0>;
1179f126890aSEmmanuel Vadot				#address-cells = <1>;
1180f126890aSEmmanuel Vadot				#size-cells = <0>;
1181f126890aSEmmanuel Vadot
1182f126890aSEmmanuel Vadot				lvds_in_vopb: endpoint@0 {
1183f126890aSEmmanuel Vadot					reg = <0>;
1184f126890aSEmmanuel Vadot					remote-endpoint = <&vopb_out_lvds>;
1185f126890aSEmmanuel Vadot				};
1186f126890aSEmmanuel Vadot
1187f126890aSEmmanuel Vadot				lvds_in_vopl: endpoint@1 {
1188f126890aSEmmanuel Vadot					reg = <1>;
1189f126890aSEmmanuel Vadot					remote-endpoint = <&vopl_out_lvds>;
1190f126890aSEmmanuel Vadot				};
1191f126890aSEmmanuel Vadot			};
1192f126890aSEmmanuel Vadot
1193f126890aSEmmanuel Vadot			lvds_out: port@1 {
1194f126890aSEmmanuel Vadot				reg = <1>;
1195f126890aSEmmanuel Vadot			};
1196f126890aSEmmanuel Vadot		};
1197f126890aSEmmanuel Vadot	};
1198f126890aSEmmanuel Vadot
1199f126890aSEmmanuel Vadot	edp: dp@ff970000 {
1200f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-dp";
1201f126890aSEmmanuel Vadot		reg = <0x0 0xff970000 0x0 0x4000>;
1202f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1203f126890aSEmmanuel Vadot		clocks = <&cru SCLK_EDP>, <&cru PCLK_EDP_CTRL>;
1204f126890aSEmmanuel Vadot		clock-names = "dp", "pclk";
1205f126890aSEmmanuel Vadot		phys = <&edp_phy>;
1206f126890aSEmmanuel Vadot		phy-names = "dp";
1207f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIO>;
1208f126890aSEmmanuel Vadot		resets = <&cru SRST_EDP>;
1209f126890aSEmmanuel Vadot		reset-names = "dp";
1210f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
1211f126890aSEmmanuel Vadot		status = "disabled";
1212f126890aSEmmanuel Vadot
1213f126890aSEmmanuel Vadot		ports {
1214f126890aSEmmanuel Vadot			#address-cells = <1>;
1215f126890aSEmmanuel Vadot			#size-cells = <0>;
1216f126890aSEmmanuel Vadot
1217f126890aSEmmanuel Vadot			edp_in: port@0 {
1218f126890aSEmmanuel Vadot				reg = <0>;
1219f126890aSEmmanuel Vadot				#address-cells = <1>;
1220f126890aSEmmanuel Vadot				#size-cells = <0>;
1221f126890aSEmmanuel Vadot
1222f126890aSEmmanuel Vadot				edp_in_vopb: endpoint@0 {
1223f126890aSEmmanuel Vadot					reg = <0>;
1224f126890aSEmmanuel Vadot					remote-endpoint = <&vopb_out_edp>;
1225f126890aSEmmanuel Vadot				};
1226f126890aSEmmanuel Vadot
1227f126890aSEmmanuel Vadot				edp_in_vopl: endpoint@1 {
1228f126890aSEmmanuel Vadot					reg = <1>;
1229f126890aSEmmanuel Vadot					remote-endpoint = <&vopl_out_edp>;
1230f126890aSEmmanuel Vadot				};
1231f126890aSEmmanuel Vadot			};
1232f126890aSEmmanuel Vadot
1233f126890aSEmmanuel Vadot			edp_out: port@1 {
1234f126890aSEmmanuel Vadot				reg = <1>;
1235f126890aSEmmanuel Vadot			};
1236f126890aSEmmanuel Vadot		};
1237f126890aSEmmanuel Vadot	};
1238f126890aSEmmanuel Vadot
1239f126890aSEmmanuel Vadot	hdmi: hdmi@ff980000 {
1240f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-dw-hdmi";
1241f126890aSEmmanuel Vadot		reg = <0x0 0xff980000 0x0 0x20000>;
1242f126890aSEmmanuel Vadot		reg-io-width = <4>;
1243f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1244f126890aSEmmanuel Vadot		clocks = <&cru  PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>, <&cru SCLK_HDMI_CEC>;
1245f126890aSEmmanuel Vadot		clock-names = "iahb", "isfr", "cec";
1246f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIO>;
1247*01950c46SEmmanuel Vadot		rockchip,grf = <&grf>;
1248*01950c46SEmmanuel Vadot		#sound-dai-cells = <0>;
1249f126890aSEmmanuel Vadot		status = "disabled";
1250f126890aSEmmanuel Vadot
1251f126890aSEmmanuel Vadot		ports {
1252f126890aSEmmanuel Vadot			#address-cells = <1>;
1253f126890aSEmmanuel Vadot			#size-cells = <0>;
1254*01950c46SEmmanuel Vadot
1255*01950c46SEmmanuel Vadot			hdmi_in: port@0 {
1256*01950c46SEmmanuel Vadot				reg = <0>;
1257*01950c46SEmmanuel Vadot				#address-cells = <1>;
1258*01950c46SEmmanuel Vadot				#size-cells = <0>;
1259*01950c46SEmmanuel Vadot
1260f126890aSEmmanuel Vadot				hdmi_in_vopb: endpoint@0 {
1261f126890aSEmmanuel Vadot					reg = <0>;
1262f126890aSEmmanuel Vadot					remote-endpoint = <&vopb_out_hdmi>;
1263f126890aSEmmanuel Vadot				};
1264*01950c46SEmmanuel Vadot
1265f126890aSEmmanuel Vadot				hdmi_in_vopl: endpoint@1 {
1266f126890aSEmmanuel Vadot					reg = <1>;
1267f126890aSEmmanuel Vadot					remote-endpoint = <&vopl_out_hdmi>;
1268f126890aSEmmanuel Vadot				};
1269f126890aSEmmanuel Vadot			};
1270*01950c46SEmmanuel Vadot
1271*01950c46SEmmanuel Vadot			hdmi_out: port@1 {
1272*01950c46SEmmanuel Vadot				reg = <1>;
1273*01950c46SEmmanuel Vadot			};
1274f126890aSEmmanuel Vadot		};
1275f126890aSEmmanuel Vadot	};
1276f126890aSEmmanuel Vadot
1277f126890aSEmmanuel Vadot	vpu: video-codec@ff9a0000 {
1278f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-vpu";
1279f126890aSEmmanuel Vadot		reg = <0x0 0xff9a0000 0x0 0x800>;
1280f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
1281f126890aSEmmanuel Vadot			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1282f126890aSEmmanuel Vadot		interrupt-names = "vepu", "vdpu";
1283f126890aSEmmanuel Vadot		clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
1284f126890aSEmmanuel Vadot		clock-names = "aclk", "hclk";
1285f126890aSEmmanuel Vadot		iommus = <&vpu_mmu>;
1286f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIDEO>;
1287f126890aSEmmanuel Vadot	};
1288f126890aSEmmanuel Vadot
1289f126890aSEmmanuel Vadot	vpu_mmu: iommu@ff9a0800 {
1290f126890aSEmmanuel Vadot		compatible = "rockchip,iommu";
1291f126890aSEmmanuel Vadot		reg = <0x0 0xff9a0800 0x0 0x100>;
1292f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1293f126890aSEmmanuel Vadot		clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
1294f126890aSEmmanuel Vadot		clock-names = "aclk", "iface";
1295f126890aSEmmanuel Vadot		#iommu-cells = <0>;
1296f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_VIDEO>;
1297f126890aSEmmanuel Vadot	};
1298f126890aSEmmanuel Vadot
1299f126890aSEmmanuel Vadot	hevc_mmu: iommu@ff9c0440 {
1300f126890aSEmmanuel Vadot		compatible = "rockchip,iommu";
1301f126890aSEmmanuel Vadot		reg = <0x0 0xff9c0440 0x0 0x40>, <0x0 0xff9c0480 0x0 0x40>;
1302f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
1303f126890aSEmmanuel Vadot		clocks = <&cru ACLK_HEVC>, <&cru HCLK_HEVC>;
1304f126890aSEmmanuel Vadot		clock-names = "aclk", "iface";
1305f126890aSEmmanuel Vadot		#iommu-cells = <0>;
1306f126890aSEmmanuel Vadot		status = "disabled";
1307f126890aSEmmanuel Vadot	};
1308f126890aSEmmanuel Vadot
1309f126890aSEmmanuel Vadot	gpu: gpu@ffa30000 {
1310f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-mali", "arm,mali-t760";
1311f126890aSEmmanuel Vadot		reg = <0x0 0xffa30000 0x0 0x10000>;
1312f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
1313f126890aSEmmanuel Vadot			     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
1314f126890aSEmmanuel Vadot			     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1315f126890aSEmmanuel Vadot		interrupt-names = "job", "mmu", "gpu";
1316f126890aSEmmanuel Vadot		clocks = <&cru ACLK_GPU>;
1317f126890aSEmmanuel Vadot		operating-points-v2 = <&gpu_opp_table>;
1318f126890aSEmmanuel Vadot		#cooling-cells = <2>; /* min followed by max */
1319f126890aSEmmanuel Vadot		power-domains = <&power RK3288_PD_GPU>;
1320f126890aSEmmanuel Vadot		status = "disabled";
1321f126890aSEmmanuel Vadot	};
1322f126890aSEmmanuel Vadot
1323f126890aSEmmanuel Vadot	gpu_opp_table: opp-table-1 {
1324f126890aSEmmanuel Vadot		compatible = "operating-points-v2";
1325f126890aSEmmanuel Vadot
1326f126890aSEmmanuel Vadot		opp-100000000 {
1327f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <100000000>;
1328f126890aSEmmanuel Vadot			opp-microvolt = <950000>;
1329f126890aSEmmanuel Vadot		};
1330f126890aSEmmanuel Vadot		opp-200000000 {
1331f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <200000000>;
1332f126890aSEmmanuel Vadot			opp-microvolt = <950000>;
1333f126890aSEmmanuel Vadot		};
1334f126890aSEmmanuel Vadot		opp-300000000 {
1335f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <300000000>;
1336f126890aSEmmanuel Vadot			opp-microvolt = <1000000>;
1337f126890aSEmmanuel Vadot		};
1338f126890aSEmmanuel Vadot		opp-400000000 {
1339f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <400000000>;
1340f126890aSEmmanuel Vadot			opp-microvolt = <1100000>;
1341f126890aSEmmanuel Vadot		};
1342f126890aSEmmanuel Vadot		opp-600000000 {
1343f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <600000000>;
1344f126890aSEmmanuel Vadot			opp-microvolt = <1250000>;
1345f126890aSEmmanuel Vadot		};
1346f126890aSEmmanuel Vadot	};
1347f126890aSEmmanuel Vadot
1348f126890aSEmmanuel Vadot	qos_gpu_r: qos@ffaa0000 {
1349f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1350f126890aSEmmanuel Vadot		reg = <0x0 0xffaa0000 0x0 0x20>;
1351f126890aSEmmanuel Vadot	};
1352f126890aSEmmanuel Vadot
1353f126890aSEmmanuel Vadot	qos_gpu_w: qos@ffaa0080 {
1354f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1355f126890aSEmmanuel Vadot		reg = <0x0 0xffaa0080 0x0 0x20>;
1356f126890aSEmmanuel Vadot	};
1357f126890aSEmmanuel Vadot
1358f126890aSEmmanuel Vadot	qos_vio1_vop: qos@ffad0000 {
1359f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1360f126890aSEmmanuel Vadot		reg = <0x0 0xffad0000 0x0 0x20>;
1361f126890aSEmmanuel Vadot	};
1362f126890aSEmmanuel Vadot
1363f126890aSEmmanuel Vadot	qos_vio1_isp_w0: qos@ffad0100 {
1364f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1365f126890aSEmmanuel Vadot		reg = <0x0 0xffad0100 0x0 0x20>;
1366f126890aSEmmanuel Vadot	};
1367f126890aSEmmanuel Vadot
1368f126890aSEmmanuel Vadot	qos_vio1_isp_w1: qos@ffad0180 {
1369f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1370f126890aSEmmanuel Vadot		reg = <0x0 0xffad0180 0x0 0x20>;
1371f126890aSEmmanuel Vadot	};
1372f126890aSEmmanuel Vadot
1373f126890aSEmmanuel Vadot	qos_vio0_vop: qos@ffad0400 {
1374f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1375f126890aSEmmanuel Vadot		reg = <0x0 0xffad0400 0x0 0x20>;
1376f126890aSEmmanuel Vadot	};
1377f126890aSEmmanuel Vadot
1378f126890aSEmmanuel Vadot	qos_vio0_vip: qos@ffad0480 {
1379f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1380f126890aSEmmanuel Vadot		reg = <0x0 0xffad0480 0x0 0x20>;
1381f126890aSEmmanuel Vadot	};
1382f126890aSEmmanuel Vadot
1383f126890aSEmmanuel Vadot	qos_vio0_iep: qos@ffad0500 {
1384f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1385f126890aSEmmanuel Vadot		reg = <0x0 0xffad0500 0x0 0x20>;
1386f126890aSEmmanuel Vadot	};
1387f126890aSEmmanuel Vadot
1388f126890aSEmmanuel Vadot	qos_vio2_rga_r: qos@ffad0800 {
1389f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1390f126890aSEmmanuel Vadot		reg = <0x0 0xffad0800 0x0 0x20>;
1391f126890aSEmmanuel Vadot	};
1392f126890aSEmmanuel Vadot
1393f126890aSEmmanuel Vadot	qos_vio2_rga_w: qos@ffad0880 {
1394f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1395f126890aSEmmanuel Vadot		reg = <0x0 0xffad0880 0x0 0x20>;
1396f126890aSEmmanuel Vadot	};
1397f126890aSEmmanuel Vadot
1398f126890aSEmmanuel Vadot	qos_vio1_isp_r: qos@ffad0900 {
1399f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1400f126890aSEmmanuel Vadot		reg = <0x0 0xffad0900 0x0 0x20>;
1401f126890aSEmmanuel Vadot	};
1402f126890aSEmmanuel Vadot
1403f126890aSEmmanuel Vadot	qos_video: qos@ffae0000 {
1404f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1405f126890aSEmmanuel Vadot		reg = <0x0 0xffae0000 0x0 0x20>;
1406f126890aSEmmanuel Vadot	};
1407f126890aSEmmanuel Vadot
1408f126890aSEmmanuel Vadot	qos_hevc_r: qos@ffaf0000 {
1409f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1410f126890aSEmmanuel Vadot		reg = <0x0 0xffaf0000 0x0 0x20>;
1411f126890aSEmmanuel Vadot	};
1412f126890aSEmmanuel Vadot
1413f126890aSEmmanuel Vadot	qos_hevc_w: qos@ffaf0080 {
1414f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-qos", "syscon";
1415f126890aSEmmanuel Vadot		reg = <0x0 0xffaf0080 0x0 0x20>;
1416f126890aSEmmanuel Vadot	};
1417f126890aSEmmanuel Vadot
1418f126890aSEmmanuel Vadot	dmac_bus_s: dma-controller@ffb20000 {
1419f126890aSEmmanuel Vadot		compatible = "arm,pl330", "arm,primecell";
1420f126890aSEmmanuel Vadot		reg = <0x0 0xffb20000 0x0 0x4000>;
1421f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
1422f126890aSEmmanuel Vadot			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
1423f126890aSEmmanuel Vadot		#dma-cells = <1>;
1424f126890aSEmmanuel Vadot		arm,pl330-broken-no-flushp;
1425f126890aSEmmanuel Vadot		arm,pl330-periph-burst;
1426f126890aSEmmanuel Vadot		clocks = <&cru ACLK_DMAC1>;
1427f126890aSEmmanuel Vadot		clock-names = "apb_pclk";
1428f126890aSEmmanuel Vadot	};
1429f126890aSEmmanuel Vadot
1430f126890aSEmmanuel Vadot	efuse: efuse@ffb40000 {
1431f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-efuse";
1432f126890aSEmmanuel Vadot		reg = <0x0 0xffb40000 0x0 0x20>;
1433f126890aSEmmanuel Vadot		#address-cells = <1>;
1434f126890aSEmmanuel Vadot		#size-cells = <1>;
1435f126890aSEmmanuel Vadot		clocks = <&cru PCLK_EFUSE256>;
1436f126890aSEmmanuel Vadot		clock-names = "pclk_efuse";
1437f126890aSEmmanuel Vadot
1438f126890aSEmmanuel Vadot		cpu_id: cpu-id@7 {
1439f126890aSEmmanuel Vadot			reg = <0x07 0x10>;
1440f126890aSEmmanuel Vadot		};
1441f126890aSEmmanuel Vadot		cpu_leakage: cpu_leakage@17 {
1442f126890aSEmmanuel Vadot			reg = <0x17 0x1>;
1443f126890aSEmmanuel Vadot		};
1444f126890aSEmmanuel Vadot	};
1445f126890aSEmmanuel Vadot
1446f126890aSEmmanuel Vadot	gic: interrupt-controller@ffc01000 {
1447f126890aSEmmanuel Vadot		compatible = "arm,gic-400";
1448f126890aSEmmanuel Vadot		interrupt-controller;
1449f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
1450f126890aSEmmanuel Vadot		#address-cells = <0>;
1451f126890aSEmmanuel Vadot
1452f126890aSEmmanuel Vadot		reg = <0x0 0xffc01000 0x0 0x1000>,
1453f126890aSEmmanuel Vadot		      <0x0 0xffc02000 0x0 0x2000>,
1454f126890aSEmmanuel Vadot		      <0x0 0xffc04000 0x0 0x2000>,
1455f126890aSEmmanuel Vadot		      <0x0 0xffc06000 0x0 0x2000>;
1456f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 9 0xf04>;
1457f126890aSEmmanuel Vadot	};
1458f126890aSEmmanuel Vadot
1459f126890aSEmmanuel Vadot	pinctrl: pinctrl {
1460f126890aSEmmanuel Vadot		compatible = "rockchip,rk3288-pinctrl";
1461f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
1462f126890aSEmmanuel Vadot		rockchip,pmu = <&pmu>;
1463f126890aSEmmanuel Vadot		#address-cells = <2>;
1464f126890aSEmmanuel Vadot		#size-cells = <2>;
1465f126890aSEmmanuel Vadot		ranges;
1466f126890aSEmmanuel Vadot
1467f126890aSEmmanuel Vadot		gpio0: gpio@ff750000 {
1468f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
1469f126890aSEmmanuel Vadot			reg = <0x0 0xff750000 0x0 0x100>;
1470f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
1471f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO0>;
1472f126890aSEmmanuel Vadot
1473f126890aSEmmanuel Vadot			gpio-controller;
1474f126890aSEmmanuel Vadot			#gpio-cells = <2>;
1475f126890aSEmmanuel Vadot
1476f126890aSEmmanuel Vadot			interrupt-controller;
1477f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
1478f126890aSEmmanuel Vadot		};
1479f126890aSEmmanuel Vadot
1480f126890aSEmmanuel Vadot		gpio1: gpio@ff780000 {
1481f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
1482f126890aSEmmanuel Vadot			reg = <0x0 0xff780000 0x0 0x100>;
1483f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
1484f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO1>;
1485f126890aSEmmanuel Vadot
1486f126890aSEmmanuel Vadot			gpio-controller;
1487f126890aSEmmanuel Vadot			#gpio-cells = <2>;
1488f126890aSEmmanuel Vadot
1489f126890aSEmmanuel Vadot			interrupt-controller;
1490f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
1491f126890aSEmmanuel Vadot		};
1492f126890aSEmmanuel Vadot
1493f126890aSEmmanuel Vadot		gpio2: gpio@ff790000 {
1494f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
1495f126890aSEmmanuel Vadot			reg = <0x0 0xff790000 0x0 0x100>;
1496f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1497f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO2>;
1498f126890aSEmmanuel Vadot
1499f126890aSEmmanuel Vadot			gpio-controller;
1500f126890aSEmmanuel Vadot			#gpio-cells = <2>;
1501f126890aSEmmanuel Vadot
1502f126890aSEmmanuel Vadot			interrupt-controller;
1503f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
1504f126890aSEmmanuel Vadot		};
1505f126890aSEmmanuel Vadot
1506f126890aSEmmanuel Vadot		gpio3: gpio@ff7a0000 {
1507f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
1508f126890aSEmmanuel Vadot			reg = <0x0 0xff7a0000 0x0 0x100>;
1509f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
1510f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO3>;
1511f126890aSEmmanuel Vadot
1512f126890aSEmmanuel Vadot			gpio-controller;
1513f126890aSEmmanuel Vadot			#gpio-cells = <2>;
1514f126890aSEmmanuel Vadot
1515f126890aSEmmanuel Vadot			interrupt-controller;
1516f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
1517f126890aSEmmanuel Vadot		};
1518f126890aSEmmanuel Vadot
1519f126890aSEmmanuel Vadot		gpio4: gpio@ff7b0000 {
1520f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
1521f126890aSEmmanuel Vadot			reg = <0x0 0xff7b0000 0x0 0x100>;
1522f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
1523f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO4>;
1524f126890aSEmmanuel Vadot
1525f126890aSEmmanuel Vadot			gpio-controller;
1526f126890aSEmmanuel Vadot			#gpio-cells = <2>;
1527f126890aSEmmanuel Vadot
1528f126890aSEmmanuel Vadot			interrupt-controller;
1529f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
1530f126890aSEmmanuel Vadot		};
1531f126890aSEmmanuel Vadot
1532f126890aSEmmanuel Vadot		gpio5: gpio@ff7c0000 {
1533f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
1534f126890aSEmmanuel Vadot			reg = <0x0 0xff7c0000 0x0 0x100>;
1535f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
1536f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO5>;
1537f126890aSEmmanuel Vadot
1538f126890aSEmmanuel Vadot			gpio-controller;
1539f126890aSEmmanuel Vadot			#gpio-cells = <2>;
1540f126890aSEmmanuel Vadot
1541f126890aSEmmanuel Vadot			interrupt-controller;
1542f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
1543f126890aSEmmanuel Vadot		};
1544f126890aSEmmanuel Vadot
1545f126890aSEmmanuel Vadot		gpio6: gpio@ff7d0000 {
1546f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
1547f126890aSEmmanuel Vadot			reg = <0x0 0xff7d0000 0x0 0x100>;
1548f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
1549f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO6>;
1550f126890aSEmmanuel Vadot
1551f126890aSEmmanuel Vadot			gpio-controller;
1552f126890aSEmmanuel Vadot			#gpio-cells = <2>;
1553f126890aSEmmanuel Vadot
1554f126890aSEmmanuel Vadot			interrupt-controller;
1555f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
1556f126890aSEmmanuel Vadot		};
1557f126890aSEmmanuel Vadot
1558f126890aSEmmanuel Vadot		gpio7: gpio@ff7e0000 {
1559f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
1560f126890aSEmmanuel Vadot			reg = <0x0 0xff7e0000 0x0 0x100>;
1561f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
1562f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO7>;
1563f126890aSEmmanuel Vadot
1564f126890aSEmmanuel Vadot			gpio-controller;
1565f126890aSEmmanuel Vadot			#gpio-cells = <2>;
1566f126890aSEmmanuel Vadot
1567f126890aSEmmanuel Vadot			interrupt-controller;
1568f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
1569f126890aSEmmanuel Vadot		};
1570f126890aSEmmanuel Vadot
1571f126890aSEmmanuel Vadot		gpio8: gpio@ff7f0000 {
1572f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
1573f126890aSEmmanuel Vadot			reg = <0x0 0xff7f0000 0x0 0x100>;
1574f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
1575f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO8>;
1576f126890aSEmmanuel Vadot
1577f126890aSEmmanuel Vadot			gpio-controller;
1578f126890aSEmmanuel Vadot			#gpio-cells = <2>;
1579f126890aSEmmanuel Vadot
1580f126890aSEmmanuel Vadot			interrupt-controller;
1581f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
1582f126890aSEmmanuel Vadot		};
1583f126890aSEmmanuel Vadot
1584f126890aSEmmanuel Vadot		hdmi {
1585f126890aSEmmanuel Vadot			hdmi_cec_c0: hdmi-cec-c0 {
1586f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PC0 2 &pcfg_pull_none>;
1587f126890aSEmmanuel Vadot			};
1588f126890aSEmmanuel Vadot
1589f126890aSEmmanuel Vadot			hdmi_cec_c7: hdmi-cec-c7 {
1590f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PC7 4 &pcfg_pull_none>;
1591f126890aSEmmanuel Vadot			};
1592f126890aSEmmanuel Vadot
1593f126890aSEmmanuel Vadot			hdmi_ddc: hdmi-ddc {
1594f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PC3 2 &pcfg_pull_none>,
1595f126890aSEmmanuel Vadot						<7 RK_PC4 2 &pcfg_pull_none>;
1596f126890aSEmmanuel Vadot			};
1597f126890aSEmmanuel Vadot
1598f126890aSEmmanuel Vadot			hdmi_ddc_unwedge: hdmi-ddc-unwedge {
1599f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PC3 RK_FUNC_GPIO &pcfg_output_low>,
1600f126890aSEmmanuel Vadot						<7 RK_PC4 2 &pcfg_pull_none>;
1601f126890aSEmmanuel Vadot			};
1602f126890aSEmmanuel Vadot		};
1603f126890aSEmmanuel Vadot
1604f126890aSEmmanuel Vadot		pcfg_output_low: pcfg-output-low {
1605f126890aSEmmanuel Vadot			output-low;
1606f126890aSEmmanuel Vadot		};
1607f126890aSEmmanuel Vadot
1608f126890aSEmmanuel Vadot		pcfg_pull_up: pcfg-pull-up {
1609f126890aSEmmanuel Vadot			bias-pull-up;
1610f126890aSEmmanuel Vadot		};
1611f126890aSEmmanuel Vadot
1612f126890aSEmmanuel Vadot		pcfg_pull_down: pcfg-pull-down {
1613f126890aSEmmanuel Vadot			bias-pull-down;
1614f126890aSEmmanuel Vadot		};
1615f126890aSEmmanuel Vadot
1616f126890aSEmmanuel Vadot		pcfg_pull_none: pcfg-pull-none {
1617f126890aSEmmanuel Vadot			bias-disable;
1618f126890aSEmmanuel Vadot		};
1619f126890aSEmmanuel Vadot
1620f126890aSEmmanuel Vadot		pcfg_pull_none_12ma: pcfg-pull-none-12ma {
1621f126890aSEmmanuel Vadot			bias-disable;
1622f126890aSEmmanuel Vadot			drive-strength = <12>;
1623f126890aSEmmanuel Vadot		};
1624f126890aSEmmanuel Vadot
1625f126890aSEmmanuel Vadot		suspend {
1626f126890aSEmmanuel Vadot			global_pwroff: global-pwroff {
1627f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>;
1628f126890aSEmmanuel Vadot			};
1629f126890aSEmmanuel Vadot
1630f126890aSEmmanuel Vadot			ddrio_pwroff: ddrio-pwroff {
1631f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PA1 1 &pcfg_pull_none>;
1632f126890aSEmmanuel Vadot			};
1633f126890aSEmmanuel Vadot
1634f126890aSEmmanuel Vadot			ddr0_retention: ddr0-retention {
1635f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PA2 1 &pcfg_pull_up>;
1636f126890aSEmmanuel Vadot			};
1637f126890aSEmmanuel Vadot
1638f126890aSEmmanuel Vadot			ddr1_retention: ddr1-retention {
1639f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PA3 1 &pcfg_pull_up>;
1640f126890aSEmmanuel Vadot			};
1641f126890aSEmmanuel Vadot		};
1642f126890aSEmmanuel Vadot
1643f126890aSEmmanuel Vadot		edp {
1644f126890aSEmmanuel Vadot			edp_hpd: edp-hpd {
1645f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PB3 2 &pcfg_pull_down>;
1646f126890aSEmmanuel Vadot			};
1647f126890aSEmmanuel Vadot		};
1648f126890aSEmmanuel Vadot
1649f126890aSEmmanuel Vadot		i2c0 {
1650f126890aSEmmanuel Vadot			i2c0_xfer: i2c0-xfer {
1651f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PB7 1 &pcfg_pull_none>,
1652f126890aSEmmanuel Vadot						<0 RK_PC0 1 &pcfg_pull_none>;
1653f126890aSEmmanuel Vadot			};
1654f126890aSEmmanuel Vadot		};
1655f126890aSEmmanuel Vadot
1656f126890aSEmmanuel Vadot		i2c1 {
1657f126890aSEmmanuel Vadot			i2c1_xfer: i2c1-xfer {
1658f126890aSEmmanuel Vadot				rockchip,pins = <8 RK_PA4 1 &pcfg_pull_none>,
1659f126890aSEmmanuel Vadot						<8 RK_PA5 1 &pcfg_pull_none>;
1660f126890aSEmmanuel Vadot			};
1661f126890aSEmmanuel Vadot		};
1662f126890aSEmmanuel Vadot
1663f126890aSEmmanuel Vadot		i2c2 {
1664f126890aSEmmanuel Vadot			i2c2_xfer: i2c2-xfer {
1665f126890aSEmmanuel Vadot				rockchip,pins = <6 RK_PB1 1 &pcfg_pull_none>,
1666f126890aSEmmanuel Vadot						<6 RK_PB2 1 &pcfg_pull_none>;
1667f126890aSEmmanuel Vadot			};
1668f126890aSEmmanuel Vadot		};
1669f126890aSEmmanuel Vadot
1670f126890aSEmmanuel Vadot		i2c3 {
1671f126890aSEmmanuel Vadot			i2c3_xfer: i2c3-xfer {
1672f126890aSEmmanuel Vadot				rockchip,pins = <2 RK_PC0 1 &pcfg_pull_none>,
1673f126890aSEmmanuel Vadot						<2 RK_PC1 1 &pcfg_pull_none>;
1674f126890aSEmmanuel Vadot			};
1675f126890aSEmmanuel Vadot		};
1676f126890aSEmmanuel Vadot
1677f126890aSEmmanuel Vadot		i2c4 {
1678f126890aSEmmanuel Vadot			i2c4_xfer: i2c4-xfer {
1679f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PC1 1 &pcfg_pull_none>,
1680f126890aSEmmanuel Vadot						<7 RK_PC2 1 &pcfg_pull_none>;
1681f126890aSEmmanuel Vadot			};
1682f126890aSEmmanuel Vadot		};
1683f126890aSEmmanuel Vadot
1684f126890aSEmmanuel Vadot		i2c5 {
1685f126890aSEmmanuel Vadot			i2c5_xfer: i2c5-xfer {
1686f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PC3 1 &pcfg_pull_none>,
1687f126890aSEmmanuel Vadot						<7 RK_PC4 1 &pcfg_pull_none>;
1688f126890aSEmmanuel Vadot			};
1689f126890aSEmmanuel Vadot		};
1690f126890aSEmmanuel Vadot
1691f126890aSEmmanuel Vadot		i2s0 {
1692f126890aSEmmanuel Vadot			i2s0_bus: i2s0-bus {
1693f126890aSEmmanuel Vadot				rockchip,pins = <6 RK_PA0 1 &pcfg_pull_none>,
1694f126890aSEmmanuel Vadot						<6 RK_PA1 1 &pcfg_pull_none>,
1695f126890aSEmmanuel Vadot						<6 RK_PA2 1 &pcfg_pull_none>,
1696f126890aSEmmanuel Vadot						<6 RK_PA3 1 &pcfg_pull_none>,
1697f126890aSEmmanuel Vadot						<6 RK_PA4 1 &pcfg_pull_none>,
1698f126890aSEmmanuel Vadot						<6 RK_PB0 1 &pcfg_pull_none>;
1699f126890aSEmmanuel Vadot			};
1700f126890aSEmmanuel Vadot		};
1701f126890aSEmmanuel Vadot
1702f126890aSEmmanuel Vadot		lcdc {
1703f126890aSEmmanuel Vadot			lcdc_ctl: lcdc-ctl {
1704f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>,
1705f126890aSEmmanuel Vadot						<1 RK_PD1 1 &pcfg_pull_none>,
1706f126890aSEmmanuel Vadot						<1 RK_PD2 1 &pcfg_pull_none>,
1707f126890aSEmmanuel Vadot						<1 RK_PD3 1 &pcfg_pull_none>;
1708f126890aSEmmanuel Vadot			};
1709f126890aSEmmanuel Vadot		};
1710f126890aSEmmanuel Vadot
1711f126890aSEmmanuel Vadot		sdmmc {
1712f126890aSEmmanuel Vadot			sdmmc_clk: sdmmc-clk {
1713f126890aSEmmanuel Vadot				rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none>;
1714f126890aSEmmanuel Vadot			};
1715f126890aSEmmanuel Vadot
1716f126890aSEmmanuel Vadot			sdmmc_cmd: sdmmc-cmd {
1717f126890aSEmmanuel Vadot				rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up>;
1718f126890aSEmmanuel Vadot			};
1719f126890aSEmmanuel Vadot
1720f126890aSEmmanuel Vadot			sdmmc_cd: sdmmc-cd {
1721f126890aSEmmanuel Vadot				rockchip,pins = <6 RK_PC6 1 &pcfg_pull_up>;
1722f126890aSEmmanuel Vadot			};
1723f126890aSEmmanuel Vadot
1724f126890aSEmmanuel Vadot			sdmmc_bus1: sdmmc-bus1 {
1725f126890aSEmmanuel Vadot				rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up>;
1726f126890aSEmmanuel Vadot			};
1727f126890aSEmmanuel Vadot
1728f126890aSEmmanuel Vadot			sdmmc_bus4: sdmmc-bus4 {
1729f126890aSEmmanuel Vadot				rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up>,
1730f126890aSEmmanuel Vadot						<6 RK_PC1 1 &pcfg_pull_up>,
1731f126890aSEmmanuel Vadot						<6 RK_PC2 1 &pcfg_pull_up>,
1732f126890aSEmmanuel Vadot						<6 RK_PC3 1 &pcfg_pull_up>;
1733f126890aSEmmanuel Vadot			};
1734f126890aSEmmanuel Vadot		};
1735f126890aSEmmanuel Vadot
1736f126890aSEmmanuel Vadot		sdio0 {
1737f126890aSEmmanuel Vadot			sdio0_bus1: sdio0-bus1 {
1738f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PC4 1 &pcfg_pull_up>;
1739f126890aSEmmanuel Vadot			};
1740f126890aSEmmanuel Vadot
1741f126890aSEmmanuel Vadot			sdio0_bus4: sdio0-bus4 {
1742f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PC4 1 &pcfg_pull_up>,
1743f126890aSEmmanuel Vadot						<4 RK_PC5 1 &pcfg_pull_up>,
1744f126890aSEmmanuel Vadot						<4 RK_PC6 1 &pcfg_pull_up>,
1745f126890aSEmmanuel Vadot						<4 RK_PC7 1 &pcfg_pull_up>;
1746f126890aSEmmanuel Vadot			};
1747f126890aSEmmanuel Vadot
1748f126890aSEmmanuel Vadot			sdio0_cmd: sdio0-cmd {
1749f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PD0 1 &pcfg_pull_up>;
1750f126890aSEmmanuel Vadot			};
1751f126890aSEmmanuel Vadot
1752f126890aSEmmanuel Vadot			sdio0_clk: sdio0-clk {
1753f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PD1 1 &pcfg_pull_none>;
1754f126890aSEmmanuel Vadot			};
1755f126890aSEmmanuel Vadot
1756f126890aSEmmanuel Vadot			sdio0_cd: sdio0-cd {
1757f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PD2 1 &pcfg_pull_up>;
1758f126890aSEmmanuel Vadot			};
1759f126890aSEmmanuel Vadot
1760f126890aSEmmanuel Vadot			sdio0_wp: sdio0-wp {
1761f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PD3 1 &pcfg_pull_up>;
1762f126890aSEmmanuel Vadot			};
1763f126890aSEmmanuel Vadot
1764f126890aSEmmanuel Vadot			sdio0_pwr: sdio0-pwr {
1765f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PD4 1 &pcfg_pull_up>;
1766f126890aSEmmanuel Vadot			};
1767f126890aSEmmanuel Vadot
1768f126890aSEmmanuel Vadot			sdio0_bkpwr: sdio0-bkpwr {
1769f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PD5 1 &pcfg_pull_up>;
1770f126890aSEmmanuel Vadot			};
1771f126890aSEmmanuel Vadot
1772f126890aSEmmanuel Vadot			sdio0_int: sdio0-int {
1773f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PD6 1 &pcfg_pull_up>;
1774f126890aSEmmanuel Vadot			};
1775f126890aSEmmanuel Vadot		};
1776f126890aSEmmanuel Vadot
1777f126890aSEmmanuel Vadot		sdio1 {
1778f126890aSEmmanuel Vadot			sdio1_bus1: sdio1-bus1 {
1779f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD0 4 &pcfg_pull_up>;
1780f126890aSEmmanuel Vadot			};
1781f126890aSEmmanuel Vadot
1782f126890aSEmmanuel Vadot			sdio1_bus4: sdio1-bus4 {
1783f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD0 4 &pcfg_pull_up>,
1784f126890aSEmmanuel Vadot						<3 RK_PD1 4 &pcfg_pull_up>,
1785f126890aSEmmanuel Vadot						<3 RK_PD2 4 &pcfg_pull_up>,
1786f126890aSEmmanuel Vadot						<3 RK_PD3 4 &pcfg_pull_up>;
1787f126890aSEmmanuel Vadot			};
1788f126890aSEmmanuel Vadot
1789f126890aSEmmanuel Vadot			sdio1_cd: sdio1-cd {
1790f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD4 4 &pcfg_pull_up>;
1791f126890aSEmmanuel Vadot			};
1792f126890aSEmmanuel Vadot
1793f126890aSEmmanuel Vadot			sdio1_wp: sdio1-wp {
1794f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD5 4 &pcfg_pull_up>;
1795f126890aSEmmanuel Vadot			};
1796f126890aSEmmanuel Vadot
1797f126890aSEmmanuel Vadot			sdio1_bkpwr: sdio1-bkpwr {
1798f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD6 4 &pcfg_pull_up>;
1799f126890aSEmmanuel Vadot			};
1800f126890aSEmmanuel Vadot
1801f126890aSEmmanuel Vadot			sdio1_int: sdio1-int {
1802f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD7 4 &pcfg_pull_up>;
1803f126890aSEmmanuel Vadot			};
1804f126890aSEmmanuel Vadot
1805f126890aSEmmanuel Vadot			sdio1_cmd: sdio1-cmd {
1806f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PA6 4 &pcfg_pull_up>;
1807f126890aSEmmanuel Vadot			};
1808f126890aSEmmanuel Vadot
1809f126890aSEmmanuel Vadot			sdio1_clk: sdio1-clk {
1810f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PA7 4 &pcfg_pull_none>;
1811f126890aSEmmanuel Vadot			};
1812f126890aSEmmanuel Vadot
1813f126890aSEmmanuel Vadot			sdio1_pwr: sdio1-pwr {
1814f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PB1 4 &pcfg_pull_up>;
1815f126890aSEmmanuel Vadot			};
1816f126890aSEmmanuel Vadot		};
1817f126890aSEmmanuel Vadot
1818f126890aSEmmanuel Vadot		emmc {
1819f126890aSEmmanuel Vadot			emmc_clk: emmc-clk {
1820f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PC2 2 &pcfg_pull_none>;
1821f126890aSEmmanuel Vadot			};
1822f126890aSEmmanuel Vadot
1823f126890aSEmmanuel Vadot			emmc_cmd: emmc-cmd {
1824f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PC0 2 &pcfg_pull_up>;
1825f126890aSEmmanuel Vadot			};
1826f126890aSEmmanuel Vadot
1827f126890aSEmmanuel Vadot			emmc_pwr: emmc-pwr {
1828f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PB1 2 &pcfg_pull_up>;
1829f126890aSEmmanuel Vadot			};
1830f126890aSEmmanuel Vadot
1831f126890aSEmmanuel Vadot			emmc_bus1: emmc-bus1 {
1832f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PA0 2 &pcfg_pull_up>;
1833f126890aSEmmanuel Vadot			};
1834f126890aSEmmanuel Vadot
1835f126890aSEmmanuel Vadot			emmc_bus4: emmc-bus4 {
1836f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PA0 2 &pcfg_pull_up>,
1837f126890aSEmmanuel Vadot						<3 RK_PA1 2 &pcfg_pull_up>,
1838f126890aSEmmanuel Vadot						<3 RK_PA2 2 &pcfg_pull_up>,
1839f126890aSEmmanuel Vadot						<3 RK_PA3 2 &pcfg_pull_up>;
1840f126890aSEmmanuel Vadot			};
1841f126890aSEmmanuel Vadot
1842f126890aSEmmanuel Vadot			emmc_bus8: emmc-bus8 {
1843f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PA0 2 &pcfg_pull_up>,
1844f126890aSEmmanuel Vadot						<3 RK_PA1 2 &pcfg_pull_up>,
1845f126890aSEmmanuel Vadot						<3 RK_PA2 2 &pcfg_pull_up>,
1846f126890aSEmmanuel Vadot						<3 RK_PA3 2 &pcfg_pull_up>,
1847f126890aSEmmanuel Vadot						<3 RK_PA4 2 &pcfg_pull_up>,
1848f126890aSEmmanuel Vadot						<3 RK_PA5 2 &pcfg_pull_up>,
1849f126890aSEmmanuel Vadot						<3 RK_PA6 2 &pcfg_pull_up>,
1850f126890aSEmmanuel Vadot						<3 RK_PA7 2 &pcfg_pull_up>;
1851f126890aSEmmanuel Vadot			};
1852f126890aSEmmanuel Vadot		};
1853f126890aSEmmanuel Vadot
1854f126890aSEmmanuel Vadot		spi0 {
1855f126890aSEmmanuel Vadot			spi0_clk: spi0-clk {
1856f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PB4 1 &pcfg_pull_up>;
1857f126890aSEmmanuel Vadot			};
1858f126890aSEmmanuel Vadot			spi0_cs0: spi0-cs0 {
1859f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PB5 1 &pcfg_pull_up>;
1860f126890aSEmmanuel Vadot			};
1861f126890aSEmmanuel Vadot			spi0_tx: spi0-tx {
1862f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PB6 1 &pcfg_pull_up>;
1863f126890aSEmmanuel Vadot			};
1864f126890aSEmmanuel Vadot			spi0_rx: spi0-rx {
1865f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PB7 1 &pcfg_pull_up>;
1866f126890aSEmmanuel Vadot			};
1867f126890aSEmmanuel Vadot			spi0_cs1: spi0-cs1 {
1868f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PC0 1 &pcfg_pull_up>;
1869f126890aSEmmanuel Vadot			};
1870f126890aSEmmanuel Vadot		};
1871f126890aSEmmanuel Vadot		spi1 {
1872f126890aSEmmanuel Vadot			spi1_clk: spi1-clk {
1873f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PB4 2 &pcfg_pull_up>;
1874f126890aSEmmanuel Vadot			};
1875f126890aSEmmanuel Vadot			spi1_cs0: spi1-cs0 {
1876f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PB5 2 &pcfg_pull_up>;
1877f126890aSEmmanuel Vadot			};
1878f126890aSEmmanuel Vadot			spi1_rx: spi1-rx {
1879f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PB6 2 &pcfg_pull_up>;
1880f126890aSEmmanuel Vadot			};
1881f126890aSEmmanuel Vadot			spi1_tx: spi1-tx {
1882f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PB7 2 &pcfg_pull_up>;
1883f126890aSEmmanuel Vadot			};
1884f126890aSEmmanuel Vadot		};
1885f126890aSEmmanuel Vadot
1886f126890aSEmmanuel Vadot		spi2 {
1887f126890aSEmmanuel Vadot			spi2_cs1: spi2-cs1 {
1888f126890aSEmmanuel Vadot				rockchip,pins = <8 RK_PA3 1 &pcfg_pull_up>;
1889f126890aSEmmanuel Vadot			};
1890f126890aSEmmanuel Vadot			spi2_clk: spi2-clk {
1891f126890aSEmmanuel Vadot				rockchip,pins = <8 RK_PA6 1 &pcfg_pull_up>;
1892f126890aSEmmanuel Vadot			};
1893f126890aSEmmanuel Vadot			spi2_cs0: spi2-cs0 {
1894f126890aSEmmanuel Vadot				rockchip,pins = <8 RK_PA7 1 &pcfg_pull_up>;
1895f126890aSEmmanuel Vadot			};
1896f126890aSEmmanuel Vadot			spi2_rx: spi2-rx {
1897f126890aSEmmanuel Vadot				rockchip,pins = <8 RK_PB0 1 &pcfg_pull_up>;
1898f126890aSEmmanuel Vadot			};
1899f126890aSEmmanuel Vadot			spi2_tx: spi2-tx {
1900f126890aSEmmanuel Vadot				rockchip,pins = <8 RK_PB1 1 &pcfg_pull_up>;
1901f126890aSEmmanuel Vadot			};
1902f126890aSEmmanuel Vadot		};
1903f126890aSEmmanuel Vadot
1904f126890aSEmmanuel Vadot		uart0 {
1905f126890aSEmmanuel Vadot			uart0_xfer: uart0-xfer {
1906f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PC0 1 &pcfg_pull_up>,
1907f126890aSEmmanuel Vadot						<4 RK_PC1 1 &pcfg_pull_none>;
1908f126890aSEmmanuel Vadot			};
1909f126890aSEmmanuel Vadot
1910f126890aSEmmanuel Vadot			uart0_cts: uart0-cts {
1911f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PC2 1 &pcfg_pull_up>;
1912f126890aSEmmanuel Vadot			};
1913f126890aSEmmanuel Vadot
1914f126890aSEmmanuel Vadot			uart0_rts: uart0-rts {
1915f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PC3 1 &pcfg_pull_none>;
1916f126890aSEmmanuel Vadot			};
1917f126890aSEmmanuel Vadot		};
1918f126890aSEmmanuel Vadot
1919f126890aSEmmanuel Vadot		uart1 {
1920f126890aSEmmanuel Vadot			uart1_xfer: uart1-xfer {
1921f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PB0 1 &pcfg_pull_up>,
1922f126890aSEmmanuel Vadot						<5 RK_PB1 1 &pcfg_pull_none>;
1923f126890aSEmmanuel Vadot			};
1924f126890aSEmmanuel Vadot
1925f126890aSEmmanuel Vadot			uart1_cts: uart1-cts {
1926f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PB2 1 &pcfg_pull_up>;
1927f126890aSEmmanuel Vadot			};
1928f126890aSEmmanuel Vadot
1929f126890aSEmmanuel Vadot			uart1_rts: uart1-rts {
1930f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PB3 1 &pcfg_pull_none>;
1931f126890aSEmmanuel Vadot			};
1932f126890aSEmmanuel Vadot		};
1933f126890aSEmmanuel Vadot
1934f126890aSEmmanuel Vadot		uart2 {
1935f126890aSEmmanuel Vadot			uart2_xfer: uart2-xfer {
1936f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PC6 1 &pcfg_pull_up>,
1937f126890aSEmmanuel Vadot						<7 RK_PC7 1 &pcfg_pull_none>;
1938f126890aSEmmanuel Vadot			};
1939f126890aSEmmanuel Vadot			/* no rts / cts for uart2 */
1940f126890aSEmmanuel Vadot		};
1941f126890aSEmmanuel Vadot
1942f126890aSEmmanuel Vadot		uart3 {
1943f126890aSEmmanuel Vadot			uart3_xfer: uart3-xfer {
1944f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PA7 1 &pcfg_pull_up>,
1945f126890aSEmmanuel Vadot						<7 RK_PB0 1 &pcfg_pull_none>;
1946f126890aSEmmanuel Vadot			};
1947f126890aSEmmanuel Vadot
1948f126890aSEmmanuel Vadot			uart3_cts: uart3-cts {
1949f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PB1 1 &pcfg_pull_up>;
1950f126890aSEmmanuel Vadot			};
1951f126890aSEmmanuel Vadot
1952f126890aSEmmanuel Vadot			uart3_rts: uart3-rts {
1953f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PB2 1 &pcfg_pull_none>;
1954f126890aSEmmanuel Vadot			};
1955f126890aSEmmanuel Vadot		};
1956f126890aSEmmanuel Vadot
1957f126890aSEmmanuel Vadot		uart4 {
1958f126890aSEmmanuel Vadot			uart4_xfer: uart4-xfer {
1959f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PB7 3 &pcfg_pull_up>,
1960f126890aSEmmanuel Vadot						<5 RK_PB6 3 &pcfg_pull_none>;
1961f126890aSEmmanuel Vadot			};
1962f126890aSEmmanuel Vadot
1963f126890aSEmmanuel Vadot			uart4_cts: uart4-cts {
1964f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PB4 3 &pcfg_pull_up>;
1965f126890aSEmmanuel Vadot			};
1966f126890aSEmmanuel Vadot
1967f126890aSEmmanuel Vadot			uart4_rts: uart4-rts {
1968f126890aSEmmanuel Vadot				rockchip,pins = <5 RK_PB5 3 &pcfg_pull_none>;
1969f126890aSEmmanuel Vadot			};
1970f126890aSEmmanuel Vadot		};
1971f126890aSEmmanuel Vadot
1972f126890aSEmmanuel Vadot		tsadc {
1973f126890aSEmmanuel Vadot			otp_pin: otp-pin {
1974f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
1975f126890aSEmmanuel Vadot			};
1976f126890aSEmmanuel Vadot
1977f126890aSEmmanuel Vadot			otp_out: otp-out {
1978f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PB2 1 &pcfg_pull_none>;
1979f126890aSEmmanuel Vadot			};
1980f126890aSEmmanuel Vadot		};
1981f126890aSEmmanuel Vadot
1982f126890aSEmmanuel Vadot		pwm0 {
1983f126890aSEmmanuel Vadot			pwm0_pin: pwm0-pin {
1984f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PA0 1 &pcfg_pull_none>;
1985f126890aSEmmanuel Vadot			};
1986f126890aSEmmanuel Vadot		};
1987f126890aSEmmanuel Vadot
1988f126890aSEmmanuel Vadot		pwm1 {
1989f126890aSEmmanuel Vadot			pwm1_pin: pwm1-pin {
1990f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PA1 1 &pcfg_pull_none>;
1991f126890aSEmmanuel Vadot			};
1992f126890aSEmmanuel Vadot		};
1993f126890aSEmmanuel Vadot
1994f126890aSEmmanuel Vadot		pwm2 {
1995f126890aSEmmanuel Vadot			pwm2_pin: pwm2-pin {
1996f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PC6 3 &pcfg_pull_none>;
1997f126890aSEmmanuel Vadot			};
1998f126890aSEmmanuel Vadot		};
1999f126890aSEmmanuel Vadot
2000f126890aSEmmanuel Vadot		pwm3 {
2001f126890aSEmmanuel Vadot			pwm3_pin: pwm3-pin {
2002f126890aSEmmanuel Vadot				rockchip,pins = <7 RK_PC7 3 &pcfg_pull_none>;
2003f126890aSEmmanuel Vadot			};
2004f126890aSEmmanuel Vadot		};
2005f126890aSEmmanuel Vadot
2006f126890aSEmmanuel Vadot		gmac {
2007f126890aSEmmanuel Vadot			rgmii_pins: rgmii-pins {
2008f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD6 3 &pcfg_pull_none>,
2009f126890aSEmmanuel Vadot						<3 RK_PD7 3 &pcfg_pull_none>,
2010f126890aSEmmanuel Vadot						<3 RK_PD2 3 &pcfg_pull_none>,
2011f126890aSEmmanuel Vadot						<3 RK_PD3 3 &pcfg_pull_none>,
2012f126890aSEmmanuel Vadot						<3 RK_PD4 3 &pcfg_pull_none_12ma>,
2013f126890aSEmmanuel Vadot						<3 RK_PD5 3 &pcfg_pull_none_12ma>,
2014f126890aSEmmanuel Vadot						<3 RK_PD0 3 &pcfg_pull_none_12ma>,
2015f126890aSEmmanuel Vadot						<3 RK_PD1 3 &pcfg_pull_none_12ma>,
2016f126890aSEmmanuel Vadot						<4 RK_PA0 3 &pcfg_pull_none>,
2017f126890aSEmmanuel Vadot						<4 RK_PA5 3 &pcfg_pull_none>,
2018f126890aSEmmanuel Vadot						<4 RK_PA6 3 &pcfg_pull_none>,
2019f126890aSEmmanuel Vadot						<4 RK_PB1 3 &pcfg_pull_none_12ma>,
2020f126890aSEmmanuel Vadot						<4 RK_PA4 3 &pcfg_pull_none_12ma>,
2021f126890aSEmmanuel Vadot						<4 RK_PA1 3 &pcfg_pull_none>,
2022f126890aSEmmanuel Vadot						<4 RK_PA3 3 &pcfg_pull_none>;
2023f126890aSEmmanuel Vadot			};
2024f126890aSEmmanuel Vadot
2025f126890aSEmmanuel Vadot			rmii_pins: rmii-pins {
2026f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD6 3 &pcfg_pull_none>,
2027f126890aSEmmanuel Vadot						<3 RK_PD7 3 &pcfg_pull_none>,
2028f126890aSEmmanuel Vadot						<3 RK_PD4 3 &pcfg_pull_none>,
2029f126890aSEmmanuel Vadot						<3 RK_PD5 3 &pcfg_pull_none>,
2030f126890aSEmmanuel Vadot						<4 RK_PA0 3 &pcfg_pull_none>,
2031f126890aSEmmanuel Vadot						<4 RK_PA5 3 &pcfg_pull_none>,
2032f126890aSEmmanuel Vadot						<4 RK_PA4 3 &pcfg_pull_none>,
2033f126890aSEmmanuel Vadot						<4 RK_PA1 3 &pcfg_pull_none>,
2034f126890aSEmmanuel Vadot						<4 RK_PA2 3 &pcfg_pull_none>,
2035f126890aSEmmanuel Vadot						<4 RK_PA3 3 &pcfg_pull_none>;
2036f126890aSEmmanuel Vadot			};
2037f126890aSEmmanuel Vadot		};
2038f126890aSEmmanuel Vadot
2039f126890aSEmmanuel Vadot		spdif {
2040f126890aSEmmanuel Vadot			spdif_tx: spdif-tx {
2041f126890aSEmmanuel Vadot				rockchip,pins = <6 RK_PB3 1 &pcfg_pull_none>;
2042f126890aSEmmanuel Vadot			};
2043f126890aSEmmanuel Vadot		};
2044f126890aSEmmanuel Vadot	};
2045f126890aSEmmanuel Vadot};
2046