xref: /freebsd-src/sys/contrib/device-tree/src/arm/rockchip/rk3066a.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (c) 2013 MundoReader S.L.
4f126890aSEmmanuel Vadot * Author: Heiko Stuebner <heiko@sntech.de>
5f126890aSEmmanuel Vadot */
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
8f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
9f126890aSEmmanuel Vadot#include <dt-bindings/clock/rk3066a-cru.h>
10f126890aSEmmanuel Vadot#include <dt-bindings/power/rk3066-power.h>
11f126890aSEmmanuel Vadot#include "rk3xxx.dtsi"
12f126890aSEmmanuel Vadot
13f126890aSEmmanuel Vadot/ {
14f126890aSEmmanuel Vadot	compatible = "rockchip,rk3066a";
15f126890aSEmmanuel Vadot
168d13bc63SEmmanuel Vadot	aliases {
178d13bc63SEmmanuel Vadot		gpio4 = &gpio4;
188d13bc63SEmmanuel Vadot		gpio6 = &gpio6;
198d13bc63SEmmanuel Vadot	};
208d13bc63SEmmanuel Vadot
21f126890aSEmmanuel Vadot	cpus {
22f126890aSEmmanuel Vadot		#address-cells = <1>;
23f126890aSEmmanuel Vadot		#size-cells = <0>;
24f126890aSEmmanuel Vadot		enable-method = "rockchip,rk3066-smp";
25f126890aSEmmanuel Vadot
26f126890aSEmmanuel Vadot		cpu0: cpu@0 {
27f126890aSEmmanuel Vadot			device_type = "cpu";
28f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
29f126890aSEmmanuel Vadot			next-level-cache = <&L2>;
30f126890aSEmmanuel Vadot			reg = <0x0>;
31f126890aSEmmanuel Vadot			operating-points =
32f126890aSEmmanuel Vadot				/* kHz    uV */
33f126890aSEmmanuel Vadot				<1416000 1300000>,
34f126890aSEmmanuel Vadot				<1200000 1175000>,
35f126890aSEmmanuel Vadot				<1008000 1125000>,
36f126890aSEmmanuel Vadot				<816000  1125000>,
37f126890aSEmmanuel Vadot				<600000  1100000>,
38f126890aSEmmanuel Vadot				<504000  1100000>,
39f126890aSEmmanuel Vadot				<312000  1075000>;
40f126890aSEmmanuel Vadot			clock-latency = <40000>;
41f126890aSEmmanuel Vadot			clocks = <&cru ARMCLK>;
42f126890aSEmmanuel Vadot		};
43f126890aSEmmanuel Vadot		cpu1: cpu@1 {
44f126890aSEmmanuel Vadot			device_type = "cpu";
45f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
46f126890aSEmmanuel Vadot			next-level-cache = <&L2>;
47f126890aSEmmanuel Vadot			reg = <0x1>;
48f126890aSEmmanuel Vadot		};
49f126890aSEmmanuel Vadot	};
50f126890aSEmmanuel Vadot
51f126890aSEmmanuel Vadot	display-subsystem {
52f126890aSEmmanuel Vadot		compatible = "rockchip,display-subsystem";
53f126890aSEmmanuel Vadot		ports = <&vop0_out>, <&vop1_out>;
54f126890aSEmmanuel Vadot	};
55f126890aSEmmanuel Vadot
56*0e8011faSEmmanuel Vadot	hdmi_sound: hdmi-sound {
57*0e8011faSEmmanuel Vadot		compatible = "simple-audio-card";
58*0e8011faSEmmanuel Vadot		simple-audio-card,name = "HDMI";
59*0e8011faSEmmanuel Vadot		simple-audio-card,format = "i2s";
60*0e8011faSEmmanuel Vadot		simple-audio-card,mclk-fs = <256>;
61*0e8011faSEmmanuel Vadot		status = "disabled";
62*0e8011faSEmmanuel Vadot
63*0e8011faSEmmanuel Vadot		simple-audio-card,codec {
64*0e8011faSEmmanuel Vadot			sound-dai = <&hdmi>;
65*0e8011faSEmmanuel Vadot		};
66*0e8011faSEmmanuel Vadot
67*0e8011faSEmmanuel Vadot		simple-audio-card,cpu {
68*0e8011faSEmmanuel Vadot			sound-dai = <&i2s0>;
69*0e8011faSEmmanuel Vadot		};
70*0e8011faSEmmanuel Vadot	};
71*0e8011faSEmmanuel Vadot
72f126890aSEmmanuel Vadot	sram: sram@10080000 {
73f126890aSEmmanuel Vadot		compatible = "mmio-sram";
74f126890aSEmmanuel Vadot		reg = <0x10080000 0x10000>;
75f126890aSEmmanuel Vadot		#address-cells = <1>;
76f126890aSEmmanuel Vadot		#size-cells = <1>;
77f126890aSEmmanuel Vadot		ranges = <0 0x10080000 0x10000>;
78f126890aSEmmanuel Vadot
79f126890aSEmmanuel Vadot		smp-sram@0 {
80f126890aSEmmanuel Vadot			compatible = "rockchip,rk3066-smp-sram";
81f126890aSEmmanuel Vadot			reg = <0x0 0x50>;
82f126890aSEmmanuel Vadot		};
83f126890aSEmmanuel Vadot	};
84f126890aSEmmanuel Vadot
85f126890aSEmmanuel Vadot	vop0: vop@1010c000 {
86f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066-vop";
87f126890aSEmmanuel Vadot		reg = <0x1010c000 0x19c>;
88f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
89f126890aSEmmanuel Vadot		clocks = <&cru ACLK_LCDC0>,
90f126890aSEmmanuel Vadot			 <&cru DCLK_LCDC0>,
91f126890aSEmmanuel Vadot			 <&cru HCLK_LCDC0>;
92f126890aSEmmanuel Vadot		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
93f126890aSEmmanuel Vadot		power-domains = <&power RK3066_PD_VIO>;
94f126890aSEmmanuel Vadot		resets = <&cru SRST_LCDC0_AXI>,
95f126890aSEmmanuel Vadot			 <&cru SRST_LCDC0_AHB>,
96f126890aSEmmanuel Vadot			 <&cru SRST_LCDC0_DCLK>;
97f126890aSEmmanuel Vadot		reset-names = "axi", "ahb", "dclk";
98f126890aSEmmanuel Vadot		status = "disabled";
99f126890aSEmmanuel Vadot
100f126890aSEmmanuel Vadot		vop0_out: port {
101f126890aSEmmanuel Vadot			#address-cells = <1>;
102f126890aSEmmanuel Vadot			#size-cells = <0>;
103f126890aSEmmanuel Vadot
104f126890aSEmmanuel Vadot			vop0_out_hdmi: endpoint@0 {
105f126890aSEmmanuel Vadot				reg = <0>;
106f126890aSEmmanuel Vadot				remote-endpoint = <&hdmi_in_vop0>;
107f126890aSEmmanuel Vadot			};
108f126890aSEmmanuel Vadot		};
109f126890aSEmmanuel Vadot	};
110f126890aSEmmanuel Vadot
111f126890aSEmmanuel Vadot	vop1: vop@1010e000 {
112f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066-vop";
113f126890aSEmmanuel Vadot		reg = <0x1010e000 0x19c>;
114f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
115f126890aSEmmanuel Vadot		clocks = <&cru ACLK_LCDC1>,
116f126890aSEmmanuel Vadot			 <&cru DCLK_LCDC1>,
117f126890aSEmmanuel Vadot			 <&cru HCLK_LCDC1>;
118f126890aSEmmanuel Vadot		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
119f126890aSEmmanuel Vadot		power-domains = <&power RK3066_PD_VIO>;
120f126890aSEmmanuel Vadot		resets = <&cru SRST_LCDC1_AXI>,
121f126890aSEmmanuel Vadot			 <&cru SRST_LCDC1_AHB>,
122f126890aSEmmanuel Vadot			 <&cru SRST_LCDC1_DCLK>;
123f126890aSEmmanuel Vadot		reset-names = "axi", "ahb", "dclk";
124f126890aSEmmanuel Vadot		status = "disabled";
125f126890aSEmmanuel Vadot
126f126890aSEmmanuel Vadot		vop1_out: port {
127f126890aSEmmanuel Vadot			#address-cells = <1>;
128f126890aSEmmanuel Vadot			#size-cells = <0>;
129f126890aSEmmanuel Vadot
130f126890aSEmmanuel Vadot			vop1_out_hdmi: endpoint@0 {
131f126890aSEmmanuel Vadot				reg = <0>;
132f126890aSEmmanuel Vadot				remote-endpoint = <&hdmi_in_vop1>;
133f126890aSEmmanuel Vadot			};
134f126890aSEmmanuel Vadot		};
135f126890aSEmmanuel Vadot	};
136f126890aSEmmanuel Vadot
137f126890aSEmmanuel Vadot	hdmi: hdmi@10116000 {
138f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066-hdmi";
139f126890aSEmmanuel Vadot		reg = <0x10116000 0x2000>;
140f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
141f126890aSEmmanuel Vadot		clocks = <&cru HCLK_HDMI>;
142f126890aSEmmanuel Vadot		clock-names = "hclk";
143f126890aSEmmanuel Vadot		pinctrl-names = "default";
144f126890aSEmmanuel Vadot		pinctrl-0 = <&hdmii2c_xfer>, <&hdmi_hpd>;
145f126890aSEmmanuel Vadot		power-domains = <&power RK3066_PD_VIO>;
146f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
1477d0873ebSEmmanuel Vadot		#sound-dai-cells = <0>;
148f126890aSEmmanuel Vadot		status = "disabled";
149f126890aSEmmanuel Vadot
150f126890aSEmmanuel Vadot		ports {
151f126890aSEmmanuel Vadot			#address-cells = <1>;
152f126890aSEmmanuel Vadot			#size-cells = <0>;
153f126890aSEmmanuel Vadot
154f126890aSEmmanuel Vadot			hdmi_in: port@0 {
155f126890aSEmmanuel Vadot				reg = <0>;
156f126890aSEmmanuel Vadot				#address-cells = <1>;
157f126890aSEmmanuel Vadot				#size-cells = <0>;
158f126890aSEmmanuel Vadot
159f126890aSEmmanuel Vadot				hdmi_in_vop0: endpoint@0 {
160f126890aSEmmanuel Vadot					reg = <0>;
161f126890aSEmmanuel Vadot					remote-endpoint = <&vop0_out_hdmi>;
162f126890aSEmmanuel Vadot				};
163f126890aSEmmanuel Vadot
164f126890aSEmmanuel Vadot				hdmi_in_vop1: endpoint@1 {
165f126890aSEmmanuel Vadot					reg = <1>;
166f126890aSEmmanuel Vadot					remote-endpoint = <&vop1_out_hdmi>;
167f126890aSEmmanuel Vadot				};
168f126890aSEmmanuel Vadot			};
169f126890aSEmmanuel Vadot
170f126890aSEmmanuel Vadot			hdmi_out: port@1 {
171f126890aSEmmanuel Vadot				reg = <1>;
172f126890aSEmmanuel Vadot			};
173f126890aSEmmanuel Vadot		};
174f126890aSEmmanuel Vadot	};
175f126890aSEmmanuel Vadot
176f126890aSEmmanuel Vadot	i2s0: i2s@10118000 {
177f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066-i2s";
178f126890aSEmmanuel Vadot		reg = <0x10118000 0x2000>;
179f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
180f126890aSEmmanuel Vadot		pinctrl-names = "default";
181f126890aSEmmanuel Vadot		pinctrl-0 = <&i2s0_bus>;
182f126890aSEmmanuel Vadot		clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>;
183f126890aSEmmanuel Vadot		clock-names = "i2s_clk", "i2s_hclk";
184f126890aSEmmanuel Vadot		dmas = <&dmac1_s 4>, <&dmac1_s 5>;
185f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
186f126890aSEmmanuel Vadot		rockchip,playback-channels = <8>;
187f126890aSEmmanuel Vadot		rockchip,capture-channels = <2>;
188f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
189f126890aSEmmanuel Vadot		status = "disabled";
190f126890aSEmmanuel Vadot	};
191f126890aSEmmanuel Vadot
192f126890aSEmmanuel Vadot	i2s1: i2s@1011a000 {
193f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066-i2s";
194f126890aSEmmanuel Vadot		reg = <0x1011a000 0x2000>;
195f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
196f126890aSEmmanuel Vadot		pinctrl-names = "default";
197f126890aSEmmanuel Vadot		pinctrl-0 = <&i2s1_bus>;
198f126890aSEmmanuel Vadot		clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1>;
199f126890aSEmmanuel Vadot		clock-names = "i2s_clk", "i2s_hclk";
200f126890aSEmmanuel Vadot		dmas = <&dmac1_s 6>, <&dmac1_s 7>;
201f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
202f126890aSEmmanuel Vadot		rockchip,playback-channels = <2>;
203f126890aSEmmanuel Vadot		rockchip,capture-channels = <2>;
204f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
205f126890aSEmmanuel Vadot		status = "disabled";
206f126890aSEmmanuel Vadot	};
207f126890aSEmmanuel Vadot
208f126890aSEmmanuel Vadot	i2s2: i2s@1011c000 {
209f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066-i2s";
210f126890aSEmmanuel Vadot		reg = <0x1011c000 0x2000>;
211f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
212f126890aSEmmanuel Vadot		pinctrl-names = "default";
213f126890aSEmmanuel Vadot		pinctrl-0 = <&i2s2_bus>;
214f126890aSEmmanuel Vadot		clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2>;
215f126890aSEmmanuel Vadot		clock-names = "i2s_clk", "i2s_hclk";
216f126890aSEmmanuel Vadot		dmas = <&dmac1_s 9>, <&dmac1_s 10>;
217f126890aSEmmanuel Vadot		dma-names = "tx", "rx";
218f126890aSEmmanuel Vadot		rockchip,playback-channels = <2>;
219f126890aSEmmanuel Vadot		rockchip,capture-channels = <2>;
220f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
221f126890aSEmmanuel Vadot		status = "disabled";
222f126890aSEmmanuel Vadot	};
223f126890aSEmmanuel Vadot
224f126890aSEmmanuel Vadot	cru: clock-controller@20000000 {
225f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066a-cru";
226f126890aSEmmanuel Vadot		reg = <0x20000000 0x1000>;
227f126890aSEmmanuel Vadot		clocks = <&xin24m>;
228f126890aSEmmanuel Vadot		clock-names = "xin24m";
229f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
230f126890aSEmmanuel Vadot		#clock-cells = <1>;
231f126890aSEmmanuel Vadot		#reset-cells = <1>;
232f126890aSEmmanuel Vadot		assigned-clocks = <&cru PLL_CPLL>, <&cru PLL_GPLL>,
233f126890aSEmmanuel Vadot				  <&cru ACLK_CPU>, <&cru HCLK_CPU>,
234f126890aSEmmanuel Vadot				  <&cru PCLK_CPU>, <&cru ACLK_PERI>,
235f126890aSEmmanuel Vadot				  <&cru HCLK_PERI>, <&cru PCLK_PERI>;
236f126890aSEmmanuel Vadot		assigned-clock-rates = <400000000>, <594000000>,
237f126890aSEmmanuel Vadot				       <300000000>, <150000000>,
238f126890aSEmmanuel Vadot				       <75000000>, <300000000>,
239f126890aSEmmanuel Vadot				       <150000000>, <75000000>;
240f126890aSEmmanuel Vadot	};
241f126890aSEmmanuel Vadot
242f126890aSEmmanuel Vadot	timer2: timer@2000e000 {
243f126890aSEmmanuel Vadot		compatible = "snps,dw-apb-timer";
244f126890aSEmmanuel Vadot		reg = <0x2000e000 0x100>;
245f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
246f126890aSEmmanuel Vadot		clocks = <&cru SCLK_TIMER2>, <&cru PCLK_TIMER2>;
247f126890aSEmmanuel Vadot		clock-names = "timer", "pclk";
248f126890aSEmmanuel Vadot	};
249f126890aSEmmanuel Vadot
250f126890aSEmmanuel Vadot	efuse: efuse@20010000 {
251f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066a-efuse";
252f126890aSEmmanuel Vadot		reg = <0x20010000 0x4000>;
253f126890aSEmmanuel Vadot		#address-cells = <1>;
254f126890aSEmmanuel Vadot		#size-cells = <1>;
255f126890aSEmmanuel Vadot		clocks = <&cru PCLK_EFUSE>;
256f126890aSEmmanuel Vadot		clock-names = "pclk_efuse";
257f126890aSEmmanuel Vadot
258f126890aSEmmanuel Vadot		cpu_leakage: cpu_leakage@17 {
259f126890aSEmmanuel Vadot			reg = <0x17 0x1>;
260f126890aSEmmanuel Vadot		};
261f126890aSEmmanuel Vadot	};
262f126890aSEmmanuel Vadot
263f126890aSEmmanuel Vadot	timer0: timer@20038000 {
264f126890aSEmmanuel Vadot		compatible = "snps,dw-apb-timer";
265f126890aSEmmanuel Vadot		reg = <0x20038000 0x100>;
266f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
267f126890aSEmmanuel Vadot		clocks = <&cru SCLK_TIMER0>, <&cru PCLK_TIMER0>;
268f126890aSEmmanuel Vadot		clock-names = "timer", "pclk";
269f126890aSEmmanuel Vadot	};
270f126890aSEmmanuel Vadot
271f126890aSEmmanuel Vadot	timer1: timer@2003a000 {
272f126890aSEmmanuel Vadot		compatible = "snps,dw-apb-timer";
273f126890aSEmmanuel Vadot		reg = <0x2003a000 0x100>;
274f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
275f126890aSEmmanuel Vadot		clocks = <&cru SCLK_TIMER1>, <&cru PCLK_TIMER1>;
276f126890aSEmmanuel Vadot		clock-names = "timer", "pclk";
277f126890aSEmmanuel Vadot	};
278f126890aSEmmanuel Vadot
279f126890aSEmmanuel Vadot	tsadc: tsadc@20060000 {
280f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066-tsadc";
281f126890aSEmmanuel Vadot		reg = <0x20060000 0x100>;
282f126890aSEmmanuel Vadot		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
283f126890aSEmmanuel Vadot		clock-names = "saradc", "apb_pclk";
284f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
285f126890aSEmmanuel Vadot		#io-channel-cells = <1>;
286f126890aSEmmanuel Vadot		resets = <&cru SRST_TSADC>;
287f126890aSEmmanuel Vadot		reset-names = "saradc-apb";
288f126890aSEmmanuel Vadot		status = "disabled";
289f126890aSEmmanuel Vadot	};
290f126890aSEmmanuel Vadot
291f126890aSEmmanuel Vadot	pinctrl: pinctrl {
292f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066a-pinctrl";
293f126890aSEmmanuel Vadot		rockchip,grf = <&grf>;
294f126890aSEmmanuel Vadot		#address-cells = <1>;
295f126890aSEmmanuel Vadot		#size-cells = <1>;
296f126890aSEmmanuel Vadot		ranges;
297f126890aSEmmanuel Vadot
298f126890aSEmmanuel Vadot		gpio0: gpio@20034000 {
299f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
300f126890aSEmmanuel Vadot			reg = <0x20034000 0x100>;
301f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
302f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO0>;
303f126890aSEmmanuel Vadot
304f126890aSEmmanuel Vadot			gpio-controller;
305f126890aSEmmanuel Vadot			#gpio-cells = <2>;
306f126890aSEmmanuel Vadot
307f126890aSEmmanuel Vadot			interrupt-controller;
308f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
309f126890aSEmmanuel Vadot		};
310f126890aSEmmanuel Vadot
311f126890aSEmmanuel Vadot		gpio1: gpio@2003c000 {
312f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
313f126890aSEmmanuel Vadot			reg = <0x2003c000 0x100>;
314f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
315f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO1>;
316f126890aSEmmanuel Vadot
317f126890aSEmmanuel Vadot			gpio-controller;
318f126890aSEmmanuel Vadot			#gpio-cells = <2>;
319f126890aSEmmanuel Vadot
320f126890aSEmmanuel Vadot			interrupt-controller;
321f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
322f126890aSEmmanuel Vadot		};
323f126890aSEmmanuel Vadot
324f126890aSEmmanuel Vadot		gpio2: gpio@2003e000 {
325f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
326f126890aSEmmanuel Vadot			reg = <0x2003e000 0x100>;
327f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
328f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO2>;
329f126890aSEmmanuel Vadot
330f126890aSEmmanuel Vadot			gpio-controller;
331f126890aSEmmanuel Vadot			#gpio-cells = <2>;
332f126890aSEmmanuel Vadot
333f126890aSEmmanuel Vadot			interrupt-controller;
334f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
335f126890aSEmmanuel Vadot		};
336f126890aSEmmanuel Vadot
337f126890aSEmmanuel Vadot		gpio3: gpio@20080000 {
338f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
339f126890aSEmmanuel Vadot			reg = <0x20080000 0x100>;
340f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
341f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO3>;
342f126890aSEmmanuel Vadot
343f126890aSEmmanuel Vadot			gpio-controller;
344f126890aSEmmanuel Vadot			#gpio-cells = <2>;
345f126890aSEmmanuel Vadot
346f126890aSEmmanuel Vadot			interrupt-controller;
347f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
348f126890aSEmmanuel Vadot		};
349f126890aSEmmanuel Vadot
350f126890aSEmmanuel Vadot		gpio4: gpio@20084000 {
351f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
352f126890aSEmmanuel Vadot			reg = <0x20084000 0x100>;
353f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
354f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO4>;
355f126890aSEmmanuel Vadot
356f126890aSEmmanuel Vadot			gpio-controller;
357f126890aSEmmanuel Vadot			#gpio-cells = <2>;
358f126890aSEmmanuel Vadot
359f126890aSEmmanuel Vadot			interrupt-controller;
360f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
361f126890aSEmmanuel Vadot		};
362f126890aSEmmanuel Vadot
363f126890aSEmmanuel Vadot		gpio6: gpio@2000a000 {
364f126890aSEmmanuel Vadot			compatible = "rockchip,gpio-bank";
365f126890aSEmmanuel Vadot			reg = <0x2000a000 0x100>;
366f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
367f126890aSEmmanuel Vadot			clocks = <&cru PCLK_GPIO6>;
368f126890aSEmmanuel Vadot
369f126890aSEmmanuel Vadot			gpio-controller;
370f126890aSEmmanuel Vadot			#gpio-cells = <2>;
371f126890aSEmmanuel Vadot
372f126890aSEmmanuel Vadot			interrupt-controller;
373f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
374f126890aSEmmanuel Vadot		};
375f126890aSEmmanuel Vadot
376f126890aSEmmanuel Vadot		pcfg_pull_default: pcfg-pull-default {
377f126890aSEmmanuel Vadot			bias-pull-pin-default;
378f126890aSEmmanuel Vadot		};
379f126890aSEmmanuel Vadot
380f126890aSEmmanuel Vadot		pcfg_pull_none: pcfg-pull-none {
381f126890aSEmmanuel Vadot			bias-disable;
382f126890aSEmmanuel Vadot		};
383f126890aSEmmanuel Vadot
384f126890aSEmmanuel Vadot		emac {
385f126890aSEmmanuel Vadot			emac_xfer: emac-xfer {
386f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PC0 2 &pcfg_pull_none>, /* mac_clk */
387f126890aSEmmanuel Vadot						<1 RK_PC1 2 &pcfg_pull_none>, /* tx_en */
388f126890aSEmmanuel Vadot						<1 RK_PC2 2 &pcfg_pull_none>, /* txd1 */
389f126890aSEmmanuel Vadot						<1 RK_PC3 2 &pcfg_pull_none>, /* txd0 */
390f126890aSEmmanuel Vadot						<1 RK_PC4 2 &pcfg_pull_none>, /* rx_err */
391f126890aSEmmanuel Vadot						<1 RK_PC5 2 &pcfg_pull_none>, /* crs_dvalid */
392f126890aSEmmanuel Vadot						<1 RK_PC6 2 &pcfg_pull_none>, /* rxd1 */
393f126890aSEmmanuel Vadot						<1 RK_PC7 2 &pcfg_pull_none>; /* rxd0 */
394f126890aSEmmanuel Vadot			};
395f126890aSEmmanuel Vadot
396f126890aSEmmanuel Vadot			emac_mdio: emac-mdio {
397f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PD0 2 &pcfg_pull_none>, /* mac_md */
398f126890aSEmmanuel Vadot						<1 RK_PD1 2 &pcfg_pull_none>; /* mac_mdclk */
399f126890aSEmmanuel Vadot			};
400f126890aSEmmanuel Vadot		};
401f126890aSEmmanuel Vadot
402f126890aSEmmanuel Vadot		emmc {
403f126890aSEmmanuel Vadot			emmc_clk: emmc-clk {
404f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD7 2 &pcfg_pull_default>;
405f126890aSEmmanuel Vadot			};
406f126890aSEmmanuel Vadot
407f126890aSEmmanuel Vadot			emmc_cmd: emmc-cmd {
408f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PB1 2 &pcfg_pull_default>;
409f126890aSEmmanuel Vadot			};
410f126890aSEmmanuel Vadot
411f126890aSEmmanuel Vadot			emmc_rst: emmc-rst {
412f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PB2 2 &pcfg_pull_default>;
413f126890aSEmmanuel Vadot			};
414f126890aSEmmanuel Vadot
415f126890aSEmmanuel Vadot			/*
416f126890aSEmmanuel Vadot			 * The data pins are shared between nandc and emmc and
417f126890aSEmmanuel Vadot			 * not accessible through pinctrl. Also they should've
418f126890aSEmmanuel Vadot			 * been already set correctly by firmware, as
419f126890aSEmmanuel Vadot			 * flash/emmc is the boot-device.
420f126890aSEmmanuel Vadot			 */
421f126890aSEmmanuel Vadot		};
422f126890aSEmmanuel Vadot
423f126890aSEmmanuel Vadot		hdmi {
424f126890aSEmmanuel Vadot			hdmi_hpd: hdmi-hpd {
425f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PA0 1 &pcfg_pull_default>;
426f126890aSEmmanuel Vadot			};
427f126890aSEmmanuel Vadot
428f126890aSEmmanuel Vadot			hdmii2c_xfer: hdmii2c-xfer {
429f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PA1 1 &pcfg_pull_none>,
430f126890aSEmmanuel Vadot						<0 RK_PA2 1 &pcfg_pull_none>;
431f126890aSEmmanuel Vadot			};
432f126890aSEmmanuel Vadot		};
433f126890aSEmmanuel Vadot
434f126890aSEmmanuel Vadot		i2c0 {
435f126890aSEmmanuel Vadot			i2c0_xfer: i2c0-xfer {
436f126890aSEmmanuel Vadot				rockchip,pins = <2 RK_PD4 1 &pcfg_pull_none>,
437f126890aSEmmanuel Vadot						<2 RK_PD5 1 &pcfg_pull_none>;
438f126890aSEmmanuel Vadot			};
439f126890aSEmmanuel Vadot		};
440f126890aSEmmanuel Vadot
441f126890aSEmmanuel Vadot		i2c1 {
442f126890aSEmmanuel Vadot			i2c1_xfer: i2c1-xfer {
443f126890aSEmmanuel Vadot				rockchip,pins = <2 RK_PD6 1 &pcfg_pull_none>,
444f126890aSEmmanuel Vadot						<2 RK_PD7 1 &pcfg_pull_none>;
445f126890aSEmmanuel Vadot			};
446f126890aSEmmanuel Vadot		};
447f126890aSEmmanuel Vadot
448f126890aSEmmanuel Vadot		i2c2 {
449f126890aSEmmanuel Vadot			i2c2_xfer: i2c2-xfer {
450f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PA0 1 &pcfg_pull_none>,
451f126890aSEmmanuel Vadot						<3 RK_PA1 1 &pcfg_pull_none>;
452f126890aSEmmanuel Vadot			};
453f126890aSEmmanuel Vadot		};
454f126890aSEmmanuel Vadot
455f126890aSEmmanuel Vadot		i2c3 {
456f126890aSEmmanuel Vadot			i2c3_xfer: i2c3-xfer {
457f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PA2 2 &pcfg_pull_none>,
458f126890aSEmmanuel Vadot						<3 RK_PA3 2 &pcfg_pull_none>;
459f126890aSEmmanuel Vadot			};
460f126890aSEmmanuel Vadot		};
461f126890aSEmmanuel Vadot
462f126890aSEmmanuel Vadot		i2c4 {
463f126890aSEmmanuel Vadot			i2c4_xfer: i2c4-xfer {
464f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PA4 1 &pcfg_pull_none>,
465f126890aSEmmanuel Vadot						<3 RK_PA5 1 &pcfg_pull_none>;
466f126890aSEmmanuel Vadot			};
467f126890aSEmmanuel Vadot		};
468f126890aSEmmanuel Vadot
469f126890aSEmmanuel Vadot		pwm0 {
470f126890aSEmmanuel Vadot			pwm0_out: pwm0-out {
471f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PA3 1 &pcfg_pull_none>;
472f126890aSEmmanuel Vadot			};
473f126890aSEmmanuel Vadot		};
474f126890aSEmmanuel Vadot
475f126890aSEmmanuel Vadot		pwm1 {
476f126890aSEmmanuel Vadot			pwm1_out: pwm1-out {
477f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PA4 1 &pcfg_pull_none>;
478f126890aSEmmanuel Vadot			};
479f126890aSEmmanuel Vadot		};
480f126890aSEmmanuel Vadot
481f126890aSEmmanuel Vadot		pwm2 {
482f126890aSEmmanuel Vadot			pwm2_out: pwm2-out {
483f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PD6 1 &pcfg_pull_none>;
484f126890aSEmmanuel Vadot			};
485f126890aSEmmanuel Vadot		};
486f126890aSEmmanuel Vadot
487f126890aSEmmanuel Vadot		pwm3 {
488f126890aSEmmanuel Vadot			pwm3_out: pwm3-out {
489f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PD7 1 &pcfg_pull_none>;
490f126890aSEmmanuel Vadot			};
491f126890aSEmmanuel Vadot		};
492f126890aSEmmanuel Vadot
493f126890aSEmmanuel Vadot		spi0 {
494f126890aSEmmanuel Vadot			spi0_clk: spi0-clk {
495f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PA5 2 &pcfg_pull_default>;
496f126890aSEmmanuel Vadot			};
497f126890aSEmmanuel Vadot			spi0_cs0: spi0-cs0 {
498f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PA4 2 &pcfg_pull_default>;
499f126890aSEmmanuel Vadot			};
500f126890aSEmmanuel Vadot			spi0_tx: spi0-tx {
501f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PA7 2 &pcfg_pull_default>;
502f126890aSEmmanuel Vadot			};
503f126890aSEmmanuel Vadot			spi0_rx: spi0-rx {
504f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PA6 2 &pcfg_pull_default>;
505f126890aSEmmanuel Vadot			};
506f126890aSEmmanuel Vadot			spi0_cs1: spi0-cs1 {
507f126890aSEmmanuel Vadot				rockchip,pins = <4 RK_PB7 1 &pcfg_pull_default>;
508f126890aSEmmanuel Vadot			};
509f126890aSEmmanuel Vadot		};
510f126890aSEmmanuel Vadot
511f126890aSEmmanuel Vadot		spi1 {
512f126890aSEmmanuel Vadot			spi1_clk: spi1-clk {
513f126890aSEmmanuel Vadot				rockchip,pins = <2 RK_PC3 2 &pcfg_pull_default>;
514f126890aSEmmanuel Vadot			};
515f126890aSEmmanuel Vadot			spi1_cs0: spi1-cs0 {
516f126890aSEmmanuel Vadot				rockchip,pins = <2 RK_PC4 2 &pcfg_pull_default>;
517f126890aSEmmanuel Vadot			};
518f126890aSEmmanuel Vadot			spi1_rx: spi1-rx {
519f126890aSEmmanuel Vadot				rockchip,pins = <2 RK_PC6 2 &pcfg_pull_default>;
520f126890aSEmmanuel Vadot			};
521f126890aSEmmanuel Vadot			spi1_tx: spi1-tx {
522f126890aSEmmanuel Vadot				rockchip,pins = <2 RK_PC5 2 &pcfg_pull_default>;
523f126890aSEmmanuel Vadot			};
524f126890aSEmmanuel Vadot			spi1_cs1: spi1-cs1 {
525f126890aSEmmanuel Vadot				rockchip,pins = <2 RK_PC7 2 &pcfg_pull_default>;
526f126890aSEmmanuel Vadot			};
527f126890aSEmmanuel Vadot		};
528f126890aSEmmanuel Vadot
529f126890aSEmmanuel Vadot		uart0 {
530f126890aSEmmanuel Vadot			uart0_xfer: uart0-xfer {
531f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PA0 1 &pcfg_pull_default>,
532f126890aSEmmanuel Vadot						<1 RK_PA1 1 &pcfg_pull_default>;
533f126890aSEmmanuel Vadot			};
534f126890aSEmmanuel Vadot
535f126890aSEmmanuel Vadot			uart0_cts: uart0-cts {
536f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PA2 1 &pcfg_pull_default>;
537f126890aSEmmanuel Vadot			};
538f126890aSEmmanuel Vadot
539f126890aSEmmanuel Vadot			uart0_rts: uart0-rts {
540f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PA3 1 &pcfg_pull_default>;
541f126890aSEmmanuel Vadot			};
542f126890aSEmmanuel Vadot		};
543f126890aSEmmanuel Vadot
544f126890aSEmmanuel Vadot		uart1 {
545f126890aSEmmanuel Vadot			uart1_xfer: uart1-xfer {
546f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PA4 1 &pcfg_pull_default>,
547f126890aSEmmanuel Vadot						<1 RK_PA5 1 &pcfg_pull_default>;
548f126890aSEmmanuel Vadot			};
549f126890aSEmmanuel Vadot
550f126890aSEmmanuel Vadot			uart1_cts: uart1-cts {
551f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PA6 1 &pcfg_pull_default>;
552f126890aSEmmanuel Vadot			};
553f126890aSEmmanuel Vadot
554f126890aSEmmanuel Vadot			uart1_rts: uart1-rts {
555f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PA7 1 &pcfg_pull_default>;
556f126890aSEmmanuel Vadot			};
557f126890aSEmmanuel Vadot		};
558f126890aSEmmanuel Vadot
559f126890aSEmmanuel Vadot		uart2 {
560f126890aSEmmanuel Vadot			uart2_xfer: uart2-xfer {
561f126890aSEmmanuel Vadot				rockchip,pins = <1 RK_PB0 1 &pcfg_pull_default>,
562f126890aSEmmanuel Vadot						<1 RK_PB1 1 &pcfg_pull_default>;
563f126890aSEmmanuel Vadot			};
564f126890aSEmmanuel Vadot			/* no rts / cts for uart2 */
565f126890aSEmmanuel Vadot		};
566f126890aSEmmanuel Vadot
567f126890aSEmmanuel Vadot		uart3 {
568f126890aSEmmanuel Vadot			uart3_xfer: uart3-xfer {
569f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD3 1 &pcfg_pull_default>,
570f126890aSEmmanuel Vadot						<3 RK_PD4 1 &pcfg_pull_default>;
571f126890aSEmmanuel Vadot			};
572f126890aSEmmanuel Vadot
573f126890aSEmmanuel Vadot			uart3_cts: uart3-cts {
574f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD5 1 &pcfg_pull_default>;
575f126890aSEmmanuel Vadot			};
576f126890aSEmmanuel Vadot
577f126890aSEmmanuel Vadot			uart3_rts: uart3-rts {
578f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PD6 1 &pcfg_pull_default>;
579f126890aSEmmanuel Vadot			};
580f126890aSEmmanuel Vadot		};
581f126890aSEmmanuel Vadot
582f126890aSEmmanuel Vadot		sd0 {
583f126890aSEmmanuel Vadot			sd0_clk: sd0-clk {
584f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PB0 1 &pcfg_pull_default>;
585f126890aSEmmanuel Vadot			};
586f126890aSEmmanuel Vadot
587f126890aSEmmanuel Vadot			sd0_cmd: sd0-cmd {
588f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PB1 1 &pcfg_pull_default>;
589f126890aSEmmanuel Vadot			};
590f126890aSEmmanuel Vadot
591f126890aSEmmanuel Vadot			sd0_cd: sd0-cd {
592f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PB6 1 &pcfg_pull_default>;
593f126890aSEmmanuel Vadot			};
594f126890aSEmmanuel Vadot
595f126890aSEmmanuel Vadot			sd0_wp: sd0-wp {
596f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PB7 1 &pcfg_pull_default>;
597f126890aSEmmanuel Vadot			};
598f126890aSEmmanuel Vadot
599f126890aSEmmanuel Vadot			sd0_bus1: sd0-bus-width1 {
600f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PB2 1 &pcfg_pull_default>;
601f126890aSEmmanuel Vadot			};
602f126890aSEmmanuel Vadot
603f126890aSEmmanuel Vadot			sd0_bus4: sd0-bus-width4 {
604f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PB2 1 &pcfg_pull_default>,
605f126890aSEmmanuel Vadot						<3 RK_PB3 1 &pcfg_pull_default>,
606f126890aSEmmanuel Vadot						<3 RK_PB4 1 &pcfg_pull_default>,
607f126890aSEmmanuel Vadot						<3 RK_PB5 1 &pcfg_pull_default>;
608f126890aSEmmanuel Vadot			};
609f126890aSEmmanuel Vadot		};
610f126890aSEmmanuel Vadot
611f126890aSEmmanuel Vadot		sd1 {
612f126890aSEmmanuel Vadot			sd1_clk: sd1-clk {
613f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PC5 1 &pcfg_pull_default>;
614f126890aSEmmanuel Vadot			};
615f126890aSEmmanuel Vadot
616f126890aSEmmanuel Vadot			sd1_cmd: sd1-cmd {
617f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PC0 1 &pcfg_pull_default>;
618f126890aSEmmanuel Vadot			};
619f126890aSEmmanuel Vadot
620f126890aSEmmanuel Vadot			sd1_cd: sd1-cd {
621f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PC6 1 &pcfg_pull_default>;
622f126890aSEmmanuel Vadot			};
623f126890aSEmmanuel Vadot
624f126890aSEmmanuel Vadot			sd1_wp: sd1-wp {
625f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PC7 1 &pcfg_pull_default>;
626f126890aSEmmanuel Vadot			};
627f126890aSEmmanuel Vadot
628f126890aSEmmanuel Vadot			sd1_bus1: sd1-bus-width1 {
629f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PC1 1 &pcfg_pull_default>;
630f126890aSEmmanuel Vadot			};
631f126890aSEmmanuel Vadot
632f126890aSEmmanuel Vadot			sd1_bus4: sd1-bus-width4 {
633f126890aSEmmanuel Vadot				rockchip,pins = <3 RK_PC1 1 &pcfg_pull_default>,
634f126890aSEmmanuel Vadot						<3 RK_PC2 1 &pcfg_pull_default>,
635f126890aSEmmanuel Vadot						<3 RK_PC3 1 &pcfg_pull_default>,
636f126890aSEmmanuel Vadot						<3 RK_PC4 1 &pcfg_pull_default>;
637f126890aSEmmanuel Vadot			};
638f126890aSEmmanuel Vadot		};
639f126890aSEmmanuel Vadot
640f126890aSEmmanuel Vadot		i2s0 {
641f126890aSEmmanuel Vadot			i2s0_bus: i2s0-bus {
642f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PA7 1 &pcfg_pull_default>,
643f126890aSEmmanuel Vadot						<0 RK_PB0 1 &pcfg_pull_default>,
644f126890aSEmmanuel Vadot						<0 RK_PB1 1 &pcfg_pull_default>,
645f126890aSEmmanuel Vadot						<0 RK_PB2 1 &pcfg_pull_default>,
646f126890aSEmmanuel Vadot						<0 RK_PB3 1 &pcfg_pull_default>,
647f126890aSEmmanuel Vadot						<0 RK_PB4 1 &pcfg_pull_default>,
648f126890aSEmmanuel Vadot						<0 RK_PB5 1 &pcfg_pull_default>,
649f126890aSEmmanuel Vadot						<0 RK_PB6 1 &pcfg_pull_default>,
650f126890aSEmmanuel Vadot						<0 RK_PB7 1 &pcfg_pull_default>;
651f126890aSEmmanuel Vadot			};
652f126890aSEmmanuel Vadot		};
653f126890aSEmmanuel Vadot
654f126890aSEmmanuel Vadot		i2s1 {
655f126890aSEmmanuel Vadot			i2s1_bus: i2s1-bus {
656f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PC0 1 &pcfg_pull_default>,
657f126890aSEmmanuel Vadot						<0 RK_PC1 1 &pcfg_pull_default>,
658f126890aSEmmanuel Vadot						<0 RK_PC2 1 &pcfg_pull_default>,
659f126890aSEmmanuel Vadot						<0 RK_PC3 1 &pcfg_pull_default>,
660f126890aSEmmanuel Vadot						<0 RK_PC4 1 &pcfg_pull_default>,
661f126890aSEmmanuel Vadot						<0 RK_PC5 1 &pcfg_pull_default>;
662f126890aSEmmanuel Vadot			};
663f126890aSEmmanuel Vadot		};
664f126890aSEmmanuel Vadot
665f126890aSEmmanuel Vadot		i2s2 {
666f126890aSEmmanuel Vadot			i2s2_bus: i2s2-bus {
667f126890aSEmmanuel Vadot				rockchip,pins = <0 RK_PD0 1 &pcfg_pull_default>,
668f126890aSEmmanuel Vadot						<0 RK_PD1 1 &pcfg_pull_default>,
669f126890aSEmmanuel Vadot						<0 RK_PD2 1 &pcfg_pull_default>,
670f126890aSEmmanuel Vadot						<0 RK_PD3 1 &pcfg_pull_default>,
671f126890aSEmmanuel Vadot						<0 RK_PD4 1 &pcfg_pull_default>,
672f126890aSEmmanuel Vadot						<0 RK_PD5 1 &pcfg_pull_default>;
673f126890aSEmmanuel Vadot			};
674f126890aSEmmanuel Vadot		};
675f126890aSEmmanuel Vadot	};
676f126890aSEmmanuel Vadot};
677f126890aSEmmanuel Vadot
678f126890aSEmmanuel Vadot&gpu {
679f126890aSEmmanuel Vadot	compatible = "rockchip,rk3066-mali", "arm,mali-400";
680f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
681f126890aSEmmanuel Vadot		     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
682f126890aSEmmanuel Vadot		     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
683f126890aSEmmanuel Vadot		     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
684f126890aSEmmanuel Vadot		     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
685f126890aSEmmanuel Vadot		     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
686f126890aSEmmanuel Vadot		     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
687f126890aSEmmanuel Vadot		     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
688f126890aSEmmanuel Vadot		     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
689f126890aSEmmanuel Vadot		     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
690f126890aSEmmanuel Vadot	interrupt-names = "gp",
691f126890aSEmmanuel Vadot			  "gpmmu",
692f126890aSEmmanuel Vadot			  "pp0",
693f126890aSEmmanuel Vadot			  "ppmmu0",
694f126890aSEmmanuel Vadot			  "pp1",
695f126890aSEmmanuel Vadot			  "ppmmu1",
696f126890aSEmmanuel Vadot			  "pp2",
697f126890aSEmmanuel Vadot			  "ppmmu2",
698f126890aSEmmanuel Vadot			  "pp3",
699f126890aSEmmanuel Vadot			  "ppmmu3";
700f126890aSEmmanuel Vadot	power-domains = <&power RK3066_PD_GPU>;
701f126890aSEmmanuel Vadot};
702f126890aSEmmanuel Vadot
703f126890aSEmmanuel Vadot&grf {
704f126890aSEmmanuel Vadot	compatible = "rockchip,rk3066-grf", "syscon", "simple-mfd";
705f126890aSEmmanuel Vadot
706f126890aSEmmanuel Vadot	usbphy: usbphy {
707f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066a-usb-phy";
708f126890aSEmmanuel Vadot		#address-cells = <1>;
709f126890aSEmmanuel Vadot		#size-cells = <0>;
710f126890aSEmmanuel Vadot		status = "disabled";
711f126890aSEmmanuel Vadot
712f126890aSEmmanuel Vadot		usbphy0: usb-phy@17c {
713f126890aSEmmanuel Vadot			reg = <0x17c>;
714f126890aSEmmanuel Vadot			clocks = <&cru SCLK_OTGPHY0>;
715f126890aSEmmanuel Vadot			clock-names = "phyclk";
716f126890aSEmmanuel Vadot			#clock-cells = <0>;
717f126890aSEmmanuel Vadot			#phy-cells = <0>;
718f126890aSEmmanuel Vadot		};
719f126890aSEmmanuel Vadot
720f126890aSEmmanuel Vadot		usbphy1: usb-phy@188 {
721f126890aSEmmanuel Vadot			reg = <0x188>;
722f126890aSEmmanuel Vadot			clocks = <&cru SCLK_OTGPHY1>;
723f126890aSEmmanuel Vadot			clock-names = "phyclk";
724f126890aSEmmanuel Vadot			#clock-cells = <0>;
725f126890aSEmmanuel Vadot			#phy-cells = <0>;
726f126890aSEmmanuel Vadot		};
727f126890aSEmmanuel Vadot	};
728f126890aSEmmanuel Vadot};
729f126890aSEmmanuel Vadot
730f126890aSEmmanuel Vadot&i2c0 {
731f126890aSEmmanuel Vadot	pinctrl-names = "default";
732f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c0_xfer>;
733f126890aSEmmanuel Vadot};
734f126890aSEmmanuel Vadot
735f126890aSEmmanuel Vadot&i2c1 {
736f126890aSEmmanuel Vadot	pinctrl-names = "default";
737f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c1_xfer>;
738f126890aSEmmanuel Vadot};
739f126890aSEmmanuel Vadot
740f126890aSEmmanuel Vadot&i2c2 {
741f126890aSEmmanuel Vadot	pinctrl-names = "default";
742f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c2_xfer>;
743f126890aSEmmanuel Vadot};
744f126890aSEmmanuel Vadot
745f126890aSEmmanuel Vadot&i2c3 {
746f126890aSEmmanuel Vadot	pinctrl-names = "default";
747f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c3_xfer>;
748f126890aSEmmanuel Vadot};
749f126890aSEmmanuel Vadot
750f126890aSEmmanuel Vadot&i2c4 {
751f126890aSEmmanuel Vadot	pinctrl-names = "default";
752f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c4_xfer>;
753f126890aSEmmanuel Vadot};
754f126890aSEmmanuel Vadot
755f126890aSEmmanuel Vadot&mmc0 {
756f126890aSEmmanuel Vadot	clock-frequency = <50000000>;
757f126890aSEmmanuel Vadot	dmas = <&dmac2 1>;
758f126890aSEmmanuel Vadot	dma-names = "rx-tx";
759f126890aSEmmanuel Vadot	max-frequency = <50000000>;
760f126890aSEmmanuel Vadot	pinctrl-names = "default";
761f126890aSEmmanuel Vadot	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4>;
762f126890aSEmmanuel Vadot};
763f126890aSEmmanuel Vadot
764f126890aSEmmanuel Vadot&mmc1 {
765f126890aSEmmanuel Vadot	dmas = <&dmac2 3>;
766f126890aSEmmanuel Vadot	dma-names = "rx-tx";
767f126890aSEmmanuel Vadot	pinctrl-names = "default";
768f126890aSEmmanuel Vadot	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_bus4>;
769f126890aSEmmanuel Vadot};
770f126890aSEmmanuel Vadot
771f126890aSEmmanuel Vadot&emmc {
772f126890aSEmmanuel Vadot	dmas = <&dmac2 4>;
773f126890aSEmmanuel Vadot	dma-names = "rx-tx";
774f126890aSEmmanuel Vadot};
775f126890aSEmmanuel Vadot
776f126890aSEmmanuel Vadot&pmu {
777f126890aSEmmanuel Vadot	power: power-controller {
778f126890aSEmmanuel Vadot		compatible = "rockchip,rk3066-power-controller";
779f126890aSEmmanuel Vadot		#power-domain-cells = <1>;
780f126890aSEmmanuel Vadot		#address-cells = <1>;
781f126890aSEmmanuel Vadot		#size-cells = <0>;
782f126890aSEmmanuel Vadot
783f126890aSEmmanuel Vadot		power-domain@RK3066_PD_VIO {
784f126890aSEmmanuel Vadot			reg = <RK3066_PD_VIO>;
785f126890aSEmmanuel Vadot			clocks = <&cru ACLK_LCDC0>,
786f126890aSEmmanuel Vadot				 <&cru ACLK_LCDC1>,
787f126890aSEmmanuel Vadot				 <&cru DCLK_LCDC0>,
788f126890aSEmmanuel Vadot				 <&cru DCLK_LCDC1>,
789f126890aSEmmanuel Vadot				 <&cru HCLK_LCDC0>,
790f126890aSEmmanuel Vadot				 <&cru HCLK_LCDC1>,
791f126890aSEmmanuel Vadot				 <&cru SCLK_CIF1>,
792f126890aSEmmanuel Vadot				 <&cru ACLK_CIF1>,
793f126890aSEmmanuel Vadot				 <&cru HCLK_CIF1>,
794f126890aSEmmanuel Vadot				 <&cru SCLK_CIF0>,
795f126890aSEmmanuel Vadot				 <&cru ACLK_CIF0>,
796f126890aSEmmanuel Vadot				 <&cru HCLK_CIF0>,
797f126890aSEmmanuel Vadot				 <&cru HCLK_HDMI>,
798f126890aSEmmanuel Vadot				 <&cru ACLK_IPP>,
799f126890aSEmmanuel Vadot				 <&cru HCLK_IPP>,
800f126890aSEmmanuel Vadot				 <&cru ACLK_RGA>,
801f126890aSEmmanuel Vadot				 <&cru HCLK_RGA>;
802f126890aSEmmanuel Vadot			pm_qos = <&qos_lcdc0>,
803f126890aSEmmanuel Vadot				 <&qos_lcdc1>,
804f126890aSEmmanuel Vadot				 <&qos_cif0>,
805f126890aSEmmanuel Vadot				 <&qos_cif1>,
806f126890aSEmmanuel Vadot				 <&qos_ipp>,
807f126890aSEmmanuel Vadot				 <&qos_rga>;
808f126890aSEmmanuel Vadot			#power-domain-cells = <0>;
809f126890aSEmmanuel Vadot		};
810f126890aSEmmanuel Vadot
811f126890aSEmmanuel Vadot		power-domain@RK3066_PD_VIDEO {
812f126890aSEmmanuel Vadot			reg = <RK3066_PD_VIDEO>;
813f126890aSEmmanuel Vadot			clocks = <&cru ACLK_VDPU>,
814f126890aSEmmanuel Vadot				 <&cru ACLK_VEPU>,
815f126890aSEmmanuel Vadot				 <&cru HCLK_VDPU>,
816f126890aSEmmanuel Vadot				 <&cru HCLK_VEPU>;
817f126890aSEmmanuel Vadot			pm_qos = <&qos_vpu>;
818f126890aSEmmanuel Vadot			#power-domain-cells = <0>;
819f126890aSEmmanuel Vadot		};
820f126890aSEmmanuel Vadot
821f126890aSEmmanuel Vadot		power-domain@RK3066_PD_GPU {
822f126890aSEmmanuel Vadot			reg = <RK3066_PD_GPU>;
823f126890aSEmmanuel Vadot			clocks = <&cru ACLK_GPU>;
824f126890aSEmmanuel Vadot			pm_qos = <&qos_gpu>;
825f126890aSEmmanuel Vadot			#power-domain-cells = <0>;
826f126890aSEmmanuel Vadot		};
827f126890aSEmmanuel Vadot	};
828f126890aSEmmanuel Vadot};
829f126890aSEmmanuel Vadot
830f126890aSEmmanuel Vadot&pwm0 {
831f126890aSEmmanuel Vadot	pinctrl-names = "default";
832f126890aSEmmanuel Vadot	pinctrl-0 = <&pwm0_out>;
833f126890aSEmmanuel Vadot};
834f126890aSEmmanuel Vadot
835f126890aSEmmanuel Vadot&pwm1 {
836f126890aSEmmanuel Vadot	pinctrl-names = "default";
837f126890aSEmmanuel Vadot	pinctrl-0 = <&pwm1_out>;
838f126890aSEmmanuel Vadot};
839f126890aSEmmanuel Vadot
840f126890aSEmmanuel Vadot&pwm2 {
841f126890aSEmmanuel Vadot	pinctrl-names = "default";
842f126890aSEmmanuel Vadot	pinctrl-0 = <&pwm2_out>;
843f126890aSEmmanuel Vadot};
844f126890aSEmmanuel Vadot
845f126890aSEmmanuel Vadot&pwm3 {
846f126890aSEmmanuel Vadot	pinctrl-names = "default";
847f126890aSEmmanuel Vadot	pinctrl-0 = <&pwm3_out>;
848f126890aSEmmanuel Vadot};
849f126890aSEmmanuel Vadot
850f126890aSEmmanuel Vadot&spi0 {
851f126890aSEmmanuel Vadot	pinctrl-names = "default";
852f126890aSEmmanuel Vadot	pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
853f126890aSEmmanuel Vadot};
854f126890aSEmmanuel Vadot
855f126890aSEmmanuel Vadot&spi1 {
856f126890aSEmmanuel Vadot	pinctrl-names = "default";
857f126890aSEmmanuel Vadot	pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
858f126890aSEmmanuel Vadot};
859f126890aSEmmanuel Vadot
860f126890aSEmmanuel Vadot&uart0 {
861f126890aSEmmanuel Vadot	compatible = "rockchip,rk3066-uart", "snps,dw-apb-uart";
862f126890aSEmmanuel Vadot	dmas = <&dmac1_s 0>, <&dmac1_s 1>;
863f126890aSEmmanuel Vadot	dma-names = "tx", "rx";
864f126890aSEmmanuel Vadot	pinctrl-names = "default";
865f126890aSEmmanuel Vadot	pinctrl-0 = <&uart0_xfer>;
866f126890aSEmmanuel Vadot};
867f126890aSEmmanuel Vadot
868f126890aSEmmanuel Vadot&uart1 {
869f126890aSEmmanuel Vadot	compatible = "rockchip,rk3066-uart", "snps,dw-apb-uart";
870f126890aSEmmanuel Vadot	dmas = <&dmac1_s 2>, <&dmac1_s 3>;
871f126890aSEmmanuel Vadot	dma-names = "tx", "rx";
872f126890aSEmmanuel Vadot	pinctrl-names = "default";
873f126890aSEmmanuel Vadot	pinctrl-0 = <&uart1_xfer>;
874f126890aSEmmanuel Vadot};
875f126890aSEmmanuel Vadot
876f126890aSEmmanuel Vadot&uart2 {
877f126890aSEmmanuel Vadot	compatible = "rockchip,rk3066-uart", "snps,dw-apb-uart";
878f126890aSEmmanuel Vadot	dmas = <&dmac2 6>, <&dmac2 7>;
879f126890aSEmmanuel Vadot	dma-names = "tx", "rx";
880f126890aSEmmanuel Vadot	pinctrl-names = "default";
881f126890aSEmmanuel Vadot	pinctrl-0 = <&uart2_xfer>;
882f126890aSEmmanuel Vadot};
883f126890aSEmmanuel Vadot
884f126890aSEmmanuel Vadot&uart3 {
885f126890aSEmmanuel Vadot	compatible = "rockchip,rk3066-uart", "snps,dw-apb-uart";
886f126890aSEmmanuel Vadot	dmas = <&dmac2 8>, <&dmac2 9>;
887f126890aSEmmanuel Vadot	dma-names = "tx", "rx";
888f126890aSEmmanuel Vadot	pinctrl-names = "default";
889f126890aSEmmanuel Vadot	pinctrl-0 = <&uart3_xfer>;
890f126890aSEmmanuel Vadot};
891f126890aSEmmanuel Vadot
892f126890aSEmmanuel Vadot&vpu {
893f126890aSEmmanuel Vadot	power-domains = <&power RK3066_PD_VIDEO>;
894f126890aSEmmanuel Vadot};
895f126890aSEmmanuel Vadot
896f126890aSEmmanuel Vadot&wdt {
897f126890aSEmmanuel Vadot	compatible = "rockchip,rk3066-wdt", "snps,dw-wdt";
898f126890aSEmmanuel Vadot};
899