xref: /openbmc/u-boot/arch/arm/dts/rk3288.dtsi (revision e5fd39c886485e3dec77f4438a6e364c2987cf5f)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
2344c8376SSimon Glass
3344c8376SSimon Glass#include <dt-bindings/gpio/gpio.h>
4344c8376SSimon Glass#include <dt-bindings/interrupt-controller/irq.h>
5344c8376SSimon Glass#include <dt-bindings/interrupt-controller/arm-gic.h>
6344c8376SSimon Glass#include <dt-bindings/pinctrl/rockchip.h>
7344c8376SSimon Glass#include <dt-bindings/clock/rk3288-cru.h>
8344c8376SSimon Glass#include <dt-bindings/power-domain/rk3288.h>
9344c8376SSimon Glass#include <dt-bindings/thermal/thermal.h>
10cfd97941SJacob Chen#include <dt-bindings/video/rk3288.h>
11344c8376SSimon Glass#include "skeleton.dtsi"
12344c8376SSimon Glass
13344c8376SSimon Glass/ {
14344c8376SSimon Glass	compatible = "rockchip,rk3288";
15344c8376SSimon Glass
16344c8376SSimon Glass	interrupt-parent = <&gic>;
17344c8376SSimon Glass	aliases {
1873a88d0eSSimon Glass		gpio0 = &gpio0;
1973a88d0eSSimon Glass		gpio1 = &gpio1;
2073a88d0eSSimon Glass		gpio2 = &gpio2;
2173a88d0eSSimon Glass		gpio3 = &gpio3;
2273a88d0eSSimon Glass		gpio4 = &gpio4;
2373a88d0eSSimon Glass		gpio5 = &gpio5;
2473a88d0eSSimon Glass		gpio6 = &gpio6;
2573a88d0eSSimon Glass		gpio7 = &gpio7;
2673a88d0eSSimon Glass		gpio8 = &gpio8;
27344c8376SSimon Glass		i2c0 = &i2c0;
28344c8376SSimon Glass		i2c1 = &i2c1;
29344c8376SSimon Glass		i2c2 = &i2c2;
30344c8376SSimon Glass		i2c3 = &i2c3;
31344c8376SSimon Glass		i2c4 = &i2c4;
32344c8376SSimon Glass		i2c5 = &i2c5;
33344c8376SSimon Glass		mmc0 = &emmc;
34344c8376SSimon Glass		mmc1 = &sdmmc;
35344c8376SSimon Glass		mmc2 = &sdio0;
36344c8376SSimon Glass		mmc3 = &sdio1;
37344c8376SSimon Glass		mshc0 = &emmc;
38344c8376SSimon Glass		mshc1 = &sdmmc;
39344c8376SSimon Glass		mshc2 = &sdio0;
40344c8376SSimon Glass		mshc3 = &sdio1;
41344c8376SSimon Glass		serial0 = &uart0;
42344c8376SSimon Glass		serial1 = &uart1;
43344c8376SSimon Glass		serial2 = &uart2;
44344c8376SSimon Glass		serial3 = &uart3;
45344c8376SSimon Glass		serial4 = &uart4;
46344c8376SSimon Glass		spi0 = &spi0;
47344c8376SSimon Glass		spi1 = &spi1;
48344c8376SSimon Glass		spi2 = &spi2;
49344c8376SSimon Glass	};
50344c8376SSimon Glass
51344c8376SSimon Glass	cpus {
52344c8376SSimon Glass		#address-cells = <1>;
53344c8376SSimon Glass		#size-cells = <0>;
54344c8376SSimon Glass		enable-method = "rockchip,rk3066-smp";
55344c8376SSimon Glass		rockchip,pmu = <&pmu>;
56344c8376SSimon Glass
57344c8376SSimon Glass		cpu0: cpu@500 {
58344c8376SSimon Glass			device_type = "cpu";
59344c8376SSimon Glass			compatible = "arm,cortex-a12";
60344c8376SSimon Glass			reg = <0x500>;
61344c8376SSimon Glass			operating-points = <
62344c8376SSimon Glass				/* KHz    uV */
63344c8376SSimon Glass				1800000 1400000
64344c8376SSimon Glass				1704000 1350000
65344c8376SSimon Glass				1608000 1300000
66344c8376SSimon Glass				1512000 1250000
67344c8376SSimon Glass				1416000 1200000
68344c8376SSimon Glass				1200000 1100000
69344c8376SSimon Glass				1008000 1050000
70344c8376SSimon Glass				 816000 1000000
71344c8376SSimon Glass				 696000  950000
72344c8376SSimon Glass				 600000  900000
73344c8376SSimon Glass				 408000  900000
74344c8376SSimon Glass				 216000  900000
75344c8376SSimon Glass				 126000  900000
76344c8376SSimon Glass			>;
77344c8376SSimon Glass			#cooling-cells = <2>; /* min followed by max */
78344c8376SSimon Glass			clock-latency = <40000>;
79344c8376SSimon Glass			clocks = <&cru ARMCLK>;
80344c8376SSimon Glass			resets = <&cru SRST_CORE0>;
81344c8376SSimon Glass		};
82344c8376SSimon Glass		cpu@501 {
83344c8376SSimon Glass			device_type = "cpu";
84344c8376SSimon Glass			compatible = "arm,cortex-a12";
85344c8376SSimon Glass			reg = <0x501>;
86344c8376SSimon Glass			resets = <&cru SRST_CORE1>;
87344c8376SSimon Glass		};
88344c8376SSimon Glass		cpu@502 {
89344c8376SSimon Glass			device_type = "cpu";
90344c8376SSimon Glass			compatible = "arm,cortex-a12";
91344c8376SSimon Glass			reg = <0x502>;
92344c8376SSimon Glass			resets = <&cru SRST_CORE2>;
93344c8376SSimon Glass		};
94344c8376SSimon Glass		cpu@503 {
95344c8376SSimon Glass			device_type = "cpu";
96344c8376SSimon Glass			compatible = "arm,cortex-a12";
97344c8376SSimon Glass			reg = <0x503>;
98344c8376SSimon Glass			resets = <&cru SRST_CORE3>;
99344c8376SSimon Glass		};
100344c8376SSimon Glass	};
101344c8376SSimon Glass
102344c8376SSimon Glass	amba {
103344c8376SSimon Glass		compatible = "arm,amba-bus";
104344c8376SSimon Glass		#address-cells = <1>;
105344c8376SSimon Glass		#size-cells = <1>;
106344c8376SSimon Glass		ranges;
107344c8376SSimon Glass
108344c8376SSimon Glass		dmac_peri: dma-controller@ff250000 {
109344c8376SSimon Glass			compatible = "arm,pl330", "arm,primecell";
110344c8376SSimon Glass			broken-no-flushp;
111344c8376SSimon Glass			reg = <0xff250000 0x4000>;
112344c8376SSimon Glass			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
113344c8376SSimon Glass				     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
114344c8376SSimon Glass			#dma-cells = <1>;
115344c8376SSimon Glass			clocks = <&cru ACLK_DMAC2>;
116344c8376SSimon Glass			clock-names = "apb_pclk";
117344c8376SSimon Glass		};
118344c8376SSimon Glass
119344c8376SSimon Glass		dmac_bus_ns: dma-controller@ff600000 {
120344c8376SSimon Glass			compatible = "arm,pl330", "arm,primecell";
121344c8376SSimon Glass			broken-no-flushp;
122344c8376SSimon Glass			reg = <0xff600000 0x4000>;
123344c8376SSimon Glass			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
124344c8376SSimon Glass				     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
125344c8376SSimon Glass			#dma-cells = <1>;
126344c8376SSimon Glass			clocks = <&cru ACLK_DMAC1>;
127344c8376SSimon Glass			clock-names = "apb_pclk";
128344c8376SSimon Glass			status = "disabled";
129344c8376SSimon Glass		};
130344c8376SSimon Glass
131344c8376SSimon Glass		dmac_bus_s: dma-controller@ffb20000 {
132344c8376SSimon Glass			compatible = "arm,pl330", "arm,primecell";
133344c8376SSimon Glass			broken-no-flushp;
134344c8376SSimon Glass			reg = <0xffb20000 0x4000>;
135344c8376SSimon Glass			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
136344c8376SSimon Glass				     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
137344c8376SSimon Glass			#dma-cells = <1>;
138344c8376SSimon Glass			clocks = <&cru ACLK_DMAC1>;
139344c8376SSimon Glass			clock-names = "apb_pclk";
140344c8376SSimon Glass		};
141344c8376SSimon Glass	};
142344c8376SSimon Glass
143344c8376SSimon Glass	xin24m: oscillator {
144344c8376SSimon Glass		compatible = "fixed-clock";
145344c8376SSimon Glass		clock-frequency = <24000000>;
146344c8376SSimon Glass		clock-output-names = "xin24m";
147344c8376SSimon Glass		#clock-cells = <0>;
148344c8376SSimon Glass	};
149344c8376SSimon Glass
150344c8376SSimon Glass	timer {
151344c8376SSimon Glass	        arm,use-physical-timer;
152344c8376SSimon Glass		compatible = "arm,armv7-timer";
153344c8376SSimon Glass		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
154344c8376SSimon Glass			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
155344c8376SSimon Glass			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
156344c8376SSimon Glass			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
157344c8376SSimon Glass		clock-frequency = <24000000>;
158344c8376SSimon Glass		always-on;
159344c8376SSimon Glass	};
160344c8376SSimon Glass
161344c8376SSimon Glass	display-subsystem {
162344c8376SSimon Glass		compatible = "rockchip,display-subsystem";
163344c8376SSimon Glass		ports = <&vopl_out>, <&vopb_out>;
164344c8376SSimon Glass	};
165344c8376SSimon Glass
166344c8376SSimon Glass	sdmmc: dwmmc@ff0c0000 {
167344c8376SSimon Glass		compatible = "rockchip,rk3288-dw-mshc";
16816e358acSKever Yang		max-frequency = <150000000>;
169344c8376SSimon Glass		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
170344c8376SSimon Glass			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
171344c8376SSimon Glass		clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
172344c8376SSimon Glass		fifo-depth = <0x100>;
173344c8376SSimon Glass		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
174344c8376SSimon Glass		reg = <0xff0c0000 0x4000>;
175344c8376SSimon Glass		status = "disabled";
176344c8376SSimon Glass	};
177344c8376SSimon Glass
178344c8376SSimon Glass	sdio0: dwmmc@ff0d0000 {
179344c8376SSimon Glass		compatible = "rockchip,rk3288-dw-mshc";
18016e358acSKever Yang		max-frequency = <150000000>;
181344c8376SSimon Glass		clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>,
182344c8376SSimon Glass			 <&cru SCLK_SDIO0_DRV>, <&cru SCLK_SDIO0_SAMPLE>;
183344c8376SSimon Glass		clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
184344c8376SSimon Glass		fifo-depth = <0x100>;
185344c8376SSimon Glass		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
186344c8376SSimon Glass		reg = <0xff0d0000 0x4000>;
187344c8376SSimon Glass		status = "disabled";
188344c8376SSimon Glass	};
189344c8376SSimon Glass
190344c8376SSimon Glass	sdio1: dwmmc@ff0e0000 {
191344c8376SSimon Glass		compatible = "rockchip,rk3288-dw-mshc";
19216e358acSKever Yang		max-frequency = <150000000>;
193344c8376SSimon Glass		clocks = <&cru HCLK_SDIO1>, <&cru SCLK_SDIO1>,
194344c8376SSimon Glass			 <&cru SCLK_SDIO1_DRV>, <&cru SCLK_SDIO1_SAMPLE>;
195344c8376SSimon Glass		clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
196344c8376SSimon Glass		fifo-depth = <0x100>;
197344c8376SSimon Glass		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
198344c8376SSimon Glass		reg = <0xff0e0000 0x4000>;
199344c8376SSimon Glass		status = "disabled";
200344c8376SSimon Glass	};
201344c8376SSimon Glass
202344c8376SSimon Glass	emmc: dwmmc@ff0f0000 {
203344c8376SSimon Glass		compatible = "rockchip,rk3288-dw-mshc";
20416e358acSKever Yang		max-frequency = <150000000>;
205344c8376SSimon Glass		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
206344c8376SSimon Glass			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
207344c8376SSimon Glass		clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
208344c8376SSimon Glass		fifo-depth = <0x100>;
209344c8376SSimon Glass		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
210344c8376SSimon Glass		reg = <0xff0f0000 0x4000>;
211344c8376SSimon Glass		status = "disabled";
212344c8376SSimon Glass	};
213344c8376SSimon Glass
214344c8376SSimon Glass	saradc: saradc@ff100000 {
215344c8376SSimon Glass		compatible = "rockchip,saradc";
216344c8376SSimon Glass		reg = <0xff100000 0x100>;
217344c8376SSimon Glass		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
218344c8376SSimon Glass		#io-channel-cells = <1>;
219344c8376SSimon Glass		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
220344c8376SSimon Glass		clock-names = "saradc", "apb_pclk";
221344c8376SSimon Glass		status = "disabled";
222344c8376SSimon Glass	};
223344c8376SSimon Glass
224344c8376SSimon Glass	spi0: spi@ff110000 {
225344c8376SSimon Glass		compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
226344c8376SSimon Glass		clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
227344c8376SSimon Glass		clock-names = "spiclk", "apb_pclk";
228344c8376SSimon Glass		dmas = <&dmac_peri 11>, <&dmac_peri 12>;
229344c8376SSimon Glass		dma-names = "tx", "rx";
230344c8376SSimon Glass		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
231344c8376SSimon Glass		pinctrl-names = "default";
232344c8376SSimon Glass		pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
233344c8376SSimon Glass		reg = <0xff110000 0x1000>;
234344c8376SSimon Glass		#address-cells = <1>;
235344c8376SSimon Glass		#size-cells = <0>;
236344c8376SSimon Glass		status = "disabled";
237344c8376SSimon Glass	};
238344c8376SSimon Glass
239344c8376SSimon Glass	spi1: spi@ff120000 {
240344c8376SSimon Glass		compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
241344c8376SSimon Glass		clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
242344c8376SSimon Glass		clock-names = "spiclk", "apb_pclk";
243344c8376SSimon Glass		dmas = <&dmac_peri 13>, <&dmac_peri 14>;
244344c8376SSimon Glass		dma-names = "tx", "rx";
245344c8376SSimon Glass		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
246344c8376SSimon Glass		pinctrl-names = "default";
247344c8376SSimon Glass		pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
248344c8376SSimon Glass		reg = <0xff120000 0x1000>;
249344c8376SSimon Glass		#address-cells = <1>;
250344c8376SSimon Glass		#size-cells = <0>;
251344c8376SSimon Glass		status = "disabled";
252344c8376SSimon Glass	};
253344c8376SSimon Glass
254344c8376SSimon Glass	spi2: spi@ff130000 {
255344c8376SSimon Glass		compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
256344c8376SSimon Glass		clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
257344c8376SSimon Glass		clock-names = "spiclk", "apb_pclk";
258344c8376SSimon Glass		dmas = <&dmac_peri 15>, <&dmac_peri 16>;
259344c8376SSimon Glass		dma-names = "tx", "rx";
260344c8376SSimon Glass		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
261344c8376SSimon Glass		pinctrl-names = "default";
262344c8376SSimon Glass		pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
263344c8376SSimon Glass		reg = <0xff130000 0x1000>;
264344c8376SSimon Glass		#address-cells = <1>;
265344c8376SSimon Glass		#size-cells = <0>;
266344c8376SSimon Glass		status = "disabled";
267344c8376SSimon Glass	};
268344c8376SSimon Glass
269344c8376SSimon Glass	i2c1: i2c@ff140000 {
270344c8376SSimon Glass		compatible = "rockchip,rk3288-i2c";
271344c8376SSimon Glass		reg = <0xff140000 0x1000>;
272344c8376SSimon Glass		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
273344c8376SSimon Glass		#address-cells = <1>;
274344c8376SSimon Glass		#size-cells = <0>;
275344c8376SSimon Glass		clock-names = "i2c";
276344c8376SSimon Glass		clocks = <&cru PCLK_I2C1>;
277344c8376SSimon Glass		pinctrl-names = "default";
278344c8376SSimon Glass		pinctrl-0 = <&i2c1_xfer>;
279344c8376SSimon Glass		status = "disabled";
280344c8376SSimon Glass	};
281344c8376SSimon Glass
282344c8376SSimon Glass	i2c3: i2c@ff150000 {
283344c8376SSimon Glass		compatible = "rockchip,rk3288-i2c";
284344c8376SSimon Glass		reg = <0xff150000 0x1000>;
285344c8376SSimon Glass		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
286344c8376SSimon Glass		#address-cells = <1>;
287344c8376SSimon Glass		#size-cells = <0>;
288344c8376SSimon Glass		clock-names = "i2c";
289344c8376SSimon Glass		clocks = <&cru PCLK_I2C3>;
290344c8376SSimon Glass		pinctrl-names = "default";
291344c8376SSimon Glass		pinctrl-0 = <&i2c3_xfer>;
292344c8376SSimon Glass		status = "disabled";
293344c8376SSimon Glass	};
294344c8376SSimon Glass
295344c8376SSimon Glass	i2c4: i2c@ff160000 {
296344c8376SSimon Glass		compatible = "rockchip,rk3288-i2c";
297344c8376SSimon Glass		reg = <0xff160000 0x1000>;
298344c8376SSimon Glass		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
299344c8376SSimon Glass		#address-cells = <1>;
300344c8376SSimon Glass		#size-cells = <0>;
301344c8376SSimon Glass		clock-names = "i2c";
302344c8376SSimon Glass		clocks = <&cru PCLK_I2C4>;
303344c8376SSimon Glass		pinctrl-names = "default";
304344c8376SSimon Glass		pinctrl-0 = <&i2c4_xfer>;
305344c8376SSimon Glass		status = "disabled";
306344c8376SSimon Glass	};
307344c8376SSimon Glass
308344c8376SSimon Glass	i2c5: i2c@ff170000 {
309344c8376SSimon Glass		compatible = "rockchip,rk3288-i2c";
310344c8376SSimon Glass		reg = <0xff170000 0x1000>;
311344c8376SSimon Glass		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
312344c8376SSimon Glass		#address-cells = <1>;
313344c8376SSimon Glass		#size-cells = <0>;
314344c8376SSimon Glass		clock-names = "i2c";
315344c8376SSimon Glass		clocks = <&cru PCLK_I2C5>;
316344c8376SSimon Glass		pinctrl-names = "default";
317344c8376SSimon Glass		pinctrl-0 = <&i2c5_xfer>;
318344c8376SSimon Glass		status = "disabled";
319344c8376SSimon Glass	};
320344c8376SSimon Glass	uart0: serial@ff180000 {
321344c8376SSimon Glass		compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
322344c8376SSimon Glass		reg = <0xff180000 0x100>;
323344c8376SSimon Glass		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
324344c8376SSimon Glass		reg-shift = <2>;
325344c8376SSimon Glass		reg-io-width = <4>;
32698a51fc3SThomas Chou		clock-frequency = <24000000>;
327344c8376SSimon Glass		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
328344c8376SSimon Glass		clock-names = "baudclk", "apb_pclk";
329344c8376SSimon Glass		pinctrl-names = "default";
330344c8376SSimon Glass		pinctrl-0 = <&uart0_xfer>;
331344c8376SSimon Glass		status = "disabled";
332344c8376SSimon Glass	};
333344c8376SSimon Glass
334344c8376SSimon Glass	uart1: serial@ff190000 {
335344c8376SSimon Glass		compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
336344c8376SSimon Glass		reg = <0xff190000 0x100>;
337344c8376SSimon Glass		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
338344c8376SSimon Glass		reg-shift = <2>;
339344c8376SSimon Glass		reg-io-width = <4>;
34098a51fc3SThomas Chou		clock-frequency = <24000000>;
341344c8376SSimon Glass		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
342344c8376SSimon Glass		clock-names = "baudclk", "apb_pclk";
343344c8376SSimon Glass		pinctrl-names = "default";
344344c8376SSimon Glass		pinctrl-0 = <&uart1_xfer>;
345344c8376SSimon Glass		status = "disabled";
346344c8376SSimon Glass	};
347344c8376SSimon Glass
348344c8376SSimon Glass	uart2: serial@ff690000 {
349344c8376SSimon Glass		compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
350344c8376SSimon Glass		reg = <0xff690000 0x100>;
351344c8376SSimon Glass		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
352344c8376SSimon Glass		reg-shift = <2>;
353344c8376SSimon Glass		reg-io-width = <4>;
35498a51fc3SThomas Chou		clock-frequency = <24000000>;
355344c8376SSimon Glass		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
356344c8376SSimon Glass		clock-names = "baudclk", "apb_pclk";
357344c8376SSimon Glass		pinctrl-names = "default";
358344c8376SSimon Glass		pinctrl-0 = <&uart2_xfer>;
359344c8376SSimon Glass		status = "disabled";
360344c8376SSimon Glass	};
361344c8376SSimon Glass	uart3: serial@ff1b0000 {
362344c8376SSimon Glass		compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
363344c8376SSimon Glass		reg = <0xff1b0000 0x100>;
364344c8376SSimon Glass		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
365344c8376SSimon Glass		reg-shift = <2>;
366344c8376SSimon Glass		reg-io-width = <4>;
36798a51fc3SThomas Chou		clock-frequency = <24000000>;
368344c8376SSimon Glass		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
369344c8376SSimon Glass		clock-names = "baudclk", "apb_pclk";
370344c8376SSimon Glass		pinctrl-names = "default";
371344c8376SSimon Glass		pinctrl-0 = <&uart3_xfer>;
372344c8376SSimon Glass		status = "disabled";
373344c8376SSimon Glass	};
374344c8376SSimon Glass
375344c8376SSimon Glass	uart4: serial@ff1c0000 {
376344c8376SSimon Glass		compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
377344c8376SSimon Glass		reg = <0xff1c0000 0x100>;
378344c8376SSimon Glass		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
379344c8376SSimon Glass		reg-shift = <2>;
380344c8376SSimon Glass		reg-io-width = <4>;
38198a51fc3SThomas Chou		clock-frequency = <24000000>;
382344c8376SSimon Glass		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
383344c8376SSimon Glass		clock-names = "baudclk", "apb_pclk";
384344c8376SSimon Glass		pinctrl-names = "default";
385344c8376SSimon Glass		pinctrl-0 = <&uart4_xfer>;
386344c8376SSimon Glass		status = "disabled";
387344c8376SSimon Glass	};
388344c8376SSimon Glass	thermal: thermal-zones {
389344c8376SSimon Glass		#include "rk3288-thermal.dtsi"
390344c8376SSimon Glass	};
391344c8376SSimon Glass
392344c8376SSimon Glass	tsadc: tsadc@ff280000 {
393344c8376SSimon Glass		compatible = "rockchip,rk3288-tsadc";
394344c8376SSimon Glass		reg = <0xff280000 0x100>;
395344c8376SSimon Glass		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
396344c8376SSimon Glass		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
397344c8376SSimon Glass		clock-names = "tsadc", "apb_pclk";
398344c8376SSimon Glass		resets = <&cru SRST_TSADC>;
399344c8376SSimon Glass		reset-names = "tsadc-apb";
400344c8376SSimon Glass		pinctrl-names = "otp_out";
401344c8376SSimon Glass		pinctrl-0 = <&otp_out>;
402344c8376SSimon Glass		#thermal-sensor-cells = <1>;
403344c8376SSimon Glass		hw-shut-temp = <125000>;
404344c8376SSimon Glass		status = "disabled";
405344c8376SSimon Glass	};
406344c8376SSimon Glass
407344c8376SSimon Glass	gmac: ethernet@ff290000 {
408344c8376SSimon Glass		compatible = "rockchip,rk3288-gmac";
409344c8376SSimon Glass		reg = <0xff290000 0x10000>;
410344c8376SSimon Glass		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
411344c8376SSimon Glass		interrupt-names = "macirq";
412344c8376SSimon Glass		rockchip,grf = <&grf>;
413344c8376SSimon Glass		clocks = <&cru SCLK_MAC>,
414344c8376SSimon Glass			<&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
415344c8376SSimon Glass			<&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>,
416344c8376SSimon Glass			<&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
417344c8376SSimon Glass		clock-names = "stmmaceth",
418344c8376SSimon Glass			"mac_clk_rx", "mac_clk_tx",
419344c8376SSimon Glass			"clk_mac_ref", "clk_mac_refout",
420344c8376SSimon Glass			"aclk_mac", "pclk_mac";
421344c8376SSimon Glass	};
422344c8376SSimon Glass
423344c8376SSimon Glass	usb_host0_ehci: usb@ff500000 {
424344c8376SSimon Glass		compatible = "generic-ehci";
425344c8376SSimon Glass		reg = <0xff500000 0x100>;
426344c8376SSimon Glass		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
427344c8376SSimon Glass		clocks = <&cru HCLK_USBHOST0>;
428344c8376SSimon Glass		clock-names = "usbhost";
429344c8376SSimon Glass		phys = <&usbphy1>;
430344c8376SSimon Glass		phy-names = "usb";
431344c8376SSimon Glass		status = "disabled";
432344c8376SSimon Glass	};
433344c8376SSimon Glass
434344c8376SSimon Glass	/* NOTE: ohci@ff520000 doesn't actually work on hardware */
435344c8376SSimon Glass
436344c8376SSimon Glass	usb_host1: usb@ff540000 {
437344c8376SSimon Glass		compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
438344c8376SSimon Glass				"snps,dwc2";
439344c8376SSimon Glass		reg = <0xff540000 0x40000>;
440344c8376SSimon Glass		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
441344c8376SSimon Glass		clocks = <&cru HCLK_USBHOST1>;
442344c8376SSimon Glass		clock-names = "otg";
443344c8376SSimon Glass		phys = <&usbphy2>;
444344c8376SSimon Glass		phy-names = "usb2-phy";
445344c8376SSimon Glass		status = "disabled";
446344c8376SSimon Glass	};
447344c8376SSimon Glass
448344c8376SSimon Glass	usb_otg: usb@ff580000 {
449344c8376SSimon Glass		compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
450344c8376SSimon Glass				"snps,dwc2";
451344c8376SSimon Glass		reg = <0xff580000 0x40000>;
452344c8376SSimon Glass		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
453344c8376SSimon Glass		clocks = <&cru HCLK_OTG0>;
454344c8376SSimon Glass		clock-names = "otg";
455266c8fadSXu Ziyuan		dr_mode = "otg";
456344c8376SSimon Glass		phys = <&usbphy0>;
457344c8376SSimon Glass		phy-names = "usb2-phy";
458344c8376SSimon Glass		status = "disabled";
459344c8376SSimon Glass	};
460344c8376SSimon Glass
461344c8376SSimon Glass	usb_hsic: usb@ff5c0000 {
462344c8376SSimon Glass		compatible = "generic-ehci";
463344c8376SSimon Glass		reg = <0xff5c0000 0x100>;
464344c8376SSimon Glass		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
465344c8376SSimon Glass		clocks = <&cru HCLK_HSIC>;
466344c8376SSimon Glass		clock-names = "usbhost";
467344c8376SSimon Glass		status = "disabled";
468344c8376SSimon Glass	};
469344c8376SSimon Glass
470344c8376SSimon Glass	dmc: dmc@ff610000 {
47173a88d0eSSimon Glass		u-boot,dm-pre-reloc;
472344c8376SSimon Glass		compatible = "rockchip,rk3288-dmc", "syscon";
473344c8376SSimon Glass		rockchip,cru = <&cru>;
474344c8376SSimon Glass		rockchip,grf = <&grf>;
475344c8376SSimon Glass		rockchip,pmu = <&pmu>;
476344c8376SSimon Glass		rockchip,sgrf = <&sgrf>;
477344c8376SSimon Glass		rockchip,noc = <&noc>;
478344c8376SSimon Glass		reg = <0xff610000 0x3fc
479344c8376SSimon Glass		       0xff620000 0x294
480344c8376SSimon Glass		       0xff630000 0x3fc
481344c8376SSimon Glass		       0xff640000 0x294>;
482344c8376SSimon Glass		rockchip,sram = <&ddr_sram>;
483344c8376SSimon Glass		clocks = <&cru PCLK_DDRUPCTL0>, <&cru PCLK_PUBL0>,
484344c8376SSimon Glass			 <&cru PCLK_DDRUPCTL1>, <&cru PCLK_PUBL1>,
485344c8376SSimon Glass			 <&cru ARMCLK>;
486344c8376SSimon Glass		clock-names = "pclk_ddrupctl0", "pclk_publ0",
487344c8376SSimon Glass			      "pclk_ddrupctl1", "pclk_publ1",
488344c8376SSimon Glass			      "arm_clk";
489344c8376SSimon Glass	};
490344c8376SSimon Glass
491344c8376SSimon Glass	i2c0: i2c@ff650000 {
492344c8376SSimon Glass		compatible = "rockchip,rk3288-i2c";
493344c8376SSimon Glass		reg = <0xff650000 0x1000>;
494344c8376SSimon Glass		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
495344c8376SSimon Glass		#address-cells = <1>;
496344c8376SSimon Glass		#size-cells = <0>;
497344c8376SSimon Glass		clock-names = "i2c";
498344c8376SSimon Glass		clocks = <&cru PCLK_I2C0>;
499344c8376SSimon Glass		pinctrl-names = "default";
500344c8376SSimon Glass		pinctrl-0 = <&i2c0_xfer>;
501344c8376SSimon Glass		status = "disabled";
502344c8376SSimon Glass	};
503344c8376SSimon Glass
504344c8376SSimon Glass	i2c2: i2c@ff660000 {
505344c8376SSimon Glass		compatible = "rockchip,rk3288-i2c";
506344c8376SSimon Glass		reg = <0xff660000 0x1000>;
507344c8376SSimon Glass		interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
508344c8376SSimon Glass		#address-cells = <1>;
509344c8376SSimon Glass		#size-cells = <0>;
510344c8376SSimon Glass		clock-names = "i2c";
511344c8376SSimon Glass		clocks = <&cru PCLK_I2C2>;
512344c8376SSimon Glass		pinctrl-names = "default";
513344c8376SSimon Glass		pinctrl-0 = <&i2c2_xfer>;
514344c8376SSimon Glass		status = "disabled";
515344c8376SSimon Glass	};
516344c8376SSimon Glass
517344c8376SSimon Glass	pwm0: pwm@ff680000 {
518344c8376SSimon Glass		compatible = "rockchip,rk3288-pwm";
519344c8376SSimon Glass		reg = <0xff680000 0x10>;
520344c8376SSimon Glass		#pwm-cells = <3>;
521344c8376SSimon Glass		pinctrl-names = "default";
522344c8376SSimon Glass		pinctrl-0 = <&pwm0_pin>;
523344c8376SSimon Glass		clocks = <&cru PCLK_PWM>;
524344c8376SSimon Glass		clock-names = "pwm";
525344c8376SSimon Glass		rockchip,grf = <&grf>;
526344c8376SSimon Glass		status = "disabled";
527344c8376SSimon Glass	};
528344c8376SSimon Glass
529344c8376SSimon Glass	pwm1: pwm@ff680010 {
530344c8376SSimon Glass		compatible = "rockchip,rk3288-pwm";
531344c8376SSimon Glass		reg = <0xff680010 0x10>;
532344c8376SSimon Glass		#pwm-cells = <3>;
533344c8376SSimon Glass		pinctrl-names = "default";
534344c8376SSimon Glass		pinctrl-0 = <&pwm1_pin>;
535344c8376SSimon Glass		clocks = <&cru PCLK_PWM>;
536344c8376SSimon Glass		clock-names = "pwm";
537344c8376SSimon Glass		rockchip,grf = <&grf>;
538344c8376SSimon Glass		status = "disabled";
539344c8376SSimon Glass	};
540344c8376SSimon Glass
541344c8376SSimon Glass	pwm2: pwm@ff680020 {
542344c8376SSimon Glass		compatible = "rockchip,rk3288-pwm";
543344c8376SSimon Glass		reg = <0xff680020 0x10>;
544344c8376SSimon Glass		#pwm-cells = <3>;
545344c8376SSimon Glass		pinctrl-names = "default";
546344c8376SSimon Glass		pinctrl-0 = <&pwm2_pin>;
547344c8376SSimon Glass		clocks = <&cru PCLK_PWM>;
548344c8376SSimon Glass		clock-names = "pwm";
549344c8376SSimon Glass		rockchip,grf = <&grf>;
550344c8376SSimon Glass		status = "disabled";
551344c8376SSimon Glass	};
552344c8376SSimon Glass
553344c8376SSimon Glass	pwm3: pwm@ff680030 {
554344c8376SSimon Glass		compatible = "rockchip,rk3288-pwm";
555344c8376SSimon Glass		reg = <0xff680030 0x10>;
556344c8376SSimon Glass		#pwm-cells = <2>;
557344c8376SSimon Glass		pinctrl-names = "default";
558344c8376SSimon Glass		pinctrl-0 = <&pwm3_pin>;
559344c8376SSimon Glass		clocks = <&cru PCLK_PWM>;
560344c8376SSimon Glass		clock-names = "pwm";
561344c8376SSimon Glass		rockchip,grf = <&grf>;
562344c8376SSimon Glass		status = "disabled";
563344c8376SSimon Glass	};
564344c8376SSimon Glass
565344c8376SSimon Glass	bus_intmem@ff700000 {
566344c8376SSimon Glass		compatible = "mmio-sram";
567344c8376SSimon Glass		reg = <0xff700000 0x18000>;
568344c8376SSimon Glass		#address-cells = <1>;
569344c8376SSimon Glass		#size-cells = <1>;
570344c8376SSimon Glass		ranges = <0 0xff700000 0x18000>;
571344c8376SSimon Glass		smp-sram@0 {
572344c8376SSimon Glass			compatible = "rockchip,rk3066-smp-sram";
573344c8376SSimon Glass			reg = <0x00 0x10>;
574344c8376SSimon Glass		};
575344c8376SSimon Glass		ddr_sram: ddr-sram@1000 {
576344c8376SSimon Glass			compatible = "rockchip,rk3288-ddr-sram";
577344c8376SSimon Glass			reg = <0x1000 0x4000>;
578344c8376SSimon Glass		};
579344c8376SSimon Glass	};
580344c8376SSimon Glass
581344c8376SSimon Glass	sram@ff720000 {
582344c8376SSimon Glass		compatible = "rockchip,rk3288-pmu-sram", "mmio-sram";
583344c8376SSimon Glass		reg = <0xff720000 0x1000>;
584344c8376SSimon Glass	};
585344c8376SSimon Glass
586344c8376SSimon Glass	pmu: power-management@ff730000 {
58773a88d0eSSimon Glass		u-boot,dm-pre-reloc;
588344c8376SSimon Glass		compatible = "rockchip,rk3288-pmu", "syscon";
589344c8376SSimon Glass		reg = <0xff730000 0x100>;
590344c8376SSimon Glass	};
591344c8376SSimon Glass
592344c8376SSimon Glass	sgrf: syscon@ff740000 {
59373a88d0eSSimon Glass		u-boot,dm-pre-reloc;
594344c8376SSimon Glass		compatible = "rockchip,rk3288-sgrf", "syscon";
595344c8376SSimon Glass		reg = <0xff740000 0x1000>;
596344c8376SSimon Glass	};
597344c8376SSimon Glass
598344c8376SSimon Glass	cru: clock-controller@ff760000 {
599344c8376SSimon Glass		compatible = "rockchip,rk3288-cru";
600344c8376SSimon Glass		reg = <0xff760000 0x1000>;
601344c8376SSimon Glass		rockchip,grf = <&grf>;
60273a88d0eSSimon Glass		u-boot,dm-pre-reloc;
603344c8376SSimon Glass		#clock-cells = <1>;
604344c8376SSimon Glass		#reset-cells = <1>;
605c513e9e1SDavid Wu		assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>,
606344c8376SSimon Glass				  <&cru PLL_NPLL>, <&cru ACLK_CPU>,
607344c8376SSimon Glass				  <&cru HCLK_CPU>, <&cru PCLK_CPU>,
608344c8376SSimon Glass				  <&cru ACLK_PERI>, <&cru HCLK_PERI>,
609344c8376SSimon Glass				  <&cru PCLK_PERI>;
610c513e9e1SDavid Wu		assigned-clock-rates = <594000000>, <400000000>,
611344c8376SSimon Glass				       <500000000>, <300000000>,
612344c8376SSimon Glass				       <150000000>, <75000000>,
613344c8376SSimon Glass				       <300000000>, <150000000>,
614344c8376SSimon Glass				       <75000000>;
615344c8376SSimon Glass	};
616344c8376SSimon Glass
617344c8376SSimon Glass	grf: syscon@ff770000 {
61873a88d0eSSimon Glass		u-boot,dm-pre-reloc;
619344c8376SSimon Glass		compatible = "rockchip,rk3288-grf", "syscon";
620344c8376SSimon Glass		reg = <0xff770000 0x1000>;
621344c8376SSimon Glass	};
622344c8376SSimon Glass
623344c8376SSimon Glass	wdt: watchdog@ff800000 {
624344c8376SSimon Glass		compatible = "rockchip,rk3288-wdt", "snps,dw-wdt";
625344c8376SSimon Glass		reg = <0xff800000 0x100>;
626344c8376SSimon Glass		clocks = <&cru PCLK_WDT>;
627344c8376SSimon Glass		interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
628344c8376SSimon Glass		status = "disabled";
629344c8376SSimon Glass	};
630344c8376SSimon Glass
6316406f453SSimon Glass	spdif: sound@ff88b0000 {
6326406f453SSimon Glass		compatible = "rockchip,rk3288-spdif", "rockchip,rk3066-spdif";
6336406f453SSimon Glass		reg = <0xff8b0000 0x10000>;
6346406f453SSimon Glass		#sound-dai-cells = <0>;
6356406f453SSimon Glass		clock-names = "hclk", "mclk";
6366406f453SSimon Glass		clocks = <&cru HCLK_SPDIF8CH>, <&cru SCLK_SPDIF8CH>;
6376406f453SSimon Glass		dmas = <&dmac_bus_s 3>;
6386406f453SSimon Glass		dma-names = "tx";
6396406f453SSimon Glass		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
6406406f453SSimon Glass		pinctrl-names = "default";
6416406f453SSimon Glass		pinctrl-0 = <&spdif_tx>;
6426406f453SSimon Glass		rockchip,grf = <&grf>;
6436406f453SSimon Glass		status = "disabled";
6446406f453SSimon Glass	};
6456406f453SSimon Glass
646344c8376SSimon Glass	i2s: i2s@ff890000 {
647344c8376SSimon Glass		compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
648344c8376SSimon Glass		reg = <0xff890000 0x10000>;
649344c8376SSimon Glass		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
650344c8376SSimon Glass		#address-cells = <1>;
651344c8376SSimon Glass		#size-cells = <0>;
652*2d0c01b8SSimon Glass		#sound-dai-cells = <1>;
653344c8376SSimon Glass		dmas = <&dmac_bus_s 0>, <&dmac_bus_s 1>;
654344c8376SSimon Glass		dma-names = "tx", "rx";
655344c8376SSimon Glass		clock-names = "i2s_hclk", "i2s_clk";
656344c8376SSimon Glass		clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
657344c8376SSimon Glass		pinctrl-names = "default";
658344c8376SSimon Glass		pinctrl-0 = <&i2s0_bus>;
659344c8376SSimon Glass		status = "disabled";
660344c8376SSimon Glass	};
661344c8376SSimon Glass
662344c8376SSimon Glass	vopb: vop@ff930000 {
6632085de57SEric Gao		u-boot,dm-pre-reloc;
664344c8376SSimon Glass		compatible = "rockchip,rk3288-vop";
665344c8376SSimon Glass		reg = <0xff930000 0x19c>;
666344c8376SSimon Glass		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
667344c8376SSimon Glass		clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
668344c8376SSimon Glass		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
669344c8376SSimon Glass		resets = <&cru SRST_LCDC0_AXI>, <&cru SRST_LCDC0_AHB>, <&cru SRST_LCDC0_DCLK>;
670344c8376SSimon Glass		reset-names = "axi", "ahb", "dclk";
671344c8376SSimon Glass		iommus = <&vopb_mmu>;
672344c8376SSimon Glass		power-domains = <&power RK3288_PD_VIO>;
673344c8376SSimon Glass		status = "disabled";
674344c8376SSimon Glass		vopb_out: port {
675344c8376SSimon Glass			#address-cells = <1>;
676344c8376SSimon Glass			#size-cells = <0>;
677344c8376SSimon Glass			vopb_out_edp: endpoint@0 {
678344c8376SSimon Glass				reg = <0>;
679344c8376SSimon Glass				remote-endpoint = <&edp_in_vopb>;
680344c8376SSimon Glass			};
681344c8376SSimon Glass			vopb_out_hdmi: endpoint@1 {
682344c8376SSimon Glass				reg = <1>;
683344c8376SSimon Glass				remote-endpoint = <&hdmi_in_vopb>;
684344c8376SSimon Glass			};
685cfd97941SJacob Chen			vopb_out_lvds: endpoint@2 {
686cfd97941SJacob Chen				reg = <2>;
687cfd97941SJacob Chen				remote-endpoint = <&lvds_in_vopb>;
688cfd97941SJacob Chen			};
6892085de57SEric Gao			vopb_out_mipi: endpoint@3 {
6902085de57SEric Gao				reg = <3>;
6912085de57SEric Gao				remote-endpoint = <&mipi_in_vopb>;
6922085de57SEric Gao			};
6932085de57SEric Gao
694344c8376SSimon Glass		};
695344c8376SSimon Glass	};
696344c8376SSimon Glass
697344c8376SSimon Glass	vopb_mmu: iommu@ff930300 {
698344c8376SSimon Glass		compatible = "rockchip,iommu";
699344c8376SSimon Glass		reg = <0xff930300 0x100>;
700344c8376SSimon Glass		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
701344c8376SSimon Glass		interrupt-names = "vopb_mmu";
702344c8376SSimon Glass		power-domains = <&power RK3288_PD_VIO>;
703344c8376SSimon Glass		#iommu-cells = <0>;
704344c8376SSimon Glass		status = "disabled";
705344c8376SSimon Glass	};
706344c8376SSimon Glass
707344c8376SSimon Glass	vopl: vop@ff940000 {
708344c8376SSimon Glass		compatible = "rockchip,rk3288-vop";
709344c8376SSimon Glass		reg = <0xff940000 0x19c>;
710344c8376SSimon Glass		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
711344c8376SSimon Glass		clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>;
712344c8376SSimon Glass		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
713344c8376SSimon Glass		resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>;
714344c8376SSimon Glass		reset-names = "axi", "ahb", "dclk";
715344c8376SSimon Glass		iommus = <&vopl_mmu>;
716344c8376SSimon Glass		power-domains = <&power RK3288_PD_VIO>;
717344c8376SSimon Glass		status = "disabled";
71874336f7dSSimon Glass		u-boot,dm-pre-reloc;
719344c8376SSimon Glass		vopl_out: port {
720344c8376SSimon Glass			#address-cells = <1>;
721344c8376SSimon Glass			#size-cells = <0>;
722344c8376SSimon Glass			vopl_out_edp: endpoint@0 {
723344c8376SSimon Glass				reg = <0>;
724344c8376SSimon Glass				remote-endpoint = <&edp_in_vopl>;
725344c8376SSimon Glass			};
726344c8376SSimon Glass			vopl_out_hdmi: endpoint@1 {
727344c8376SSimon Glass				reg = <1>;
728344c8376SSimon Glass				remote-endpoint = <&hdmi_in_vopl>;
729344c8376SSimon Glass			};
730cfd97941SJacob Chen			vopl_out_lvds: endpoint@2 {
731cfd97941SJacob Chen				reg = <2>;
732cfd97941SJacob Chen				remote-endpoint = <&lvds_in_vopl>;
733cfd97941SJacob Chen			};
7342085de57SEric Gao			vopl_out_mipi: endpoint@3 {
7352085de57SEric Gao				reg = <3>;
7362085de57SEric Gao				remote-endpoint = <&mipi_in_vopl>;
7372085de57SEric Gao			};
7382085de57SEric Gao
739344c8376SSimon Glass		};
740344c8376SSimon Glass	};
741344c8376SSimon Glass
742344c8376SSimon Glass	vopl_mmu: iommu@ff940300 {
743344c8376SSimon Glass		compatible = "rockchip,iommu";
744344c8376SSimon Glass		reg = <0xff940300 0x100>;
745344c8376SSimon Glass		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
746344c8376SSimon Glass		interrupt-names = "vopl_mmu";
747344c8376SSimon Glass		power-domains = <&power RK3288_PD_VIO>;
748344c8376SSimon Glass		#iommu-cells = <0>;
749344c8376SSimon Glass		status = "disabled";
750344c8376SSimon Glass	};
751344c8376SSimon Glass
752344c8376SSimon Glass	edp: edp@ff970000 {
753344c8376SSimon Glass		compatible = "rockchip,rk3288-edp";
754344c8376SSimon Glass		reg = <0xff970000 0x4000>;
755344c8376SSimon Glass		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
756344c8376SSimon Glass		clocks = <&cru SCLK_EDP>, <&cru SCLK_EDP_24M>, <&cru PCLK_EDP_CTRL>;
757344c8376SSimon Glass		rockchip,grf = <&grf>;
758344c8376SSimon Glass		clock-names = "clk_edp", "clk_edp_24m", "pclk_edp";
759344c8376SSimon Glass		resets = <&cru 111>;
760344c8376SSimon Glass		reset-names = "edp";
761344c8376SSimon Glass		power-domains = <&power RK3288_PD_VIO>;
762344c8376SSimon Glass		status = "disabled";
763344c8376SSimon Glass		ports {
764344c8376SSimon Glass			edp_in: port {
765344c8376SSimon Glass				#address-cells = <1>;
766344c8376SSimon Glass				#size-cells = <0>;
767344c8376SSimon Glass				edp_in_vopb: endpoint@0 {
768344c8376SSimon Glass					reg = <0>;
769344c8376SSimon Glass					remote-endpoint = <&vopb_out_edp>;
770344c8376SSimon Glass				};
771344c8376SSimon Glass				edp_in_vopl: endpoint@1 {
772344c8376SSimon Glass					reg = <1>;
773344c8376SSimon Glass					remote-endpoint = <&vopl_out_edp>;
774344c8376SSimon Glass				};
775344c8376SSimon Glass			};
776344c8376SSimon Glass		};
777344c8376SSimon Glass	};
778344c8376SSimon Glass
779344c8376SSimon Glass	hdmi: hdmi@ff980000 {
780344c8376SSimon Glass		compatible = "rockchip,rk3288-dw-hdmi";
781344c8376SSimon Glass		reg = <0xff980000 0x20000>;
782344c8376SSimon Glass		reg-io-width = <4>;
783344c8376SSimon Glass		ddc-i2c-bus = <&i2c5>;
784344c8376SSimon Glass		rockchip,grf = <&grf>;
785344c8376SSimon Glass		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
786344c8376SSimon Glass		clocks = <&cru  PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
787344c8376SSimon Glass		clock-names = "iahb", "isfr";
788344c8376SSimon Glass		status = "disabled";
789344c8376SSimon Glass		ports {
790344c8376SSimon Glass			hdmi_in: port {
791344c8376SSimon Glass				#address-cells = <1>;
792344c8376SSimon Glass				#size-cells = <0>;
793344c8376SSimon Glass				hdmi_in_vopb: endpoint@0 {
794344c8376SSimon Glass					reg = <0>;
795344c8376SSimon Glass					remote-endpoint = <&vopb_out_hdmi>;
796344c8376SSimon Glass				};
797344c8376SSimon Glass				hdmi_in_vopl: endpoint@1 {
798344c8376SSimon Glass					reg = <1>;
799344c8376SSimon Glass					remote-endpoint = <&vopl_out_hdmi>;
800344c8376SSimon Glass				};
801344c8376SSimon Glass			};
802344c8376SSimon Glass		};
803344c8376SSimon Glass	};
804344c8376SSimon Glass
805cfd97941SJacob Chen	lvds: lvds@ff96c000 {
806cfd97941SJacob Chen		compatible = "rockchip,rk3288-lvds";
807cfd97941SJacob Chen		reg = <0xff96c000 0x4000>;
808cfd97941SJacob Chen		clocks = <&cru PCLK_LVDS_PHY>;
809cfd97941SJacob Chen		clock-names = "pclk_lvds";
810cfd97941SJacob Chen		pinctrl-names = "default";
811cfd97941SJacob Chen		pinctrl-0 = <&lcdc0_ctl>;
812cfd97941SJacob Chen		rockchip,grf = <&grf>;
813cfd97941SJacob Chen		status = "disabled";
814cfd97941SJacob Chen		ports {
815cfd97941SJacob Chen			#address-cells = <1>;
816cfd97941SJacob Chen			#size-cells = <0>;
817cfd97941SJacob Chen			lvds_in: port@0 {
818cfd97941SJacob Chen				reg = <0>;
819cfd97941SJacob Chen				#address-cells = <1>;
820cfd97941SJacob Chen				#size-cells = <0>;
821cfd97941SJacob Chen				lvds_in_vopb: endpoint@0 {
822cfd97941SJacob Chen					reg = <0>;
823cfd97941SJacob Chen					remote-endpoint = <&vopb_out_lvds>;
824cfd97941SJacob Chen				};
825cfd97941SJacob Chen				lvds_in_vopl: endpoint@1 {
826cfd97941SJacob Chen					reg = <1>;
827cfd97941SJacob Chen					remote-endpoint = <&vopl_out_lvds>;
828cfd97941SJacob Chen				};
829cfd97941SJacob Chen			};
830cfd97941SJacob Chen		};
831cfd97941SJacob Chen	};
832cfd97941SJacob Chen
8332085de57SEric Gao	mipi_dsi0: mipi@ff960000 {
8342085de57SEric Gao		compatible = "rockchip,rk3288_mipi_dsi";
8352085de57SEric Gao		reg = <0xff960000 0x4000>;
8362085de57SEric Gao		clocks = <&cru PCLK_MIPI_DSI0>;
8372085de57SEric Gao		clock-names = "pclk_mipi";
8382085de57SEric Gao		/*pinctrl-names = "default";
8392085de57SEric Gao		pinctrl-0 = <&lcdc0_ctl>;*/
8402085de57SEric Gao		rockchip,grf = <&grf>;
8412085de57SEric Gao		#address-cells = <1>;
8422085de57SEric Gao		#size-cells = <0>;
8432085de57SEric Gao		status = "disabled";
8442085de57SEric Gao		ports {
8452085de57SEric Gao			reg = <1>;
8462085de57SEric Gao			mipi_in: port {
8472085de57SEric Gao				#address-cells = <1>;
8482085de57SEric Gao				#size-cells = <0>;
8492085de57SEric Gao				mipi_in_vopb: endpoint@0 {
8502085de57SEric Gao					reg = <0>;
8512085de57SEric Gao					remote-endpoint = <&vopb_out_mipi>;
8522085de57SEric Gao				};
8532085de57SEric Gao				mipi_in_vopl: endpoint@1 {
8542085de57SEric Gao					reg = <1>;
8552085de57SEric Gao					remote-endpoint = <&vopl_out_mipi>;
8562085de57SEric Gao				};
8572085de57SEric Gao			};
8582085de57SEric Gao		};
8592085de57SEric Gao	};
8602085de57SEric Gao
861344c8376SSimon Glass	hdmi_audio: hdmi_audio {
862344c8376SSimon Glass		compatible = "rockchip,rk3288-hdmi-audio";
863344c8376SSimon Glass		i2s-controller = <&i2s>;
864344c8376SSimon Glass		status = "disable";
865344c8376SSimon Glass	};
866344c8376SSimon Glass
867344c8376SSimon Glass	vpu: video-codec@ff9a0000 {
868344c8376SSimon Glass		compatible = "rockchip,rk3288-vpu";
869344c8376SSimon Glass		reg = <0xff9a0000 0x800>;
870344c8376SSimon Glass		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
871344c8376SSimon Glass				<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
872344c8376SSimon Glass		interrupt-names = "vepu", "vdpu";
873344c8376SSimon Glass		clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
874344c8376SSimon Glass		clock-names = "aclk_vcodec", "hclk_vcodec";
875344c8376SSimon Glass		power-domains = <&power RK3288_PD_VIDEO>;
876344c8376SSimon Glass		iommus = <&vpu_mmu>;
877344c8376SSimon Glass	};
878344c8376SSimon Glass
879344c8376SSimon Glass	vpu_mmu: iommu@ff9a0800 {
880344c8376SSimon Glass		compatible = "rockchip,iommu";
881344c8376SSimon Glass		reg = <0xff9a0800 0x100>;
882344c8376SSimon Glass		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
883344c8376SSimon Glass		interrupt-names = "vpu_mmu";
884344c8376SSimon Glass		power-domains = <&power RK3288_PD_VIDEO>;
885344c8376SSimon Glass		#iommu-cells = <0>;
886344c8376SSimon Glass	};
887344c8376SSimon Glass
888344c8376SSimon Glass	gpu: gpu@ffa30000 {
889344c8376SSimon Glass		compatible = "arm,malit764",
890344c8376SSimon Glass			     "arm,malit76x",
891344c8376SSimon Glass			     "arm,malit7xx",
892344c8376SSimon Glass			     "arm,mali-midgard";
893344c8376SSimon Glass		reg = <0xffa30000 0x10000>;
894344c8376SSimon Glass		interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
895344c8376SSimon Glass			     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
896344c8376SSimon Glass			     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
897344c8376SSimon Glass		interrupt-names = "JOB", "MMU", "GPU";
898344c8376SSimon Glass		clocks = <&cru ACLK_GPU>;
899344c8376SSimon Glass		clock-names = "aclk_gpu";
900344c8376SSimon Glass		operating-points = <
901344c8376SSimon Glass			/* KHz uV */
902344c8376SSimon Glass			100000 950000
903344c8376SSimon Glass			200000 950000
904344c8376SSimon Glass			300000 1000000
905344c8376SSimon Glass			400000 1100000
906344c8376SSimon Glass			/* 500000 1200000 - See crosbug.com/p/33857 */
907344c8376SSimon Glass			600000 1250000
908344c8376SSimon Glass		>;
909344c8376SSimon Glass		power-domains = <&power RK3288_PD_GPU>;
910344c8376SSimon Glass		status = "disabled";
911344c8376SSimon Glass	};
912344c8376SSimon Glass
913344c8376SSimon Glass	noc: syscon@ffac0000 {
91473a88d0eSSimon Glass		u-boot,dm-pre-reloc;
915344c8376SSimon Glass		compatible = "rockchip,rk3288-noc", "syscon";
916344c8376SSimon Glass		reg = <0xffac0000 0x2000>;
917344c8376SSimon Glass	};
918344c8376SSimon Glass
919344c8376SSimon Glass	efuse: efuse@ffb40000 {
920344c8376SSimon Glass		compatible = "rockchip,rk3288-efuse";
921344c8376SSimon Glass		reg = <0xffb40000 0x10000>;
922344c8376SSimon Glass		status = "disabled";
923344c8376SSimon Glass	};
924344c8376SSimon Glass
925344c8376SSimon Glass	gic: interrupt-controller@ffc01000 {
926344c8376SSimon Glass		compatible = "arm,gic-400";
927344c8376SSimon Glass		interrupt-controller;
928344c8376SSimon Glass		#interrupt-cells = <3>;
929344c8376SSimon Glass		#address-cells = <0>;
930344c8376SSimon Glass
931344c8376SSimon Glass		reg = <0xffc01000 0x1000>,
932344c8376SSimon Glass		      <0xffc02000 0x1000>,
933344c8376SSimon Glass		      <0xffc04000 0x2000>,
934344c8376SSimon Glass		      <0xffc06000 0x2000>;
935344c8376SSimon Glass		interrupts = <GIC_PPI 9 0xf04>;
936344c8376SSimon Glass	};
937344c8376SSimon Glass
938344c8376SSimon Glass	cpuidle: cpuidle {
939344c8376SSimon Glass		compatible = "rockchip,rk3288-cpuidle";
940344c8376SSimon Glass	};
941344c8376SSimon Glass
942344c8376SSimon Glass	usbphy: phy {
943344c8376SSimon Glass		compatible = "rockchip,rk3288-usb-phy";
944344c8376SSimon Glass		rockchip,grf = <&grf>;
945344c8376SSimon Glass		#address-cells = <1>;
946344c8376SSimon Glass		#size-cells = <0>;
947344c8376SSimon Glass		status = "disabled";
948344c8376SSimon Glass
949344c8376SSimon Glass		usbphy0: usb-phy0 {
950344c8376SSimon Glass			#phy-cells = <0>;
951344c8376SSimon Glass			reg = <0x320>;
952344c8376SSimon Glass			clocks = <&cru SCLK_OTGPHY0>;
953344c8376SSimon Glass			clock-names = "phyclk";
954344c8376SSimon Glass		};
955344c8376SSimon Glass
956344c8376SSimon Glass		usbphy1: usb-phy1 {
957344c8376SSimon Glass			#phy-cells = <0>;
958344c8376SSimon Glass			reg = <0x334>;
959344c8376SSimon Glass			clocks = <&cru SCLK_OTGPHY1>;
960344c8376SSimon Glass			clock-names = "phyclk";
961344c8376SSimon Glass		};
962344c8376SSimon Glass
963344c8376SSimon Glass		usbphy2: usb-phy2 {
964344c8376SSimon Glass			#phy-cells = <0>;
965344c8376SSimon Glass			reg = <0x348>;
966344c8376SSimon Glass			clocks = <&cru SCLK_OTGPHY2>;
967344c8376SSimon Glass			clock-names = "phyclk";
968344c8376SSimon Glass		};
969344c8376SSimon Glass	};
970344c8376SSimon Glass
971344c8376SSimon Glass	pinctrl: pinctrl {
972344c8376SSimon Glass		compatible = "rockchip,rk3288-pinctrl";
973344c8376SSimon Glass		rockchip,grf = <&grf>;
974344c8376SSimon Glass		rockchip,pmu = <&pmu>;
975344c8376SSimon Glass		#address-cells = <1>;
976344c8376SSimon Glass		#size-cells = <1>;
977344c8376SSimon Glass		ranges;
978344c8376SSimon Glass
979344c8376SSimon Glass		gpio0: gpio0@ff750000 {
980344c8376SSimon Glass			compatible = "rockchip,gpio-bank";
981344c8376SSimon Glass			reg =	<0xff750000 0x100>;
982344c8376SSimon Glass			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
983344c8376SSimon Glass			clocks = <&cru PCLK_GPIO0>;
984344c8376SSimon Glass
985344c8376SSimon Glass			gpio-controller;
986344c8376SSimon Glass			#gpio-cells = <2>;
987344c8376SSimon Glass
988344c8376SSimon Glass			interrupt-controller;
989344c8376SSimon Glass			#interrupt-cells = <2>;
990344c8376SSimon Glass		};
991344c8376SSimon Glass
992344c8376SSimon Glass		gpio1: gpio1@ff780000 {
993344c8376SSimon Glass			compatible = "rockchip,gpio-bank";
994344c8376SSimon Glass			reg = <0xff780000 0x100>;
995344c8376SSimon Glass			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
996344c8376SSimon Glass			clocks = <&cru PCLK_GPIO1>;
997344c8376SSimon Glass
998344c8376SSimon Glass			gpio-controller;
999344c8376SSimon Glass			#gpio-cells = <2>;
1000344c8376SSimon Glass
1001344c8376SSimon Glass			interrupt-controller;
1002344c8376SSimon Glass			#interrupt-cells = <2>;
1003344c8376SSimon Glass		};
1004344c8376SSimon Glass
1005344c8376SSimon Glass		gpio2: gpio2@ff790000 {
1006344c8376SSimon Glass			compatible = "rockchip,gpio-bank";
1007344c8376SSimon Glass			reg = <0xff790000 0x100>;
1008344c8376SSimon Glass			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1009344c8376SSimon Glass			clocks = <&cru PCLK_GPIO2>;
1010344c8376SSimon Glass
1011344c8376SSimon Glass			gpio-controller;
1012344c8376SSimon Glass			#gpio-cells = <2>;
1013344c8376SSimon Glass
1014344c8376SSimon Glass			interrupt-controller;
1015344c8376SSimon Glass			#interrupt-cells = <2>;
1016344c8376SSimon Glass		};
1017344c8376SSimon Glass
1018344c8376SSimon Glass		gpio3: gpio3@ff7a0000 {
1019344c8376SSimon Glass			compatible = "rockchip,gpio-bank";
1020344c8376SSimon Glass			reg = <0xff7a0000 0x100>;
1021344c8376SSimon Glass			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
1022344c8376SSimon Glass			clocks = <&cru PCLK_GPIO3>;
1023344c8376SSimon Glass
1024344c8376SSimon Glass			gpio-controller;
1025344c8376SSimon Glass			#gpio-cells = <2>;
1026344c8376SSimon Glass
1027344c8376SSimon Glass			interrupt-controller;
1028344c8376SSimon Glass			#interrupt-cells = <2>;
1029344c8376SSimon Glass		};
1030344c8376SSimon Glass
1031344c8376SSimon Glass		gpio4: gpio4@ff7b0000 {
1032344c8376SSimon Glass			compatible = "rockchip,gpio-bank";
1033344c8376SSimon Glass			reg = <0xff7b0000 0x100>;
1034344c8376SSimon Glass			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
1035344c8376SSimon Glass			clocks = <&cru PCLK_GPIO4>;
1036344c8376SSimon Glass
1037344c8376SSimon Glass			gpio-controller;
1038344c8376SSimon Glass			#gpio-cells = <2>;
1039344c8376SSimon Glass
1040344c8376SSimon Glass			interrupt-controller;
1041344c8376SSimon Glass			#interrupt-cells = <2>;
1042344c8376SSimon Glass		};
1043344c8376SSimon Glass
1044344c8376SSimon Glass		gpio5: gpio5@ff7c0000 {
1045344c8376SSimon Glass			compatible = "rockchip,gpio-bank";
1046344c8376SSimon Glass			reg = <0xff7c0000 0x100>;
1047344c8376SSimon Glass			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
1048344c8376SSimon Glass			clocks = <&cru PCLK_GPIO5>;
1049344c8376SSimon Glass
1050344c8376SSimon Glass			gpio-controller;
1051344c8376SSimon Glass			#gpio-cells = <2>;
1052344c8376SSimon Glass
1053344c8376SSimon Glass			interrupt-controller;
1054344c8376SSimon Glass			#interrupt-cells = <2>;
1055344c8376SSimon Glass		};
1056344c8376SSimon Glass
1057344c8376SSimon Glass		gpio6: gpio6@ff7d0000 {
1058344c8376SSimon Glass			compatible = "rockchip,gpio-bank";
1059344c8376SSimon Glass			reg = <0xff7d0000 0x100>;
1060344c8376SSimon Glass			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
1061344c8376SSimon Glass			clocks = <&cru PCLK_GPIO6>;
1062344c8376SSimon Glass
1063344c8376SSimon Glass			gpio-controller;
1064344c8376SSimon Glass			#gpio-cells = <2>;
1065344c8376SSimon Glass
1066344c8376SSimon Glass			interrupt-controller;
1067344c8376SSimon Glass			#interrupt-cells = <2>;
1068344c8376SSimon Glass		};
1069344c8376SSimon Glass
1070344c8376SSimon Glass		gpio7: gpio7@ff7e0000 {
1071344c8376SSimon Glass			compatible = "rockchip,gpio-bank";
1072344c8376SSimon Glass			reg = <0xff7e0000 0x100>;
1073344c8376SSimon Glass			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
1074344c8376SSimon Glass			clocks = <&cru PCLK_GPIO7>;
1075344c8376SSimon Glass
1076344c8376SSimon Glass			gpio-controller;
1077344c8376SSimon Glass			#gpio-cells = <2>;
1078344c8376SSimon Glass
1079344c8376SSimon Glass			interrupt-controller;
1080344c8376SSimon Glass			#interrupt-cells = <2>;
1081344c8376SSimon Glass		};
1082344c8376SSimon Glass
1083344c8376SSimon Glass		gpio8: gpio8@ff7f0000 {
1084344c8376SSimon Glass			compatible = "rockchip,gpio-bank";
1085344c8376SSimon Glass			reg = <0xff7f0000 0x100>;
1086344c8376SSimon Glass			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
1087344c8376SSimon Glass			clocks = <&cru PCLK_GPIO8>;
1088344c8376SSimon Glass
1089344c8376SSimon Glass			gpio-controller;
1090344c8376SSimon Glass			#gpio-cells = <2>;
1091344c8376SSimon Glass
1092344c8376SSimon Glass			interrupt-controller;
1093344c8376SSimon Glass			#interrupt-cells = <2>;
1094344c8376SSimon Glass		};
1095344c8376SSimon Glass
1096344c8376SSimon Glass		pcfg_pull_up: pcfg-pull-up {
1097344c8376SSimon Glass			bias-pull-up;
1098344c8376SSimon Glass		};
1099344c8376SSimon Glass
1100344c8376SSimon Glass		pcfg_pull_down: pcfg-pull-down {
1101344c8376SSimon Glass			bias-pull-down;
1102344c8376SSimon Glass		};
1103344c8376SSimon Glass
1104344c8376SSimon Glass		pcfg_pull_none: pcfg-pull-none {
1105344c8376SSimon Glass			bias-disable;
1106344c8376SSimon Glass		};
1107344c8376SSimon Glass
1108344c8376SSimon Glass		pcfg_pull_none_12ma: pcfg-pull-none-12ma {
1109344c8376SSimon Glass			bias-disable;
1110344c8376SSimon Glass			drive-strength = <12>;
1111344c8376SSimon Glass		};
1112344c8376SSimon Glass
1113344c8376SSimon Glass		sleep {
1114344c8376SSimon Glass			global_pwroff: global-pwroff {
1115344c8376SSimon Glass				rockchip,pins = <0 0 RK_FUNC_1 &pcfg_pull_none>;
1116344c8376SSimon Glass			};
1117344c8376SSimon Glass
1118344c8376SSimon Glass			ddrio_pwroff: ddrio-pwroff {
1119344c8376SSimon Glass				rockchip,pins = <0 1 RK_FUNC_1 &pcfg_pull_none>;
1120344c8376SSimon Glass			};
1121344c8376SSimon Glass
1122344c8376SSimon Glass			ddr0_retention: ddr0-retention {
1123344c8376SSimon Glass				rockchip,pins = <0 2 RK_FUNC_1 &pcfg_pull_up>;
1124344c8376SSimon Glass			};
1125344c8376SSimon Glass
1126344c8376SSimon Glass			ddr1_retention: ddr1-retention {
1127344c8376SSimon Glass				rockchip,pins = <0 3 RK_FUNC_1 &pcfg_pull_up>;
1128344c8376SSimon Glass			};
1129344c8376SSimon Glass		};
1130344c8376SSimon Glass
1131344c8376SSimon Glass		i2c0 {
1132344c8376SSimon Glass			i2c0_xfer: i2c0-xfer {
1133344c8376SSimon Glass				rockchip,pins = <0 15 RK_FUNC_1 &pcfg_pull_none>,
1134344c8376SSimon Glass						<0 16 RK_FUNC_1 &pcfg_pull_none>;
1135344c8376SSimon Glass			};
1136344c8376SSimon Glass		};
1137344c8376SSimon Glass
1138344c8376SSimon Glass		i2c1 {
1139344c8376SSimon Glass			i2c1_xfer: i2c1-xfer {
1140344c8376SSimon Glass				rockchip,pins = <8 4 RK_FUNC_1 &pcfg_pull_none>,
1141344c8376SSimon Glass						<8 5 RK_FUNC_1 &pcfg_pull_none>;
1142344c8376SSimon Glass			};
1143344c8376SSimon Glass		};
1144344c8376SSimon Glass
1145344c8376SSimon Glass		i2c2 {
1146344c8376SSimon Glass			i2c2_xfer: i2c2-xfer {
1147344c8376SSimon Glass				rockchip,pins = <6 9 RK_FUNC_1 &pcfg_pull_none>,
1148344c8376SSimon Glass						<6 10 RK_FUNC_1 &pcfg_pull_none>;
1149344c8376SSimon Glass			};
1150344c8376SSimon Glass		};
1151344c8376SSimon Glass
1152344c8376SSimon Glass		i2c3 {
1153344c8376SSimon Glass			i2c3_xfer: i2c3-xfer {
1154344c8376SSimon Glass				rockchip,pins = <2 16 RK_FUNC_1 &pcfg_pull_none>,
1155344c8376SSimon Glass						<2 17 RK_FUNC_1 &pcfg_pull_none>;
1156344c8376SSimon Glass			};
1157344c8376SSimon Glass		};
1158344c8376SSimon Glass
1159344c8376SSimon Glass		i2c4 {
1160344c8376SSimon Glass			i2c4_xfer: i2c4-xfer {
1161344c8376SSimon Glass				rockchip,pins = <7 17 RK_FUNC_1 &pcfg_pull_none>,
1162344c8376SSimon Glass						<7 18 RK_FUNC_1 &pcfg_pull_none>;
1163344c8376SSimon Glass			};
1164344c8376SSimon Glass		};
1165344c8376SSimon Glass
1166344c8376SSimon Glass		i2c5 {
1167344c8376SSimon Glass			i2c5_xfer: i2c5-xfer {
1168344c8376SSimon Glass				rockchip,pins = <7 19 RK_FUNC_1 &pcfg_pull_none>,
1169344c8376SSimon Glass						<7 20 RK_FUNC_1 &pcfg_pull_none>;
1170344c8376SSimon Glass			};
1171344c8376SSimon Glass		};
1172344c8376SSimon Glass
1173344c8376SSimon Glass		i2s0 {
1174344c8376SSimon Glass			i2s0_bus: i2s0-bus {
1175344c8376SSimon Glass				rockchip,pins = <6 0 RK_FUNC_1 &pcfg_pull_none>,
1176344c8376SSimon Glass						<6 1 RK_FUNC_1 &pcfg_pull_none>,
1177344c8376SSimon Glass						<6 2 RK_FUNC_1 &pcfg_pull_none>,
1178344c8376SSimon Glass						<6 3 RK_FUNC_1 &pcfg_pull_none>,
1179344c8376SSimon Glass						<6 4 RK_FUNC_1 &pcfg_pull_none>,
1180344c8376SSimon Glass						<6 8 RK_FUNC_1 &pcfg_pull_none>;
1181344c8376SSimon Glass			};
1182344c8376SSimon Glass		};
1183344c8376SSimon Glass
1184cfd97941SJacob Chen		lcdc0 {
1185cfd97941SJacob Chen			lcdc0_ctl: lcdc0-ctl {
1186cfd97941SJacob Chen				rockchip,pins = <1 24 RK_FUNC_1 &pcfg_pull_none>,
1187cfd97941SJacob Chen						<1 25 RK_FUNC_1 &pcfg_pull_none>,
1188cfd97941SJacob Chen						<1 26 RK_FUNC_1 &pcfg_pull_none>,
1189cfd97941SJacob Chen						<1 27 RK_FUNC_1 &pcfg_pull_none>;
1190cfd97941SJacob Chen			};
1191cfd97941SJacob Chen		};
1192cfd97941SJacob Chen
1193344c8376SSimon Glass		sdmmc {
1194344c8376SSimon Glass			sdmmc_clk: sdmmc-clk {
1195344c8376SSimon Glass				rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none>;
1196344c8376SSimon Glass			};
1197344c8376SSimon Glass
1198344c8376SSimon Glass			sdmmc_cmd: sdmmc-cmd {
1199344c8376SSimon Glass				rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up>;
1200344c8376SSimon Glass			};
1201344c8376SSimon Glass
1202344c8376SSimon Glass			sdmmc_cd: sdmcc-cd {
1203344c8376SSimon Glass				rockchip,pins = <6 22 RK_FUNC_1 &pcfg_pull_up>;
1204344c8376SSimon Glass			};
1205344c8376SSimon Glass
1206344c8376SSimon Glass			sdmmc_bus1: sdmmc-bus1 {
1207344c8376SSimon Glass				rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up>;
1208344c8376SSimon Glass			};
1209344c8376SSimon Glass
1210344c8376SSimon Glass			sdmmc_bus4: sdmmc-bus4 {
1211344c8376SSimon Glass				rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up>,
1212344c8376SSimon Glass						<6 17 RK_FUNC_1 &pcfg_pull_up>,
1213344c8376SSimon Glass						<6 18 RK_FUNC_1 &pcfg_pull_up>,
1214344c8376SSimon Glass						<6 19 RK_FUNC_1 &pcfg_pull_up>;
1215344c8376SSimon Glass			};
1216344c8376SSimon Glass		};
1217344c8376SSimon Glass
1218344c8376SSimon Glass		sdio0 {
1219344c8376SSimon Glass			sdio0_bus1: sdio0-bus1 {
1220344c8376SSimon Glass				rockchip,pins = <4 20 RK_FUNC_1 &pcfg_pull_up>;
1221344c8376SSimon Glass			};
1222344c8376SSimon Glass
1223344c8376SSimon Glass			sdio0_bus4: sdio0-bus4 {
1224344c8376SSimon Glass				rockchip,pins = <4 20 RK_FUNC_1 &pcfg_pull_up>,
1225344c8376SSimon Glass						<4 21 RK_FUNC_1 &pcfg_pull_up>,
1226344c8376SSimon Glass						<4 22 RK_FUNC_1 &pcfg_pull_up>,
1227344c8376SSimon Glass						<4 23 RK_FUNC_1 &pcfg_pull_up>;
1228344c8376SSimon Glass			};
1229344c8376SSimon Glass
1230344c8376SSimon Glass			sdio0_cmd: sdio0-cmd {
1231344c8376SSimon Glass				rockchip,pins = <4 24 RK_FUNC_1 &pcfg_pull_up>;
1232344c8376SSimon Glass			};
1233344c8376SSimon Glass
1234344c8376SSimon Glass			sdio0_clk: sdio0-clk {
1235344c8376SSimon Glass				rockchip,pins = <4 25 RK_FUNC_1 &pcfg_pull_none>;
1236344c8376SSimon Glass			};
1237344c8376SSimon Glass
1238344c8376SSimon Glass			sdio0_cd: sdio0-cd {
1239344c8376SSimon Glass				rockchip,pins = <4 26 RK_FUNC_1 &pcfg_pull_up>;
1240344c8376SSimon Glass			};
1241344c8376SSimon Glass
1242344c8376SSimon Glass			sdio0_wp: sdio0-wp {
1243344c8376SSimon Glass				rockchip,pins = <4 27 RK_FUNC_1 &pcfg_pull_up>;
1244344c8376SSimon Glass			};
1245344c8376SSimon Glass
1246344c8376SSimon Glass			sdio0_pwr: sdio0-pwr {
1247344c8376SSimon Glass				rockchip,pins = <4 28 RK_FUNC_1 &pcfg_pull_up>;
1248344c8376SSimon Glass			};
1249344c8376SSimon Glass
1250344c8376SSimon Glass			sdio0_bkpwr: sdio0-bkpwr {
1251344c8376SSimon Glass				rockchip,pins = <4 29 RK_FUNC_1 &pcfg_pull_up>;
1252344c8376SSimon Glass			};
1253344c8376SSimon Glass
1254344c8376SSimon Glass			sdio0_int: sdio0-int {
1255344c8376SSimon Glass				rockchip,pins = <4 30 RK_FUNC_1 &pcfg_pull_up>;
1256344c8376SSimon Glass			};
1257344c8376SSimon Glass		};
1258344c8376SSimon Glass
1259344c8376SSimon Glass		sdio1 {
1260344c8376SSimon Glass			sdio1_bus1: sdio1-bus1 {
1261344c8376SSimon Glass				rockchip,pins = <3 24 RK_FUNC_4 &pcfg_pull_up>;
1262344c8376SSimon Glass			};
1263344c8376SSimon Glass
1264344c8376SSimon Glass			sdio1_bus4: sdio1-bus4 {
1265344c8376SSimon Glass				rockchip,pins = <3 24 RK_FUNC_4 &pcfg_pull_up>,
1266344c8376SSimon Glass						<3 25 RK_FUNC_4 &pcfg_pull_up>,
1267344c8376SSimon Glass						<3 26 RK_FUNC_4 &pcfg_pull_up>,
1268344c8376SSimon Glass						<3 27 RK_FUNC_4 &pcfg_pull_up>;
1269344c8376SSimon Glass			};
1270344c8376SSimon Glass
1271344c8376SSimon Glass			sdio1_cd: sdio1-cd {
1272344c8376SSimon Glass				rockchip,pins = <3 28 RK_FUNC_4 &pcfg_pull_up>;
1273344c8376SSimon Glass			};
1274344c8376SSimon Glass
1275344c8376SSimon Glass			sdio1_wp: sdio1-wp {
1276344c8376SSimon Glass				rockchip,pins = <3 29 RK_FUNC_4 &pcfg_pull_up>;
1277344c8376SSimon Glass			};
1278344c8376SSimon Glass
1279344c8376SSimon Glass			sdio1_bkpwr: sdio1-bkpwr {
1280344c8376SSimon Glass				rockchip,pins = <3 30 RK_FUNC_4 &pcfg_pull_up>;
1281344c8376SSimon Glass			};
1282344c8376SSimon Glass
1283344c8376SSimon Glass			sdio1_int: sdio1-int {
1284344c8376SSimon Glass				rockchip,pins = <3 31 RK_FUNC_4 &pcfg_pull_up>;
1285344c8376SSimon Glass			};
1286344c8376SSimon Glass
1287344c8376SSimon Glass			sdio1_cmd: sdio1-cmd {
1288344c8376SSimon Glass				rockchip,pins = <4 6 RK_FUNC_4 &pcfg_pull_up>;
1289344c8376SSimon Glass			};
1290344c8376SSimon Glass
1291344c8376SSimon Glass			sdio1_clk: sdio1-clk {
1292344c8376SSimon Glass				rockchip,pins = <4 7 RK_FUNC_4 &pcfg_pull_none>;
1293344c8376SSimon Glass			};
1294344c8376SSimon Glass
1295344c8376SSimon Glass			sdio1_pwr: sdio1-pwr {
1296344c8376SSimon Glass				rockchip,pins = <4 9 RK_FUNC_4 &pcfg_pull_up>;
1297344c8376SSimon Glass			};
1298344c8376SSimon Glass		};
1299344c8376SSimon Glass
1300344c8376SSimon Glass		emmc {
1301344c8376SSimon Glass			emmc_clk: emmc-clk {
1302344c8376SSimon Glass				rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none>;
1303344c8376SSimon Glass			};
1304344c8376SSimon Glass
1305344c8376SSimon Glass			emmc_cmd: emmc-cmd {
1306344c8376SSimon Glass				rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_up>;
1307344c8376SSimon Glass			};
1308344c8376SSimon Glass
1309344c8376SSimon Glass			emmc_pwr: emmc-pwr {
1310344c8376SSimon Glass				rockchip,pins = <3 9 RK_FUNC_2 &pcfg_pull_up>;
1311344c8376SSimon Glass			};
1312344c8376SSimon Glass
1313344c8376SSimon Glass			emmc_bus1: emmc-bus1 {
1314344c8376SSimon Glass				rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>;
1315344c8376SSimon Glass			};
1316344c8376SSimon Glass
1317344c8376SSimon Glass			emmc_bus4: emmc-bus4 {
1318344c8376SSimon Glass				rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>,
1319344c8376SSimon Glass						<3 1 RK_FUNC_2 &pcfg_pull_up>,
1320344c8376SSimon Glass						<3 2 RK_FUNC_2 &pcfg_pull_up>,
1321344c8376SSimon Glass						<3 3 RK_FUNC_2 &pcfg_pull_up>;
1322344c8376SSimon Glass			};
1323344c8376SSimon Glass
1324344c8376SSimon Glass			emmc_bus8: emmc-bus8 {
1325344c8376SSimon Glass				rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_up>,
1326344c8376SSimon Glass						<3 1 RK_FUNC_2 &pcfg_pull_up>,
1327344c8376SSimon Glass						<3 2 RK_FUNC_2 &pcfg_pull_up>,
1328344c8376SSimon Glass						<3 3 RK_FUNC_2 &pcfg_pull_up>,
1329344c8376SSimon Glass						<3 4 RK_FUNC_2 &pcfg_pull_up>,
1330344c8376SSimon Glass						<3 5 RK_FUNC_2 &pcfg_pull_up>,
1331344c8376SSimon Glass						<3 6 RK_FUNC_2 &pcfg_pull_up>,
1332344c8376SSimon Glass						<3 7 RK_FUNC_2 &pcfg_pull_up>;
1333344c8376SSimon Glass			};
1334344c8376SSimon Glass		};
1335344c8376SSimon Glass
1336344c8376SSimon Glass		spi0 {
1337344c8376SSimon Glass			spi0_clk: spi0-clk {
1338344c8376SSimon Glass				rockchip,pins = <5 12 RK_FUNC_1 &pcfg_pull_up>;
1339344c8376SSimon Glass			};
1340344c8376SSimon Glass			spi0_cs0: spi0-cs0 {
1341344c8376SSimon Glass				rockchip,pins = <5 13 RK_FUNC_1 &pcfg_pull_up>;
1342344c8376SSimon Glass			};
1343344c8376SSimon Glass			spi0_tx: spi0-tx {
1344344c8376SSimon Glass				rockchip,pins = <5 14 RK_FUNC_1 &pcfg_pull_up>;
1345344c8376SSimon Glass			};
1346344c8376SSimon Glass			spi0_rx: spi0-rx {
1347344c8376SSimon Glass				rockchip,pins = <5 15 RK_FUNC_1 &pcfg_pull_up>;
1348344c8376SSimon Glass			};
1349344c8376SSimon Glass			spi0_cs1: spi0-cs1 {
1350344c8376SSimon Glass				rockchip,pins = <5 16 RK_FUNC_1 &pcfg_pull_up>;
1351344c8376SSimon Glass			};
1352344c8376SSimon Glass		};
1353344c8376SSimon Glass		spi1 {
1354344c8376SSimon Glass			spi1_clk: spi1-clk {
1355344c8376SSimon Glass				rockchip,pins = <7 12 RK_FUNC_2 &pcfg_pull_up>;
1356344c8376SSimon Glass			};
1357344c8376SSimon Glass			spi1_cs0: spi1-cs0 {
1358344c8376SSimon Glass				rockchip,pins = <7 13 RK_FUNC_2 &pcfg_pull_up>;
1359344c8376SSimon Glass			};
1360344c8376SSimon Glass			spi1_rx: spi1-rx {
1361344c8376SSimon Glass				rockchip,pins = <7 14 RK_FUNC_2 &pcfg_pull_up>;
1362344c8376SSimon Glass			};
1363344c8376SSimon Glass			spi1_tx: spi1-tx {
1364344c8376SSimon Glass				rockchip,pins = <7 15 RK_FUNC_2 &pcfg_pull_up>;
1365344c8376SSimon Glass			};
1366344c8376SSimon Glass		};
1367344c8376SSimon Glass
1368344c8376SSimon Glass		spi2 {
1369344c8376SSimon Glass			spi2_cs1: spi2-cs1 {
1370344c8376SSimon Glass				rockchip,pins = <8 3 RK_FUNC_1 &pcfg_pull_up>;
1371344c8376SSimon Glass			};
1372344c8376SSimon Glass			spi2_clk: spi2-clk {
1373344c8376SSimon Glass				rockchip,pins = <8 6 RK_FUNC_1 &pcfg_pull_up>;
1374344c8376SSimon Glass			};
1375344c8376SSimon Glass			spi2_cs0: spi2-cs0 {
1376344c8376SSimon Glass				rockchip,pins = <8 7 RK_FUNC_1 &pcfg_pull_up>;
1377344c8376SSimon Glass			};
1378344c8376SSimon Glass			spi2_rx: spi2-rx {
1379344c8376SSimon Glass				rockchip,pins = <8 8 RK_FUNC_1 &pcfg_pull_up>;
1380344c8376SSimon Glass			};
1381344c8376SSimon Glass			spi2_tx: spi2-tx {
1382344c8376SSimon Glass				rockchip,pins = <8 9 RK_FUNC_1 &pcfg_pull_up>;
1383344c8376SSimon Glass			};
1384344c8376SSimon Glass		};
1385344c8376SSimon Glass
1386344c8376SSimon Glass		uart0 {
1387344c8376SSimon Glass			uart0_xfer: uart0-xfer {
1388344c8376SSimon Glass				rockchip,pins = <4 16 RK_FUNC_1 &pcfg_pull_up>,
1389344c8376SSimon Glass						<4 17 RK_FUNC_1 &pcfg_pull_none>;
1390344c8376SSimon Glass			};
1391344c8376SSimon Glass
1392344c8376SSimon Glass			uart0_cts: uart0-cts {
1393344c8376SSimon Glass				rockchip,pins = <4 18 RK_FUNC_1 &pcfg_pull_none>;
1394344c8376SSimon Glass			};
1395344c8376SSimon Glass
1396344c8376SSimon Glass			uart0_rts: uart0-rts {
1397344c8376SSimon Glass				rockchip,pins = <4 19 RK_FUNC_1 &pcfg_pull_none>;
1398344c8376SSimon Glass			};
1399344c8376SSimon Glass		};
1400344c8376SSimon Glass
1401344c8376SSimon Glass		uart1 {
1402344c8376SSimon Glass			uart1_xfer: uart1-xfer {
1403344c8376SSimon Glass				rockchip,pins = <5 8 RK_FUNC_1 &pcfg_pull_up>,
1404344c8376SSimon Glass						<5 9 RK_FUNC_1 &pcfg_pull_none>;
1405344c8376SSimon Glass			};
1406344c8376SSimon Glass
1407344c8376SSimon Glass			uart1_cts: uart1-cts {
1408344c8376SSimon Glass				rockchip,pins = <5 10 RK_FUNC_1 &pcfg_pull_none>;
1409344c8376SSimon Glass			};
1410344c8376SSimon Glass
1411344c8376SSimon Glass			uart1_rts: uart1-rts {
1412344c8376SSimon Glass				rockchip,pins = <5 11 RK_FUNC_1 &pcfg_pull_none>;
1413344c8376SSimon Glass			};
1414344c8376SSimon Glass		};
1415344c8376SSimon Glass
1416344c8376SSimon Glass		uart2 {
1417344c8376SSimon Glass			uart2_xfer: uart2-xfer {
1418344c8376SSimon Glass				rockchip,pins = <7 22 RK_FUNC_1 &pcfg_pull_up>,
1419344c8376SSimon Glass						<7 23 RK_FUNC_1 &pcfg_pull_none>;
1420344c8376SSimon Glass			};
1421344c8376SSimon Glass			/* no rts / cts for uart2 */
1422344c8376SSimon Glass		};
1423344c8376SSimon Glass
1424344c8376SSimon Glass		uart3 {
1425344c8376SSimon Glass			uart3_xfer: uart3-xfer {
1426344c8376SSimon Glass				rockchip,pins = <7 7 RK_FUNC_1 &pcfg_pull_up>,
1427344c8376SSimon Glass						<7 8 RK_FUNC_1 &pcfg_pull_none>;
1428344c8376SSimon Glass			};
1429344c8376SSimon Glass
1430344c8376SSimon Glass			uart3_cts: uart3-cts {
1431344c8376SSimon Glass				rockchip,pins = <7 9 RK_FUNC_1 &pcfg_pull_none>;
1432344c8376SSimon Glass			};
1433344c8376SSimon Glass
1434344c8376SSimon Glass			uart3_rts: uart3-rts {
1435344c8376SSimon Glass				rockchip,pins = <7 10 RK_FUNC_1 &pcfg_pull_none>;
1436344c8376SSimon Glass			};
1437344c8376SSimon Glass		};
1438344c8376SSimon Glass
1439344c8376SSimon Glass		uart4 {
1440344c8376SSimon Glass			uart4_xfer: uart4-xfer {
1441344c8376SSimon Glass				rockchip,pins = <5 12 3 &pcfg_pull_up>,
1442344c8376SSimon Glass						<5 13 3 &pcfg_pull_none>;
1443344c8376SSimon Glass			};
1444344c8376SSimon Glass
1445344c8376SSimon Glass			uart4_cts: uart4-cts {
1446344c8376SSimon Glass				rockchip,pins = <5 14 3 &pcfg_pull_none>;
1447344c8376SSimon Glass			};
1448344c8376SSimon Glass
1449344c8376SSimon Glass			uart4_rts: uart4-rts {
1450344c8376SSimon Glass				rockchip,pins = <5 15 3 &pcfg_pull_none>;
1451344c8376SSimon Glass			};
1452344c8376SSimon Glass		};
1453344c8376SSimon Glass
1454344c8376SSimon Glass		tsadc {
1455344c8376SSimon Glass			otp_out: otp-out {
1456344c8376SSimon Glass				rockchip,pins = <0 10 RK_FUNC_1 &pcfg_pull_none>;
1457344c8376SSimon Glass			};
1458344c8376SSimon Glass		};
1459344c8376SSimon Glass
1460344c8376SSimon Glass		pwm0 {
1461344c8376SSimon Glass			pwm0_pin: pwm0-pin {
1462344c8376SSimon Glass				rockchip,pins = <7 0 RK_FUNC_1 &pcfg_pull_none>;
1463344c8376SSimon Glass			};
1464344c8376SSimon Glass		};
1465344c8376SSimon Glass
1466344c8376SSimon Glass		pwm1 {
1467344c8376SSimon Glass			pwm1_pin: pwm1-pin {
1468344c8376SSimon Glass				rockchip,pins = <7 1 RK_FUNC_1 &pcfg_pull_none>;
1469344c8376SSimon Glass			};
1470344c8376SSimon Glass		};
1471344c8376SSimon Glass
1472344c8376SSimon Glass		pwm2 {
1473344c8376SSimon Glass			pwm2_pin: pwm2-pin {
1474344c8376SSimon Glass				rockchip,pins = <7 22 RK_FUNC_3 &pcfg_pull_none>;
1475344c8376SSimon Glass			};
1476344c8376SSimon Glass		};
1477344c8376SSimon Glass
1478344c8376SSimon Glass		pwm3 {
1479344c8376SSimon Glass			pwm3_pin: pwm3-pin {
1480344c8376SSimon Glass				rockchip,pins = <7 23 RK_FUNC_3 &pcfg_pull_none>;
1481344c8376SSimon Glass			};
1482344c8376SSimon Glass		};
1483344c8376SSimon Glass
1484344c8376SSimon Glass		gmac {
1485344c8376SSimon Glass			rgmii_pins: rgmii-pins {
1486344c8376SSimon Glass				rockchip,pins = <3 30 3 &pcfg_pull_none>,
1487344c8376SSimon Glass						<3 31 3 &pcfg_pull_none>,
1488344c8376SSimon Glass						<3 26 3 &pcfg_pull_none>,
1489344c8376SSimon Glass						<3 27 3 &pcfg_pull_none>,
1490344c8376SSimon Glass						<3 28 3 &pcfg_pull_none_12ma>,
1491344c8376SSimon Glass						<3 29 3 &pcfg_pull_none_12ma>,
1492344c8376SSimon Glass						<3 24 3 &pcfg_pull_none_12ma>,
1493344c8376SSimon Glass						<3 25 3 &pcfg_pull_none_12ma>,
1494344c8376SSimon Glass						<4 0 3 &pcfg_pull_none>,
1495344c8376SSimon Glass						<4 5 3 &pcfg_pull_none>,
1496344c8376SSimon Glass						<4 6 3 &pcfg_pull_none>,
1497344c8376SSimon Glass						<4 9 3 &pcfg_pull_none_12ma>,
1498344c8376SSimon Glass						<4 4 3 &pcfg_pull_none_12ma>,
1499344c8376SSimon Glass						<4 1 3 &pcfg_pull_none>,
1500344c8376SSimon Glass						<4 3 3 &pcfg_pull_none>;
1501344c8376SSimon Glass			};
1502344c8376SSimon Glass
1503344c8376SSimon Glass			rmii_pins: rmii-pins {
1504344c8376SSimon Glass				rockchip,pins = <3 30 3 &pcfg_pull_none>,
1505344c8376SSimon Glass						<3 31 3 &pcfg_pull_none>,
1506344c8376SSimon Glass						<3 28 3 &pcfg_pull_none>,
1507344c8376SSimon Glass						<3 29 3 &pcfg_pull_none>,
1508344c8376SSimon Glass						<4 0 3 &pcfg_pull_none>,
1509344c8376SSimon Glass						<4 5 3 &pcfg_pull_none>,
1510344c8376SSimon Glass						<4 4 3 &pcfg_pull_none>,
1511344c8376SSimon Glass						<4 1 3 &pcfg_pull_none>,
1512344c8376SSimon Glass						<4 2 3 &pcfg_pull_none>,
1513344c8376SSimon Glass						<4 3 3 &pcfg_pull_none>;
1514344c8376SSimon Glass			};
1515344c8376SSimon Glass		};
15166406f453SSimon Glass
15176406f453SSimon Glass		spdif {
15186406f453SSimon Glass			spdif_tx: spdif-tx {
15196406f453SSimon Glass				rockchip,pins = <RK_GPIO6 11 RK_FUNC_1 &pcfg_pull_none>;
15206406f453SSimon Glass			};
15216406f453SSimon Glass		};
1522344c8376SSimon Glass	};
1523344c8376SSimon Glass
1524344c8376SSimon Glass	power: power-controller {
1525344c8376SSimon Glass		compatible = "rockchip,rk3288-power-controller";
1526344c8376SSimon Glass		#power-domain-cells = <1>;
1527344c8376SSimon Glass		rockchip,pmu = <&pmu>;
1528344c8376SSimon Glass		#address-cells = <1>;
1529344c8376SSimon Glass		#size-cells = <0>;
1530344c8376SSimon Glass
1531344c8376SSimon Glass		pd_gpu {
1532344c8376SSimon Glass			reg = <RK3288_PD_GPU>;
1533344c8376SSimon Glass			clocks = <&cru ACLK_GPU>;
1534344c8376SSimon Glass		};
1535344c8376SSimon Glass
1536344c8376SSimon Glass		pd_hevc {
1537344c8376SSimon Glass			reg = <RK3288_PD_HEVC>;
1538344c8376SSimon Glass			clocks = <&cru ACLK_HEVC>,
1539344c8376SSimon Glass				 <&cru SCLK_HEVC_CABAC>,
1540344c8376SSimon Glass				 <&cru SCLK_HEVC_CORE>,
1541344c8376SSimon Glass				 <&cru HCLK_HEVC>;
1542344c8376SSimon Glass		};
1543344c8376SSimon Glass
1544344c8376SSimon Glass		pd_vio {
1545344c8376SSimon Glass			reg = <RK3288_PD_VIO>;
1546344c8376SSimon Glass			clocks = <&cru ACLK_IEP>,
1547344c8376SSimon Glass				 <&cru ACLK_ISP>,
1548344c8376SSimon Glass				 <&cru ACLK_RGA>,
1549344c8376SSimon Glass				 <&cru ACLK_VIP>,
1550344c8376SSimon Glass				 <&cru ACLK_VOP0>,
1551344c8376SSimon Glass				 <&cru ACLK_VOP1>,
1552344c8376SSimon Glass				 <&cru DCLK_VOP0>,
1553344c8376SSimon Glass				 <&cru DCLK_VOP1>,
1554344c8376SSimon Glass				 <&cru HCLK_IEP>,
1555344c8376SSimon Glass				 <&cru HCLK_ISP>,
1556344c8376SSimon Glass				 <&cru HCLK_RGA>,
1557344c8376SSimon Glass				 <&cru HCLK_VIP>,
1558344c8376SSimon Glass				 <&cru HCLK_VOP0>,
1559344c8376SSimon Glass				 <&cru HCLK_VOP1>,
1560344c8376SSimon Glass				 <&cru PCLK_EDP_CTRL>,
1561344c8376SSimon Glass				 <&cru PCLK_HDMI_CTRL>,
1562344c8376SSimon Glass				 <&cru PCLK_LVDS_PHY>,
1563344c8376SSimon Glass				 <&cru PCLK_MIPI_CSI>,
1564344c8376SSimon Glass				 <&cru PCLK_MIPI_DSI0>,
1565344c8376SSimon Glass				 <&cru PCLK_MIPI_DSI1>,
1566344c8376SSimon Glass				 <&cru SCLK_EDP_24M>,
1567344c8376SSimon Glass				 <&cru SCLK_EDP>,
1568344c8376SSimon Glass				 <&cru SCLK_HDMI_CEC>,
1569344c8376SSimon Glass				 <&cru SCLK_HDMI_HDCP>,
1570344c8376SSimon Glass				 <&cru SCLK_ISP_JPE>,
1571344c8376SSimon Glass				 <&cru SCLK_ISP>,
1572344c8376SSimon Glass				 <&cru SCLK_RGA>;
1573344c8376SSimon Glass		};
1574344c8376SSimon Glass
1575344c8376SSimon Glass		pd_video {
1576344c8376SSimon Glass			reg = <RK3288_PD_VIDEO>;
1577344c8376SSimon Glass			clocks = <&cru ACLK_VCODEC>,
1578344c8376SSimon Glass				 <&cru HCLK_VCODEC>;
1579344c8376SSimon Glass		};
1580344c8376SSimon Glass	};
1581344c8376SSimon Glass};
1582