xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm/rk3036.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
4*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
5*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
6*4882a593Smuzhiyun#include <dt-bindings/pinctrl/rockchip.h>
7*4882a593Smuzhiyun#include <dt-bindings/clock/rk3036-cru.h>
8*4882a593Smuzhiyun#include <dt-bindings/power/rk3036-power.h>
9*4882a593Smuzhiyun#include <dt-bindings/soc/rockchip,boot-mode.h>
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	#address-cells = <1>;
13*4882a593Smuzhiyun	#size-cells = <1>;
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun	compatible = "rockchip,rk3036";
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	interrupt-parent = <&gic>;
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	aliases {
20*4882a593Smuzhiyun		ethernet0 = &emac;
21*4882a593Smuzhiyun		gpio0 = &gpio0;
22*4882a593Smuzhiyun		gpio1 = &gpio1;
23*4882a593Smuzhiyun		gpio2 = &gpio2;
24*4882a593Smuzhiyun		i2c0 = &i2c0;
25*4882a593Smuzhiyun		i2c1 = &i2c1;
26*4882a593Smuzhiyun		i2c2 = &i2c2;
27*4882a593Smuzhiyun		mshc0 = &emmc;
28*4882a593Smuzhiyun		mshc1 = &sdmmc;
29*4882a593Smuzhiyun		mshc2 = &sdio;
30*4882a593Smuzhiyun		serial0 = &uart0;
31*4882a593Smuzhiyun		serial1 = &uart1;
32*4882a593Smuzhiyun		serial2 = &uart2;
33*4882a593Smuzhiyun		spi = &spi;
34*4882a593Smuzhiyun	};
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun	cpus {
37*4882a593Smuzhiyun		#address-cells = <1>;
38*4882a593Smuzhiyun		#size-cells = <0>;
39*4882a593Smuzhiyun		enable-method = "rockchip,rk3036-smp";
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun		cpu0: cpu@f00 {
42*4882a593Smuzhiyun			device_type = "cpu";
43*4882a593Smuzhiyun			compatible = "arm,cortex-a7";
44*4882a593Smuzhiyun			reg = <0xf00>;
45*4882a593Smuzhiyun			resets = <&cru SRST_CORE0>;
46*4882a593Smuzhiyun			operating-points-v2 = <&cpu0_opp_table>;
47*4882a593Smuzhiyun			clocks = <&cru ARMCLK>;
48*4882a593Smuzhiyun		};
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun		cpu1: cpu@f01 {
51*4882a593Smuzhiyun			device_type = "cpu";
52*4882a593Smuzhiyun			compatible = "arm,cortex-a7";
53*4882a593Smuzhiyun			reg = <0xf01>;
54*4882a593Smuzhiyun			resets = <&cru SRST_CORE1>;
55*4882a593Smuzhiyun			operating-points-v2 = <&cpu0_opp_table>;
56*4882a593Smuzhiyun		};
57*4882a593Smuzhiyun	};
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun	cpu0_opp_table: opp_table0 {
60*4882a593Smuzhiyun		compatible = "operating-points-v2";
61*4882a593Smuzhiyun		opp-shared;
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun		opp-408000000 {
64*4882a593Smuzhiyun			opp-hz = /bits/ 64 <408000000>;
65*4882a593Smuzhiyun			opp-microvolt = <1000000 1000000 1225000>;
66*4882a593Smuzhiyun			clock-latency-ns = <40000>;
67*4882a593Smuzhiyun		};
68*4882a593Smuzhiyun		opp-600000000 {
69*4882a593Smuzhiyun			opp-hz = /bits/ 64 <600000000>;
70*4882a593Smuzhiyun			opp-microvolt = <1000000 1000000 1225000>;
71*4882a593Smuzhiyun			clock-latency-ns = <40000>;
72*4882a593Smuzhiyun		};
73*4882a593Smuzhiyun		opp-816000000 {
74*4882a593Smuzhiyun			opp-hz = /bits/ 64 <816000000>;
75*4882a593Smuzhiyun			opp-microvolt = <1100000 1100000 1225000>;
76*4882a593Smuzhiyun			clock-latency-ns = <40000>;
77*4882a593Smuzhiyun			opp-suspend;
78*4882a593Smuzhiyun		};
79*4882a593Smuzhiyun		opp-1008000000 {
80*4882a593Smuzhiyun			opp-hz = /bits/ 64 <1008000000>;
81*4882a593Smuzhiyun			opp-microvolt = <1150000 1150000 1225000>;
82*4882a593Smuzhiyun			clock-latency-ns = <40000>;
83*4882a593Smuzhiyun		};
84*4882a593Smuzhiyun		opp-1200000000 {
85*4882a593Smuzhiyun			opp-hz = /bits/ 64 <1200000000>;
86*4882a593Smuzhiyun			opp-microvolt = <1225000 1225000 1225000>;
87*4882a593Smuzhiyun			clock-latency-ns = <40000>;
88*4882a593Smuzhiyun		};
89*4882a593Smuzhiyun	};
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun	amba: bus {
92*4882a593Smuzhiyun		compatible = "simple-bus";
93*4882a593Smuzhiyun		#address-cells = <1>;
94*4882a593Smuzhiyun		#size-cells = <1>;
95*4882a593Smuzhiyun		ranges;
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun		pdma: pdma@20078000 {
98*4882a593Smuzhiyun			compatible = "arm,pl330", "arm,primecell";
99*4882a593Smuzhiyun			reg = <0x20078000 0x4000>;
100*4882a593Smuzhiyun			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
101*4882a593Smuzhiyun				     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
102*4882a593Smuzhiyun			#dma-cells = <1>;
103*4882a593Smuzhiyun			arm,pl330-broken-no-flushp;
104*4882a593Smuzhiyun			arm,pl330-periph-burst;
105*4882a593Smuzhiyun			clocks = <&cru ACLK_DMAC2>;
106*4882a593Smuzhiyun			clock-names = "apb_pclk";
107*4882a593Smuzhiyun		};
108*4882a593Smuzhiyun	};
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun	arm-pmu {
111*4882a593Smuzhiyun		compatible = "arm,cortex-a7-pmu";
112*4882a593Smuzhiyun		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
113*4882a593Smuzhiyun			     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
114*4882a593Smuzhiyun		interrupt-affinity = <&cpu0>, <&cpu1>;
115*4882a593Smuzhiyun	};
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun	display-subsystem {
118*4882a593Smuzhiyun		compatible = "rockchip,display-subsystem";
119*4882a593Smuzhiyun		ports = <&vop_out>;
120*4882a593Smuzhiyun	};
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun	psci {
123*4882a593Smuzhiyun		compatible = "arm,psci-1.0";
124*4882a593Smuzhiyun		method = "smc";
125*4882a593Smuzhiyun	};
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun	timer {
128*4882a593Smuzhiyun		compatible = "arm,armv7-timer";
129*4882a593Smuzhiyun		arm,cpu-registers-not-fw-configured;
130*4882a593Smuzhiyun		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>,
131*4882a593Smuzhiyun			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>,
132*4882a593Smuzhiyun			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>,
133*4882a593Smuzhiyun			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
134*4882a593Smuzhiyun		clock-frequency = <24000000>;
135*4882a593Smuzhiyun	};
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun	xin24m: oscillator {
138*4882a593Smuzhiyun		compatible = "fixed-clock";
139*4882a593Smuzhiyun		clock-frequency = <24000000>;
140*4882a593Smuzhiyun		clock-output-names = "xin24m";
141*4882a593Smuzhiyun		#clock-cells = <0>;
142*4882a593Smuzhiyun	};
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun	bus_intmem: sram@10080000 {
145*4882a593Smuzhiyun		compatible = "mmio-sram";
146*4882a593Smuzhiyun		reg = <0x10080000 0x2000>;
147*4882a593Smuzhiyun		#address-cells = <1>;
148*4882a593Smuzhiyun		#size-cells = <1>;
149*4882a593Smuzhiyun		ranges = <0 0x10080000 0x2000>;
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun		smp-sram@0 {
152*4882a593Smuzhiyun			compatible = "rockchip,rk3066-smp-sram";
153*4882a593Smuzhiyun			reg = <0x00 0x10>;
154*4882a593Smuzhiyun		};
155*4882a593Smuzhiyun	};
156*4882a593Smuzhiyun
157*4882a593Smuzhiyun	gpu: gpu@10090000 {
158*4882a593Smuzhiyun		compatible = "arm,mali400";
159*4882a593Smuzhiyun		reg = <0x10090000 0x10000>;
160*4882a593Smuzhiyun		upthreshold = <40>;
161*4882a593Smuzhiyun		downdifferential = <10>;
162*4882a593Smuzhiyun
163*4882a593Smuzhiyun		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
164*4882a593Smuzhiyun			    <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
165*4882a593Smuzhiyun			    <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
166*4882a593Smuzhiyun			    <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun		interrupt-names = "Mali_GP_IRQ",
169*4882a593Smuzhiyun				  "Mali_GP_MMU_IRQ",
170*4882a593Smuzhiyun				  "Mali_PP0_IRQ",
171*4882a593Smuzhiyun				  "Mali_PP0_MMU_IRQ";
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun		clocks = <&cru SCLK_GPU>;
174*4882a593Smuzhiyun		clock-names = "clk_mali";
175*4882a593Smuzhiyun		assigned-clocks = <&cru SCLK_GPU>;
176*4882a593Smuzhiyun		assigned-clock-rates = <400000000>;
177*4882a593Smuzhiyun		assigned-clock-parents = <&cru PLL_DPLL>;
178*4882a593Smuzhiyun		power-domains = <&power RK3036_PD_GPU>;
179*4882a593Smuzhiyun		operating-points-v2 = <&gpu_opp_table>;
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun		status = "disabled";
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun		gpu_power_model: power_model {
184*4882a593Smuzhiyun			compatible = "arm,mali-simple-power-model";
185*4882a593Smuzhiyun			voltage = <900>;
186*4882a593Smuzhiyun			frequency = <500>;
187*4882a593Smuzhiyun			static-power = <300>;
188*4882a593Smuzhiyun			dynamic-power = <396>;
189*4882a593Smuzhiyun			ts = <32000 4700 (-80) 2>;
190*4882a593Smuzhiyun			thermal-zone = "soc-thermal";
191*4882a593Smuzhiyun		};
192*4882a593Smuzhiyun	};
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun	gpu_opp_table: opp-table1 {
195*4882a593Smuzhiyun		compatible = "operating-points-v2";
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun		opp-200000000 {
198*4882a593Smuzhiyun			opp-hz = /bits/ 64 <200000000>;
199*4882a593Smuzhiyun			opp-microvolt = <1000000>;
200*4882a593Smuzhiyun		};
201*4882a593Smuzhiyun		opp-400000000 {
202*4882a593Smuzhiyun			opp-hz = /bits/ 64 <400000000>;
203*4882a593Smuzhiyun			opp-microvolt = <1100000>;
204*4882a593Smuzhiyun		};
205*4882a593Smuzhiyun	};
206*4882a593Smuzhiyun
207*4882a593Smuzhiyun	mpp_srv: mpp-srv {
208*4882a593Smuzhiyun		compatible = "rockchip,mpp-service";
209*4882a593Smuzhiyun		rockchip,taskqueue-count = <1>;
210*4882a593Smuzhiyun		rockchip,resetgroup-count = <1>;
211*4882a593Smuzhiyun		rockchip,grf = <&grf>;
212*4882a593Smuzhiyun		rockchip,grf-offset = <0x0144>;
213*4882a593Smuzhiyun		rockchip,grf-values = <0x0008000a>, <0x00080002>;
214*4882a593Smuzhiyun		rockchip,grf-names = "grf_rkvdec", "grf_vdpu1";
215*4882a593Smuzhiyun		status = "disabled";
216*4882a593Smuzhiyun	};
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun	vdpu: vdpu@10108400 {
219*4882a593Smuzhiyun		compatible = "rockchip,vpu-decoder-rk3036";
220*4882a593Smuzhiyun		reg = <0x10108400 0x400>;
221*4882a593Smuzhiyun		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
222*4882a593Smuzhiyun		interrupt-names = "irq_dec";
223*4882a593Smuzhiyun		clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
224*4882a593Smuzhiyun		clock-names = "aclk_vcodec", "hclk_vcodec";
225*4882a593Smuzhiyun		rockchip,normal-rates = <297000000>, <0>;
226*4882a593Smuzhiyun		assigned-clocks = <&cru ACLK_VCODEC>;
227*4882a593Smuzhiyun		assigned-clock-rates = <297000000>;
228*4882a593Smuzhiyun		assigned-clock-parents = <&cru PLL_GPLL>;
229*4882a593Smuzhiyun		resets = <&cru SRST_VCODEC_A>, <&cru SRST_VCODEC_H>;
230*4882a593Smuzhiyun		reset-names = "shared_video_a", "shared_video_h";
231*4882a593Smuzhiyun		iommus = <&vpu_mmu>;
232*4882a593Smuzhiyun		power-domains = <&power RK3036_PD_VPU>;
233*4882a593Smuzhiyun		rockchip,srv = <&mpp_srv>;
234*4882a593Smuzhiyun		rockchip,taskqueue-node = <0>;
235*4882a593Smuzhiyun		rockchip,resetgroup-node = <0>;
236*4882a593Smuzhiyun		status = "disabled";
237*4882a593Smuzhiyun	};
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun	vpu_mmu: iommu@10108800 {
240*4882a593Smuzhiyun		compatible = "rockchip,iommu";
241*4882a593Smuzhiyun		reg = <0x10108800 0x100>;
242*4882a593Smuzhiyun		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
243*4882a593Smuzhiyun		interrupt-names = "vpu_mmu";
244*4882a593Smuzhiyun		clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
245*4882a593Smuzhiyun		clock-names = "aclk", "iface";
246*4882a593Smuzhiyun		#iommu-cells = <0>;
247*4882a593Smuzhiyun		power-domains = <&power RK3036_PD_VPU>;
248*4882a593Smuzhiyun		status = "disabled";
249*4882a593Smuzhiyun	};
250*4882a593Smuzhiyun
251*4882a593Smuzhiyun	hevc: hevc_service@1010c000 {
252*4882a593Smuzhiyun		compatible = "rockchip,hevc-decoder-rk3036";
253*4882a593Smuzhiyun		reg = <0x1010c000 0x400>;
254*4882a593Smuzhiyun		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
255*4882a593Smuzhiyun		interrupt-names = "irq_dec";
256*4882a593Smuzhiyun		clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>, <&cru ACLK_HEVC>;
257*4882a593Smuzhiyun		clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core";
258*4882a593Smuzhiyun		rockchip,normal-rates = <297000000>, <0>, <200000000>;
259*4882a593Smuzhiyun		assigned-clocks = <&cru ACLK_VCODEC>;
260*4882a593Smuzhiyun		assigned-clock-rates = <297000000>;
261*4882a593Smuzhiyun		assigned-clock-parents = <&cru PLL_GPLL>;
262*4882a593Smuzhiyun		resets = <&cru SRST_VCODEC_A>, <&cru SRST_VCODEC_H>, <&cru SRST_HEVC>;
263*4882a593Smuzhiyun		reset-names = "shared_video_a", "shared_video_h", "video_core";
264*4882a593Smuzhiyun		iommus = <&hevc_mmu>;
265*4882a593Smuzhiyun		rockchip,srv = <&mpp_srv>;
266*4882a593Smuzhiyun		rockchip,taskqueue-node = <0>;
267*4882a593Smuzhiyun		rockchip,resetgroup-node = <0>;
268*4882a593Smuzhiyun		power-domains = <&power RK3036_PD_VPU>;
269*4882a593Smuzhiyun		status = "disabled";
270*4882a593Smuzhiyun	};
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun	hevc_mmu: iommu@1010c440 {
273*4882a593Smuzhiyun		compatible = "rockchip,iommu";
274*4882a593Smuzhiyun		reg = <0x1010c440 0x40>, <0x1010c480 0x40>;
275*4882a593Smuzhiyun		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
276*4882a593Smuzhiyun		interrupt-names = "hevc_mmu";
277*4882a593Smuzhiyun		clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
278*4882a593Smuzhiyun		clock-names = "aclk", "iface";
279*4882a593Smuzhiyun		#iommu-cells = <0>;
280*4882a593Smuzhiyun		power-domains = <&power RK3036_PD_VPU>;
281*4882a593Smuzhiyun		status = "disabled";
282*4882a593Smuzhiyun	};
283*4882a593Smuzhiyun
284*4882a593Smuzhiyun	vop: vop@10118000 {
285*4882a593Smuzhiyun		compatible = "rockchip,rk3036-vop";
286*4882a593Smuzhiyun		reg = <0x10118000 0x19c>;
287*4882a593Smuzhiyun		interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
288*4882a593Smuzhiyun		clocks = <&cru ACLK_LCDC>, <&cru SCLK_LCDC>, <&cru HCLK_LCDC>;
289*4882a593Smuzhiyun		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
290*4882a593Smuzhiyun		resets = <&cru SRST_LCDC1_A>, <&cru SRST_LCDC1_H>, <&cru SRST_LCDC1_D>;
291*4882a593Smuzhiyun		reset-names = "axi", "ahb", "dclk";
292*4882a593Smuzhiyun		iommus = <&vop_mmu>;
293*4882a593Smuzhiyun		status = "disabled";
294*4882a593Smuzhiyun
295*4882a593Smuzhiyun		vop_out: port {
296*4882a593Smuzhiyun			#address-cells = <1>;
297*4882a593Smuzhiyun			#size-cells = <0>;
298*4882a593Smuzhiyun			vop_out_hdmi: endpoint@0 {
299*4882a593Smuzhiyun				reg = <0>;
300*4882a593Smuzhiyun				remote-endpoint = <&hdmi_in_vop>;
301*4882a593Smuzhiyun			};
302*4882a593Smuzhiyun			vop_out_tve: endpoint@1 {
303*4882a593Smuzhiyun				reg = <1>;
304*4882a593Smuzhiyun				remote-endpoint = <&tve_in_vop>;
305*4882a593Smuzhiyun			};
306*4882a593Smuzhiyun		};
307*4882a593Smuzhiyun	};
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun	tve: tve@10118200 {
310*4882a593Smuzhiyun		compatible = "rockchip,rk3036-tve";
311*4882a593Smuzhiyun		reg = <0x10118200 0x100>;
312*4882a593Smuzhiyun		clocks = <&cru ACLK_VIO>;
313*4882a593Smuzhiyun		clock-names = "aclk";
314*4882a593Smuzhiyun		rockchip,saturation = <0x00386346>;
315*4882a593Smuzhiyun		rockchip,brightcontrast = <0x00008b00>;
316*4882a593Smuzhiyun		rockchip,adjtiming = <0xa6c00880>;
317*4882a593Smuzhiyun		rockchip,lumafilter0 = <0x02ff0000>;
318*4882a593Smuzhiyun		rockchip,lumafilter1 = <0xf40202fd>;
319*4882a593Smuzhiyun		rockchip,lumafilter2 = <0xf332d919>;
320*4882a593Smuzhiyun		rockchip,daclevel = <0x3e>;
321*4882a593Smuzhiyun		rockchip,grf = <&grf>;
322*4882a593Smuzhiyun		status = "disabled";
323*4882a593Smuzhiyun
324*4882a593Smuzhiyun		ports {
325*4882a593Smuzhiyun			tve_in: port {
326*4882a593Smuzhiyun				#address-cells = <1>;
327*4882a593Smuzhiyun				#size-cells = <0>;
328*4882a593Smuzhiyun				tve_in_vop: endpoint@0 {
329*4882a593Smuzhiyun					reg = <0>;
330*4882a593Smuzhiyun					remote-endpoint = <&vop_out_tve>;
331*4882a593Smuzhiyun				};
332*4882a593Smuzhiyun			};
333*4882a593Smuzhiyun		};
334*4882a593Smuzhiyun	};
335*4882a593Smuzhiyun
336*4882a593Smuzhiyun	vop_mmu: iommu@10118300 {
337*4882a593Smuzhiyun		compatible = "rockchip,iommu";
338*4882a593Smuzhiyun		reg = <0x10118300 0x100>;
339*4882a593Smuzhiyun		interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
340*4882a593Smuzhiyun		interrupt-names = "vop_mmu";
341*4882a593Smuzhiyun		clocks = <&cru ACLK_LCDC>, <&cru HCLK_LCDC>;
342*4882a593Smuzhiyun		clock-names = "aclk", "iface";
343*4882a593Smuzhiyun		#iommu-cells = <0>;
344*4882a593Smuzhiyun		status = "disabled";
345*4882a593Smuzhiyun	};
346*4882a593Smuzhiyun
347*4882a593Smuzhiyun	qos_vpu: qos@1012e000 {
348*4882a593Smuzhiyun		compatible = "syscon";
349*4882a593Smuzhiyun		reg = <0x0 0x1012e000 0x0 0x20>;
350*4882a593Smuzhiyun	};
351*4882a593Smuzhiyun
352*4882a593Smuzhiyun	gic: interrupt-controller@10139000 {
353*4882a593Smuzhiyun		compatible = "arm,gic-400";
354*4882a593Smuzhiyun		interrupt-controller;
355*4882a593Smuzhiyun		#interrupt-cells = <3>;
356*4882a593Smuzhiyun		#address-cells = <0>;
357*4882a593Smuzhiyun
358*4882a593Smuzhiyun		reg = <0x10139000 0x1000>,
359*4882a593Smuzhiyun		      <0x1013a000 0x2000>,
360*4882a593Smuzhiyun		      <0x1013c000 0x2000>,
361*4882a593Smuzhiyun		      <0x1013e000 0x2000>;
362*4882a593Smuzhiyun		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
363*4882a593Smuzhiyun	};
364*4882a593Smuzhiyun
365*4882a593Smuzhiyun	usb_otg: usb@10180000 {
366*4882a593Smuzhiyun		compatible = "rockchip,rk3036-usb", "rockchip,rk3066-usb",
367*4882a593Smuzhiyun				"snps,dwc2";
368*4882a593Smuzhiyun		reg = <0x10180000 0x40000>;
369*4882a593Smuzhiyun		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
370*4882a593Smuzhiyun		clocks = <&cru HCLK_OTG0>;
371*4882a593Smuzhiyun		clock-names = "otg";
372*4882a593Smuzhiyun		dr_mode = "otg";
373*4882a593Smuzhiyun		g-np-tx-fifo-size = <16>;
374*4882a593Smuzhiyun		g-rx-fifo-size = <280>;
375*4882a593Smuzhiyun		g-tx-fifo-size = <256 128 128 64 32 16>;
376*4882a593Smuzhiyun		status = "disabled";
377*4882a593Smuzhiyun	};
378*4882a593Smuzhiyun
379*4882a593Smuzhiyun	usb_host: usb@101c0000 {
380*4882a593Smuzhiyun		compatible = "rockchip,rk3036-usb", "rockchip,rk3066-usb",
381*4882a593Smuzhiyun				"snps,dwc2";
382*4882a593Smuzhiyun		reg = <0x101c0000 0x40000>;
383*4882a593Smuzhiyun		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
384*4882a593Smuzhiyun		clocks = <&cru HCLK_OTG1>;
385*4882a593Smuzhiyun		clock-names = "otg";
386*4882a593Smuzhiyun		dr_mode = "host";
387*4882a593Smuzhiyun		status = "disabled";
388*4882a593Smuzhiyun	};
389*4882a593Smuzhiyun
390*4882a593Smuzhiyun	emac: ethernet@10200000 {
391*4882a593Smuzhiyun		compatible = "rockchip,rk3036-emac", "snps,arc-emac";
392*4882a593Smuzhiyun		reg = <0x10200000 0x4000>;
393*4882a593Smuzhiyun		interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
394*4882a593Smuzhiyun		#address-cells = <1>;
395*4882a593Smuzhiyun		#size-cells = <0>;
396*4882a593Smuzhiyun		rockchip,grf = <&grf>;
397*4882a593Smuzhiyun		clocks = <&cru HCLK_MAC>, <&cru SCLK_MACREF>, <&cru SCLK_MAC>;
398*4882a593Smuzhiyun		clock-names = "hclk", "macref", "macclk";
399*4882a593Smuzhiyun		/*
400*4882a593Smuzhiyun		 * Fix the emac parent clock is DPLL instead of APLL.
401*4882a593Smuzhiyun		 * since that will cause some unstable things if the cpufreq
402*4882a593Smuzhiyun		 * is working. (e.g: the accurate 50MHz what mac_ref need)
403*4882a593Smuzhiyun		 */
404*4882a593Smuzhiyun		assigned-clocks = <&cru SCLK_MACPLL>;
405*4882a593Smuzhiyun		assigned-clock-parents = <&cru PLL_DPLL>;
406*4882a593Smuzhiyun		max-speed = <100>;
407*4882a593Smuzhiyun		phy-mode = "rmii";
408*4882a593Smuzhiyun		status = "disabled";
409*4882a593Smuzhiyun	};
410*4882a593Smuzhiyun
411*4882a593Smuzhiyun	spdif_tx: spdif-tx@10204000 {
412*4882a593Smuzhiyun		compatible = "rockchip,rk3066-spdif";
413*4882a593Smuzhiyun		reg = <0x10204000 0x1000>;
414*4882a593Smuzhiyun		clocks = <&cru SCLK_SPDIF>, <&cru SCLK_SPDIF>;
415*4882a593Smuzhiyun		clock-names = "mclk", "hclk";
416*4882a593Smuzhiyun		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
417*4882a593Smuzhiyun		dmas = <&pdma 13>;
418*4882a593Smuzhiyun		dma-names = "tx";
419*4882a593Smuzhiyun		pinctrl-names = "default";
420*4882a593Smuzhiyun		pinctrl-0 = <&spdif_out>;
421*4882a593Smuzhiyun		#sound-dai-cells = <0>;
422*4882a593Smuzhiyun		status = "disabled";
423*4882a593Smuzhiyun	};
424*4882a593Smuzhiyun
425*4882a593Smuzhiyun	sfc: sfc@10208000 {
426*4882a593Smuzhiyun		compatible = "rockchip,sfc";
427*4882a593Smuzhiyun		reg = <0x10208000 0x200>;
428*4882a593Smuzhiyun		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
429*4882a593Smuzhiyun		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
430*4882a593Smuzhiyun		clock-names = "clk_sfc", "hclk_sfc";
431*4882a593Smuzhiyun		status = "disabled";
432*4882a593Smuzhiyun	};
433*4882a593Smuzhiyun
434*4882a593Smuzhiyun	sdmmc: dwmmc@10214000 {
435*4882a593Smuzhiyun		compatible = "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc";
436*4882a593Smuzhiyun		reg = <0x10214000 0x4000>;
437*4882a593Smuzhiyun		clock-frequency = <37500000>;
438*4882a593Smuzhiyun		max-frequency = <37500000>;
439*4882a593Smuzhiyun		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
440*4882a593Smuzhiyun		clock-names = "biu", "ciu";
441*4882a593Smuzhiyun		fifo-depth = <0x100>;
442*4882a593Smuzhiyun		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
443*4882a593Smuzhiyun		resets = <&cru SRST_MMC0>;
444*4882a593Smuzhiyun		reset-names = "reset";
445*4882a593Smuzhiyun		no-mmc;
446*4882a593Smuzhiyun		no-sdio;
447*4882a593Smuzhiyun		status = "disabled";
448*4882a593Smuzhiyun	};
449*4882a593Smuzhiyun
450*4882a593Smuzhiyun	sdio: mmc@10218000 {
451*4882a593Smuzhiyun		compatible = "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc";
452*4882a593Smuzhiyun		reg = <0x10218000 0x4000>;
453*4882a593Smuzhiyun		max-frequency = <37500000>;
454*4882a593Smuzhiyun		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
455*4882a593Smuzhiyun			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
456*4882a593Smuzhiyun		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
457*4882a593Smuzhiyun		fifo-depth = <0x100>;
458*4882a593Smuzhiyun		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
459*4882a593Smuzhiyun		resets = <&cru SRST_SDIO>;
460*4882a593Smuzhiyun		reset-names = "reset";
461*4882a593Smuzhiyun		no-mmc;
462*4882a593Smuzhiyun		no-sd;
463*4882a593Smuzhiyun		status = "disabled";
464*4882a593Smuzhiyun	};
465*4882a593Smuzhiyun
466*4882a593Smuzhiyun	emmc: mmc@1021c000 {
467*4882a593Smuzhiyun		compatible = "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc";
468*4882a593Smuzhiyun		reg = <0x1021c000 0x4000>;
469*4882a593Smuzhiyun		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
470*4882a593Smuzhiyun		bus-width = <8>;
471*4882a593Smuzhiyun		cap-mmc-highspeed;
472*4882a593Smuzhiyun		clock-frequency = <37500000>;
473*4882a593Smuzhiyun		max-frequency = <37500000>;
474*4882a593Smuzhiyun		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
475*4882a593Smuzhiyun			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
476*4882a593Smuzhiyun		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
477*4882a593Smuzhiyun		rockchip,default-sample-phase = <158>;
478*4882a593Smuzhiyun		disable-wp;
479*4882a593Smuzhiyun		dmas = <&pdma 12>;
480*4882a593Smuzhiyun		dma-names = "rx-tx";
481*4882a593Smuzhiyun		fifo-depth = <0x100>;
482*4882a593Smuzhiyun		non-removable;
483*4882a593Smuzhiyun		no-sdio;
484*4882a593Smuzhiyun		no-sd;
485*4882a593Smuzhiyun		pinctrl-names = "default";
486*4882a593Smuzhiyun		pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
487*4882a593Smuzhiyun		resets = <&cru SRST_EMMC>;
488*4882a593Smuzhiyun		reset-names = "reset";
489*4882a593Smuzhiyun		status = "disabled";
490*4882a593Smuzhiyun	};
491*4882a593Smuzhiyun
492*4882a593Smuzhiyun	i2s: i2s@10220000 {
493*4882a593Smuzhiyun		compatible = "rockchip,rk3036-i2s", "rockchip,rk3066-i2s";
494*4882a593Smuzhiyun		reg = <0x10220000 0x4000>;
495*4882a593Smuzhiyun		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
496*4882a593Smuzhiyun		clock-names = "i2s_clk", "i2s_hclk";
497*4882a593Smuzhiyun		clocks = <&cru SCLK_I2S>, <&cru HCLK_I2S>;
498*4882a593Smuzhiyun		assigned-clocks = <&cru SCLK_I2S_PRE>;
499*4882a593Smuzhiyun		assigned-clock-parents = <&cru SCLK_I2S_FRAC>;
500*4882a593Smuzhiyun		dmas = <&pdma 0>, <&pdma 1>;
501*4882a593Smuzhiyun		dma-names = "tx", "rx";
502*4882a593Smuzhiyun		resets = <&cru SRST_I2S>;
503*4882a593Smuzhiyun		reset-names = "reset-m";
504*4882a593Smuzhiyun		pinctrl-names = "default";
505*4882a593Smuzhiyun		pinctrl-0 = <&i2s_mclk
506*4882a593Smuzhiyun			     &i2s_sclk
507*4882a593Smuzhiyun			     &i2s_lrclkrx
508*4882a593Smuzhiyun			     &i2s_lrclktx
509*4882a593Smuzhiyun			     &i2s_sdo
510*4882a593Smuzhiyun			     &i2s_sdi>;
511*4882a593Smuzhiyun		#sound-dai-cells = <0>;
512*4882a593Smuzhiyun		status = "disabled";
513*4882a593Smuzhiyun	};
514*4882a593Smuzhiyun
515*4882a593Smuzhiyun	cru: clock-controller@20000000 {
516*4882a593Smuzhiyun		compatible = "rockchip,rk3036-cru";
517*4882a593Smuzhiyun		reg = <0x20000000 0x1000>;
518*4882a593Smuzhiyun		rockchip,grf = <&grf>;
519*4882a593Smuzhiyun		#clock-cells = <1>;
520*4882a593Smuzhiyun		#reset-cells = <1>;
521*4882a593Smuzhiyun		assigned-clocks = <&cru PLL_GPLL>;
522*4882a593Smuzhiyun		assigned-clock-rates = <594000000>;
523*4882a593Smuzhiyun	};
524*4882a593Smuzhiyun
525*4882a593Smuzhiyun	grf: syscon@20008000 {
526*4882a593Smuzhiyun		compatible = "rockchip,rk3036-grf", "syscon", "simple-mfd";
527*4882a593Smuzhiyun		reg = <0x20008000 0x1000>;
528*4882a593Smuzhiyun		#address-cells = <1>;
529*4882a593Smuzhiyun		#size-cells = <1>;
530*4882a593Smuzhiyun
531*4882a593Smuzhiyun		reboot-mode {
532*4882a593Smuzhiyun			compatible = "syscon-reboot-mode";
533*4882a593Smuzhiyun			offset = <0x1d8>;
534*4882a593Smuzhiyun			mode-normal = <BOOT_NORMAL>;
535*4882a593Smuzhiyun			mode-recovery = <BOOT_RECOVERY>;
536*4882a593Smuzhiyun			mode-bootloader = <BOOT_FASTBOOT>;
537*4882a593Smuzhiyun			mode-loader = <BOOT_BL_DOWNLOAD>;
538*4882a593Smuzhiyun			mode-ums = <BOOT_UMS>;
539*4882a593Smuzhiyun		};
540*4882a593Smuzhiyun
541*4882a593Smuzhiyun		power: power-controller {
542*4882a593Smuzhiyun			compatible = "rockchip,rk3036-power-controller";
543*4882a593Smuzhiyun			#power-domain-cells = <1>;
544*4882a593Smuzhiyun			#address-cells = <1>;
545*4882a593Smuzhiyun			#size-cells = <0>;
546*4882a593Smuzhiyun
547*4882a593Smuzhiyun			pd_vpu@RK3036_PD_VPU {
548*4882a593Smuzhiyun				reg = <RK3036_PD_VPU>;
549*4882a593Smuzhiyun				clocks = <&cru ACLK_VCODEC>,
550*4882a593Smuzhiyun					 <&cru HCLK_VCODEC>,
551*4882a593Smuzhiyun					 <&cru ACLK_HEVC>;
552*4882a593Smuzhiyun				pm_qos = <&qos_vpu>;
553*4882a593Smuzhiyun			};
554*4882a593Smuzhiyun			pd_gpu@RK3036_PD_GPU {
555*4882a593Smuzhiyun				reg = <RK3036_PD_GPU>;
556*4882a593Smuzhiyun				clocks = <&cru SCLK_GPU>;
557*4882a593Smuzhiyun			};
558*4882a593Smuzhiyun		};
559*4882a593Smuzhiyun
560*4882a593Smuzhiyun		usb2phy: usb2-phy@17c {
561*4882a593Smuzhiyun			compatible = "rockchip,rk3036-usb2phy";
562*4882a593Smuzhiyun			reg = <0x017c 0x0c>;
563*4882a593Smuzhiyun			clocks = <&cru SCLK_OTGPHY0>;
564*4882a593Smuzhiyun			clock-names = "phyclk";
565*4882a593Smuzhiyun			#clock-cells = <0>;
566*4882a593Smuzhiyun			clock-output-names = "usb480m_phy";
567*4882a593Smuzhiyun			status = "disabled";
568*4882a593Smuzhiyun
569*4882a593Smuzhiyun			u2phy_otg: otg-port {
570*4882a593Smuzhiyun				#phy-cells = <0>;
571*4882a593Smuzhiyun				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
572*4882a593Smuzhiyun					<GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
573*4882a593Smuzhiyun					<GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
574*4882a593Smuzhiyun				interrupt-names = "otg-bvalid", "otg-id",
575*4882a593Smuzhiyun						"linestate";
576*4882a593Smuzhiyun				status = "disabled";
577*4882a593Smuzhiyun			};
578*4882a593Smuzhiyun
579*4882a593Smuzhiyun			u2phy_host: host-port {
580*4882a593Smuzhiyun				#phy-cells = <0>;
581*4882a593Smuzhiyun				interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
582*4882a593Smuzhiyun				interrupt-names = "linestate";
583*4882a593Smuzhiyun				status = "disabled";
584*4882a593Smuzhiyun			};
585*4882a593Smuzhiyun		};
586*4882a593Smuzhiyun	};
587*4882a593Smuzhiyun
588*4882a593Smuzhiyun	acodec: acodec-ana@20030000 {
589*4882a593Smuzhiyun		compatible = "rockchip,rk3036-codec";
590*4882a593Smuzhiyun		reg = <0x20030000 0x4000>;
591*4882a593Smuzhiyun		rockchip,grf = <&grf>;
592*4882a593Smuzhiyun		clock-names = "acodec_pclk";
593*4882a593Smuzhiyun		clocks = <&cru PCLK_ACODEC>;
594*4882a593Smuzhiyun		status = "disabled";
595*4882a593Smuzhiyun	};
596*4882a593Smuzhiyun
597*4882a593Smuzhiyun	hdmi: hdmi@20034000 {
598*4882a593Smuzhiyun		compatible = "rockchip,rk3036-inno-hdmi";
599*4882a593Smuzhiyun		reg = <0x20034000 0x4000>;
600*4882a593Smuzhiyun		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
601*4882a593Smuzhiyun		clocks =  <&cru ACLK_VIO>, <&cru PCLK_HDMI>;
602*4882a593Smuzhiyun		clock-names = "aclk", "pclk";
603*4882a593Smuzhiyun		rockchip,grf = <&grf>;
604*4882a593Smuzhiyun		pinctrl-names = "default";
605*4882a593Smuzhiyun		pinctrl-0 = <&hdmi_ctl>;
606*4882a593Smuzhiyun		#address-cells = <1>;
607*4882a593Smuzhiyun		#size-cells = <0>;
608*4882a593Smuzhiyun		#sound-dai-cells = <0>;
609*4882a593Smuzhiyun		status = "disabled";
610*4882a593Smuzhiyun
611*4882a593Smuzhiyun		hdmi_in: port {
612*4882a593Smuzhiyun			#address-cells = <1>;
613*4882a593Smuzhiyun			#size-cells = <0>;
614*4882a593Smuzhiyun			hdmi_in_vop: endpoint@0 {
615*4882a593Smuzhiyun				reg = <0>;
616*4882a593Smuzhiyun				remote-endpoint = <&vop_out_hdmi>;
617*4882a593Smuzhiyun			};
618*4882a593Smuzhiyun		};
619*4882a593Smuzhiyun	};
620*4882a593Smuzhiyun
621*4882a593Smuzhiyun	timer: timer@20044000 {
622*4882a593Smuzhiyun		compatible = "rockchip,rk3036-timer", "rockchip,rk3288-timer";
623*4882a593Smuzhiyun		reg = <0x20044000 0x20>;
624*4882a593Smuzhiyun		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
625*4882a593Smuzhiyun		clocks = <&xin24m>, <&cru PCLK_TIMER>;
626*4882a593Smuzhiyun		clock-names = "timer", "pclk";
627*4882a593Smuzhiyun	};
628*4882a593Smuzhiyun
629*4882a593Smuzhiyun	wdt: watchdog@2004c000 {
630*4882a593Smuzhiyun		compatible = "rockchip,rk3036-wdt", "snps,dw-wdt";
631*4882a593Smuzhiyun		reg = <0x2004c000 0x100>;
632*4882a593Smuzhiyun		clocks = <&cru PCLK_WDT>;
633*4882a593Smuzhiyun		status = "disabled";
634*4882a593Smuzhiyun	};
635*4882a593Smuzhiyun
636*4882a593Smuzhiyun	pwm0: pwm@20050000 {
637*4882a593Smuzhiyun		compatible = "rockchip,rk3036-pwm", "rockchip,rk3288-pwm";
638*4882a593Smuzhiyun		reg = <0x20050000 0x10>;
639*4882a593Smuzhiyun		#pwm-cells = <3>;
640*4882a593Smuzhiyun		clocks = <&cru PCLK_PWM>;
641*4882a593Smuzhiyun		clock-names = "pwm";
642*4882a593Smuzhiyun		pinctrl-names = "active";
643*4882a593Smuzhiyun		pinctrl-0 = <&pwm0_pin>;
644*4882a593Smuzhiyun		status = "disabled";
645*4882a593Smuzhiyun	};
646*4882a593Smuzhiyun
647*4882a593Smuzhiyun	pwm1: pwm@20050010 {
648*4882a593Smuzhiyun		compatible = "rockchip,rk3036-pwm", "rockchip,rk3288-pwm";
649*4882a593Smuzhiyun		reg = <0x20050010 0x10>;
650*4882a593Smuzhiyun		#pwm-cells = <3>;
651*4882a593Smuzhiyun		clocks = <&cru PCLK_PWM>;
652*4882a593Smuzhiyun		clock-names = "pwm";
653*4882a593Smuzhiyun		pinctrl-names = "active";
654*4882a593Smuzhiyun		pinctrl-0 = <&pwm1_pin>;
655*4882a593Smuzhiyun		status = "disabled";
656*4882a593Smuzhiyun	};
657*4882a593Smuzhiyun
658*4882a593Smuzhiyun	pwm2: pwm@20050020 {
659*4882a593Smuzhiyun		compatible = "rockchip,rk3036-pwm", "rockchip,rk3288-pwm";
660*4882a593Smuzhiyun		reg = <0x20050020 0x10>;
661*4882a593Smuzhiyun		#pwm-cells = <3>;
662*4882a593Smuzhiyun		clocks = <&cru PCLK_PWM>;
663*4882a593Smuzhiyun		clock-names = "pwm";
664*4882a593Smuzhiyun		pinctrl-names = "active";
665*4882a593Smuzhiyun		pinctrl-0 = <&pwm2_pin>;
666*4882a593Smuzhiyun		status = "disabled";
667*4882a593Smuzhiyun	};
668*4882a593Smuzhiyun
669*4882a593Smuzhiyun	pwm3: pwm@20050030 {
670*4882a593Smuzhiyun		compatible = "rockchip,rk3036-pwm", "rockchip,rk3288-pwm";
671*4882a593Smuzhiyun		reg = <0x20050030 0x10>;
672*4882a593Smuzhiyun		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
673*4882a593Smuzhiyun		#pwm-cells = <3>;
674*4882a593Smuzhiyun		clocks = <&cru PCLK_PWM>;
675*4882a593Smuzhiyun		clock-names = "pwm";
676*4882a593Smuzhiyun		pinctrl-names = "active";
677*4882a593Smuzhiyun		pinctrl-0 = <&pwm3_pin>;
678*4882a593Smuzhiyun		status = "disabled";
679*4882a593Smuzhiyun	};
680*4882a593Smuzhiyun
681*4882a593Smuzhiyun	i2c1: i2c@20056000 {
682*4882a593Smuzhiyun		compatible = "rockchip,rk3036-i2c", "rockchip,rk3288-i2c";
683*4882a593Smuzhiyun		reg = <0x20056000 0x1000>;
684*4882a593Smuzhiyun		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
685*4882a593Smuzhiyun		#address-cells = <1>;
686*4882a593Smuzhiyun		#size-cells = <0>;
687*4882a593Smuzhiyun		clock-names = "i2c";
688*4882a593Smuzhiyun		clocks = <&cru PCLK_I2C1>;
689*4882a593Smuzhiyun		pinctrl-names = "default";
690*4882a593Smuzhiyun		pinctrl-0 = <&i2c1_xfer>;
691*4882a593Smuzhiyun		status = "disabled";
692*4882a593Smuzhiyun	};
693*4882a593Smuzhiyun
694*4882a593Smuzhiyun	i2c2: i2c@2005a000 {
695*4882a593Smuzhiyun		compatible = "rockchip,rk3036-i2c", "rockchip,rk3288-i2c";
696*4882a593Smuzhiyun		reg = <0x2005a000 0x1000>;
697*4882a593Smuzhiyun		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
698*4882a593Smuzhiyun		#address-cells = <1>;
699*4882a593Smuzhiyun		#size-cells = <0>;
700*4882a593Smuzhiyun		clock-names = "i2c";
701*4882a593Smuzhiyun		clocks = <&cru PCLK_I2C2>;
702*4882a593Smuzhiyun		pinctrl-names = "default";
703*4882a593Smuzhiyun		pinctrl-0 = <&i2c2_xfer>;
704*4882a593Smuzhiyun		status = "disabled";
705*4882a593Smuzhiyun	};
706*4882a593Smuzhiyun
707*4882a593Smuzhiyun	uart0: serial@20060000 {
708*4882a593Smuzhiyun		compatible = "rockchip,rk3036-uart", "snps,dw-apb-uart";
709*4882a593Smuzhiyun		reg = <0x20060000 0x100>;
710*4882a593Smuzhiyun		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
711*4882a593Smuzhiyun		reg-shift = <2>;
712*4882a593Smuzhiyun		reg-io-width = <4>;
713*4882a593Smuzhiyun		clock-frequency = <24000000>;
714*4882a593Smuzhiyun		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
715*4882a593Smuzhiyun		clock-names = "baudclk", "apb_pclk";
716*4882a593Smuzhiyun		pinctrl-names = "default";
717*4882a593Smuzhiyun		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
718*4882a593Smuzhiyun		status = "disabled";
719*4882a593Smuzhiyun	};
720*4882a593Smuzhiyun
721*4882a593Smuzhiyun	uart1: serial@20064000 {
722*4882a593Smuzhiyun		compatible = "rockchip,rk3036-uart", "snps,dw-apb-uart";
723*4882a593Smuzhiyun		reg = <0x20064000 0x100>;
724*4882a593Smuzhiyun		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
725*4882a593Smuzhiyun		reg-shift = <2>;
726*4882a593Smuzhiyun		reg-io-width = <4>;
727*4882a593Smuzhiyun		clock-frequency = <24000000>;
728*4882a593Smuzhiyun		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
729*4882a593Smuzhiyun		clock-names = "baudclk", "apb_pclk";
730*4882a593Smuzhiyun		pinctrl-names = "default";
731*4882a593Smuzhiyun		pinctrl-0 = <&uart1_xfer>;
732*4882a593Smuzhiyun		status = "disabled";
733*4882a593Smuzhiyun	};
734*4882a593Smuzhiyun
735*4882a593Smuzhiyun	uart2: serial@20068000 {
736*4882a593Smuzhiyun		compatible = "rockchip,rk3036-uart", "snps,dw-apb-uart";
737*4882a593Smuzhiyun		reg = <0x20068000 0x100>;
738*4882a593Smuzhiyun		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
739*4882a593Smuzhiyun		reg-shift = <2>;
740*4882a593Smuzhiyun		reg-io-width = <4>;
741*4882a593Smuzhiyun		clock-frequency = <24000000>;
742*4882a593Smuzhiyun		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
743*4882a593Smuzhiyun		clock-names = "baudclk", "apb_pclk";
744*4882a593Smuzhiyun		pinctrl-names = "default";
745*4882a593Smuzhiyun		pinctrl-0 = <&uart2_xfer>;
746*4882a593Smuzhiyun		status = "disabled";
747*4882a593Smuzhiyun	};
748*4882a593Smuzhiyun
749*4882a593Smuzhiyun	i2c0: i2c@20072000 {
750*4882a593Smuzhiyun		compatible = "rockchip,rk3036-i2c", "rockchip,rk3288-i2c";
751*4882a593Smuzhiyun		reg = <0x20072000 0x1000>;
752*4882a593Smuzhiyun		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
753*4882a593Smuzhiyun		#address-cells = <1>;
754*4882a593Smuzhiyun		#size-cells = <0>;
755*4882a593Smuzhiyun		clock-names = "i2c";
756*4882a593Smuzhiyun		clocks = <&cru PCLK_I2C0>;
757*4882a593Smuzhiyun		pinctrl-names = "default";
758*4882a593Smuzhiyun		pinctrl-0 = <&i2c0_xfer>;
759*4882a593Smuzhiyun		status = "disabled";
760*4882a593Smuzhiyun	};
761*4882a593Smuzhiyun
762*4882a593Smuzhiyun	spi: spi@20074000 {
763*4882a593Smuzhiyun		compatible = "rockchip,rockchip-spi";
764*4882a593Smuzhiyun		reg = <0x20074000 0x1000>;
765*4882a593Smuzhiyun		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
766*4882a593Smuzhiyun		clocks = <&cru PCLK_SPI>, <&cru SCLK_SPI>;
767*4882a593Smuzhiyun		clock-names = "apb-pclk","spi_pclk";
768*4882a593Smuzhiyun		dmas = <&pdma 8>, <&pdma 9>;
769*4882a593Smuzhiyun		dma-names = "tx", "rx";
770*4882a593Smuzhiyun		pinctrl-names = "default";
771*4882a593Smuzhiyun		pinctrl-0 = <&spi_txd &spi_rxd &spi_clk &spi_cs0>;
772*4882a593Smuzhiyun		#address-cells = <1>;
773*4882a593Smuzhiyun		#size-cells = <0>;
774*4882a593Smuzhiyun		status = "disabled";
775*4882a593Smuzhiyun	};
776*4882a593Smuzhiyun
777*4882a593Smuzhiyun	pinctrl: pinctrl {
778*4882a593Smuzhiyun		compatible = "rockchip,rk3036-pinctrl";
779*4882a593Smuzhiyun		rockchip,grf = <&grf>;
780*4882a593Smuzhiyun		#address-cells = <1>;
781*4882a593Smuzhiyun		#size-cells = <1>;
782*4882a593Smuzhiyun		ranges;
783*4882a593Smuzhiyun
784*4882a593Smuzhiyun		gpio0: gpio0@2007c000 {
785*4882a593Smuzhiyun			compatible = "rockchip,gpio-bank";
786*4882a593Smuzhiyun			reg = <0x2007c000 0x100>;
787*4882a593Smuzhiyun			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
788*4882a593Smuzhiyun			clock-names = "bus";
789*4882a593Smuzhiyun			clocks = <&cru PCLK_GPIO0>;
790*4882a593Smuzhiyun
791*4882a593Smuzhiyun			gpio-controller;
792*4882a593Smuzhiyun			#gpio-cells = <2>;
793*4882a593Smuzhiyun
794*4882a593Smuzhiyun			interrupt-controller;
795*4882a593Smuzhiyun			#interrupt-cells = <2>;
796*4882a593Smuzhiyun		};
797*4882a593Smuzhiyun
798*4882a593Smuzhiyun		gpio1: gpio1@20080000 {
799*4882a593Smuzhiyun			compatible = "rockchip,gpio-bank";
800*4882a593Smuzhiyun			reg = <0x20080000 0x100>;
801*4882a593Smuzhiyun			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
802*4882a593Smuzhiyun			clock-names = "bus";
803*4882a593Smuzhiyun			clocks = <&cru PCLK_GPIO1>;
804*4882a593Smuzhiyun
805*4882a593Smuzhiyun			gpio-controller;
806*4882a593Smuzhiyun			#gpio-cells = <2>;
807*4882a593Smuzhiyun
808*4882a593Smuzhiyun			interrupt-controller;
809*4882a593Smuzhiyun			#interrupt-cells = <2>;
810*4882a593Smuzhiyun		};
811*4882a593Smuzhiyun
812*4882a593Smuzhiyun		gpio2: gpio2@20084000 {
813*4882a593Smuzhiyun			compatible = "rockchip,gpio-bank";
814*4882a593Smuzhiyun			reg = <0x20084000 0x100>;
815*4882a593Smuzhiyun			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
816*4882a593Smuzhiyun			clock-names = "bus";
817*4882a593Smuzhiyun			clocks = <&cru PCLK_GPIO2>;
818*4882a593Smuzhiyun
819*4882a593Smuzhiyun			gpio-controller;
820*4882a593Smuzhiyun			#gpio-cells = <2>;
821*4882a593Smuzhiyun
822*4882a593Smuzhiyun			interrupt-controller;
823*4882a593Smuzhiyun			#interrupt-cells = <2>;
824*4882a593Smuzhiyun		};
825*4882a593Smuzhiyun
826*4882a593Smuzhiyun		pcfg_pull_default: pcfg_pull_default {
827*4882a593Smuzhiyun			bias-pull-pin-default;
828*4882a593Smuzhiyun		};
829*4882a593Smuzhiyun
830*4882a593Smuzhiyun		pcfg_pull_none: pcfg-pull-none {
831*4882a593Smuzhiyun			bias-disable;
832*4882a593Smuzhiyun		};
833*4882a593Smuzhiyun
834*4882a593Smuzhiyun		pwm0 {
835*4882a593Smuzhiyun			pwm0_pin: pwm0-pin {
836*4882a593Smuzhiyun				rockchip,pins = <0 RK_PA0 2 &pcfg_pull_default>;
837*4882a593Smuzhiyun			};
838*4882a593Smuzhiyun		};
839*4882a593Smuzhiyun
840*4882a593Smuzhiyun		pwm1 {
841*4882a593Smuzhiyun			pwm1_pin: pwm1-pin {
842*4882a593Smuzhiyun				rockchip,pins = <0 RK_PA1 2 &pcfg_pull_default>;
843*4882a593Smuzhiyun			};
844*4882a593Smuzhiyun		};
845*4882a593Smuzhiyun
846*4882a593Smuzhiyun		pwm2 {
847*4882a593Smuzhiyun			pwm2_pin: pwm2-pin {
848*4882a593Smuzhiyun				rockchip,pins = <0 RK_PA1 2 &pcfg_pull_default>;
849*4882a593Smuzhiyun			};
850*4882a593Smuzhiyun		};
851*4882a593Smuzhiyun
852*4882a593Smuzhiyun		pwm3 {
853*4882a593Smuzhiyun			pwm3_pin: pwm3-pin {
854*4882a593Smuzhiyun				rockchip,pins = <0 RK_PD3 1 &pcfg_pull_default>;
855*4882a593Smuzhiyun			};
856*4882a593Smuzhiyun		};
857*4882a593Smuzhiyun
858*4882a593Smuzhiyun		sdmmc {
859*4882a593Smuzhiyun			sdmmc_clk: sdmmc-clk {
860*4882a593Smuzhiyun				rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none>;
861*4882a593Smuzhiyun			};
862*4882a593Smuzhiyun
863*4882a593Smuzhiyun			sdmmc_cmd: sdmmc-cmd {
864*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB7 1 &pcfg_pull_default>;
865*4882a593Smuzhiyun			};
866*4882a593Smuzhiyun
867*4882a593Smuzhiyun			sdmmc_cd: sdmmc-cd {
868*4882a593Smuzhiyun				rockchip,pins = <1 RK_PC1 1 &pcfg_pull_default>;
869*4882a593Smuzhiyun			};
870*4882a593Smuzhiyun
871*4882a593Smuzhiyun			sdmmc_bus1: sdmmc-bus1 {
872*4882a593Smuzhiyun				rockchip,pins = <1 RK_PC2 1 &pcfg_pull_default>;
873*4882a593Smuzhiyun			};
874*4882a593Smuzhiyun
875*4882a593Smuzhiyun			sdmmc_bus4: sdmmc-bus4 {
876*4882a593Smuzhiyun				rockchip,pins = <1 RK_PC2 1 &pcfg_pull_default>,
877*4882a593Smuzhiyun						<1 RK_PC3 1 &pcfg_pull_default>,
878*4882a593Smuzhiyun						<1 RK_PC4 1 &pcfg_pull_default>,
879*4882a593Smuzhiyun						<1 RK_PC5 1 &pcfg_pull_default>;
880*4882a593Smuzhiyun			};
881*4882a593Smuzhiyun		};
882*4882a593Smuzhiyun
883*4882a593Smuzhiyun		sdio {
884*4882a593Smuzhiyun			sdio_bus1: sdio-bus1 {
885*4882a593Smuzhiyun				rockchip,pins = <0 RK_PB3 1 &pcfg_pull_default>;
886*4882a593Smuzhiyun			};
887*4882a593Smuzhiyun
888*4882a593Smuzhiyun			sdio_bus4: sdio-bus4 {
889*4882a593Smuzhiyun				rockchip,pins = <0 RK_PB3 1 &pcfg_pull_default>,
890*4882a593Smuzhiyun						<0 RK_PB4 1 &pcfg_pull_default>,
891*4882a593Smuzhiyun						<0 RK_PB5 1 &pcfg_pull_default>,
892*4882a593Smuzhiyun						<0 RK_PB6 1 &pcfg_pull_default>;
893*4882a593Smuzhiyun			};
894*4882a593Smuzhiyun
895*4882a593Smuzhiyun			sdio_cmd: sdio-cmd {
896*4882a593Smuzhiyun				rockchip,pins = <0 RK_PB0 1 &pcfg_pull_default>;
897*4882a593Smuzhiyun			};
898*4882a593Smuzhiyun
899*4882a593Smuzhiyun			sdio_clk: sdio-clk {
900*4882a593Smuzhiyun				rockchip,pins = <0 RK_PB1 1 &pcfg_pull_none>;
901*4882a593Smuzhiyun			};
902*4882a593Smuzhiyun		};
903*4882a593Smuzhiyun
904*4882a593Smuzhiyun		emmc {
905*4882a593Smuzhiyun			/*
906*4882a593Smuzhiyun			 * We run eMMC at max speed; bump up drive strength.
907*4882a593Smuzhiyun			 * We also have external pulls, so disable the internal ones.
908*4882a593Smuzhiyun			 */
909*4882a593Smuzhiyun			emmc_clk: emmc-clk {
910*4882a593Smuzhiyun				rockchip,pins = <2 RK_PA4 2 &pcfg_pull_none>;
911*4882a593Smuzhiyun			};
912*4882a593Smuzhiyun
913*4882a593Smuzhiyun			emmc_cmd: emmc-cmd {
914*4882a593Smuzhiyun				rockchip,pins = <2 RK_PA1 2 &pcfg_pull_default>;
915*4882a593Smuzhiyun			};
916*4882a593Smuzhiyun
917*4882a593Smuzhiyun			emmc_bus8: emmc-bus8 {
918*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>,
919*4882a593Smuzhiyun						<1 RK_PD1 2 &pcfg_pull_default>,
920*4882a593Smuzhiyun						<1 RK_PD2 2 &pcfg_pull_default>,
921*4882a593Smuzhiyun						<1 RK_PD3 2 &pcfg_pull_default>,
922*4882a593Smuzhiyun						<1 RK_PD4 2 &pcfg_pull_default>,
923*4882a593Smuzhiyun						<1 RK_PD5 2 &pcfg_pull_default>,
924*4882a593Smuzhiyun						<1 RK_PD6 2 &pcfg_pull_default>,
925*4882a593Smuzhiyun						<1 RK_PD7 2 &pcfg_pull_default>;
926*4882a593Smuzhiyun			};
927*4882a593Smuzhiyun		};
928*4882a593Smuzhiyun
929*4882a593Smuzhiyun		spdif_tx {
930*4882a593Smuzhiyun			spdif_out: spdif-out {
931*4882a593Smuzhiyun				rockchip,pins = <0 RK_PD4 1 &pcfg_pull_default>;
932*4882a593Smuzhiyun			};
933*4882a593Smuzhiyun		};
934*4882a593Smuzhiyun
935*4882a593Smuzhiyun		emac {
936*4882a593Smuzhiyun			emac_xfer: emac-xfer {
937*4882a593Smuzhiyun				rockchip,pins = <2 RK_PB2 1 &pcfg_pull_default>, /* crs_dvalid */
938*4882a593Smuzhiyun						<2 RK_PB5 1 &pcfg_pull_default>, /* tx_en */
939*4882a593Smuzhiyun						<2 RK_PB6 1 &pcfg_pull_default>, /* mac_clk */
940*4882a593Smuzhiyun						<2 RK_PB7 1 &pcfg_pull_default>, /* rx_err */
941*4882a593Smuzhiyun						<2 RK_PC0 1 &pcfg_pull_default>, /* rxd1 */
942*4882a593Smuzhiyun						<2 RK_PC1 1 &pcfg_pull_default>, /* rxd0 */
943*4882a593Smuzhiyun						<2 RK_PC2 1 &pcfg_pull_default>, /* txd1 */
944*4882a593Smuzhiyun						<2 RK_PC3 1 &pcfg_pull_default>; /* txd0 */
945*4882a593Smuzhiyun			};
946*4882a593Smuzhiyun
947*4882a593Smuzhiyun			emac_mdio: emac-mdio {
948*4882a593Smuzhiyun				rockchip,pins = <2 RK_PB4 1 &pcfg_pull_default>, /* mac_md */
949*4882a593Smuzhiyun						<2 RK_PD1 1 &pcfg_pull_default>; /* mac_mdclk */
950*4882a593Smuzhiyun			};
951*4882a593Smuzhiyun		};
952*4882a593Smuzhiyun
953*4882a593Smuzhiyun		i2c0 {
954*4882a593Smuzhiyun			i2c0_xfer: i2c0-xfer {
955*4882a593Smuzhiyun				rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>,
956*4882a593Smuzhiyun						<0 RK_PA1 1 &pcfg_pull_none>;
957*4882a593Smuzhiyun			};
958*4882a593Smuzhiyun		};
959*4882a593Smuzhiyun
960*4882a593Smuzhiyun		i2c1 {
961*4882a593Smuzhiyun			i2c1_xfer: i2c1-xfer {
962*4882a593Smuzhiyun				rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>,
963*4882a593Smuzhiyun						<0 RK_PA3 1 &pcfg_pull_none>;
964*4882a593Smuzhiyun			};
965*4882a593Smuzhiyun		};
966*4882a593Smuzhiyun
967*4882a593Smuzhiyun		i2c2 {
968*4882a593Smuzhiyun			i2c2_xfer: i2c2-xfer {
969*4882a593Smuzhiyun				rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>,
970*4882a593Smuzhiyun						<2 RK_PC5 1 &pcfg_pull_none>;
971*4882a593Smuzhiyun			};
972*4882a593Smuzhiyun		};
973*4882a593Smuzhiyun
974*4882a593Smuzhiyun		i2s {
975*4882a593Smuzhiyun			i2s_mclk: i2s-mclk {
976*4882a593Smuzhiyun				rockchip,pins = <1 RK_PA0 1 &pcfg_pull_default>;
977*4882a593Smuzhiyun			};
978*4882a593Smuzhiyun			i2s_sclk: i2s-sclk {
979*4882a593Smuzhiyun				rockchip,pins = <1 RK_PA1 1 &pcfg_pull_default>;
980*4882a593Smuzhiyun			};
981*4882a593Smuzhiyun			i2s_lrclkrx: i2s-lrclkrx {
982*4882a593Smuzhiyun				rockchip,pins = <1 RK_PA2 1 &pcfg_pull_default>;
983*4882a593Smuzhiyun			};
984*4882a593Smuzhiyun			i2s_lrclktx: i2s-lrclktx {
985*4882a593Smuzhiyun				rockchip,pins = <1 RK_PA3 1 &pcfg_pull_default>;
986*4882a593Smuzhiyun			};
987*4882a593Smuzhiyun			i2s_sdo: i2s-sdo {
988*4882a593Smuzhiyun				rockchip,pins = <1 RK_PA4 1 &pcfg_pull_default>;
989*4882a593Smuzhiyun			};
990*4882a593Smuzhiyun			i2s_sdi: i2s-sdi {
991*4882a593Smuzhiyun				rockchip,pins = <1 RK_PA5 1 &pcfg_pull_default>;
992*4882a593Smuzhiyun			};
993*4882a593Smuzhiyun		};
994*4882a593Smuzhiyun
995*4882a593Smuzhiyun		hdmi {
996*4882a593Smuzhiyun			hdmi_ctl: hdmi-ctl {
997*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB0 1 &pcfg_pull_none>,
998*4882a593Smuzhiyun						<1 RK_PB1 1 &pcfg_pull_none>,
999*4882a593Smuzhiyun						<1 RK_PB2 1 &pcfg_pull_none>,
1000*4882a593Smuzhiyun						<1 RK_PB3 1 &pcfg_pull_none>;
1001*4882a593Smuzhiyun			};
1002*4882a593Smuzhiyun		};
1003*4882a593Smuzhiyun
1004*4882a593Smuzhiyun		uart0 {
1005*4882a593Smuzhiyun			uart0_xfer: uart0-xfer {
1006*4882a593Smuzhiyun				rockchip,pins = <0 RK_PC0 1 &pcfg_pull_default>,
1007*4882a593Smuzhiyun						<0 RK_PC1 1 &pcfg_pull_default>;
1008*4882a593Smuzhiyun			};
1009*4882a593Smuzhiyun
1010*4882a593Smuzhiyun			uart0_cts: uart0-cts {
1011*4882a593Smuzhiyun				rockchip,pins = <0 RK_PC2 1 &pcfg_pull_default>;
1012*4882a593Smuzhiyun			};
1013*4882a593Smuzhiyun
1014*4882a593Smuzhiyun			uart0_rts: uart0-rts {
1015*4882a593Smuzhiyun				rockchip,pins = <0 RK_PC3 1 &pcfg_pull_none>;
1016*4882a593Smuzhiyun			};
1017*4882a593Smuzhiyun		};
1018*4882a593Smuzhiyun
1019*4882a593Smuzhiyun		uart1 {
1020*4882a593Smuzhiyun			uart1_xfer: uart1-xfer {
1021*4882a593Smuzhiyun				rockchip,pins = <2 RK_PC6 1 &pcfg_pull_default>,
1022*4882a593Smuzhiyun						<2 RK_PC7 1 &pcfg_pull_default>;
1023*4882a593Smuzhiyun			};
1024*4882a593Smuzhiyun			/* no rts / cts for uart1 */
1025*4882a593Smuzhiyun		};
1026*4882a593Smuzhiyun
1027*4882a593Smuzhiyun		uart2 {
1028*4882a593Smuzhiyun			uart2_xfer: uart2-xfer {
1029*4882a593Smuzhiyun				rockchip,pins = <1 RK_PC2 2 &pcfg_pull_default>,
1030*4882a593Smuzhiyun						<1 RK_PC3 2 &pcfg_pull_default>;
1031*4882a593Smuzhiyun			};
1032*4882a593Smuzhiyun			/* no rts / cts for uart2 */
1033*4882a593Smuzhiyun		};
1034*4882a593Smuzhiyun
1035*4882a593Smuzhiyun		spi-pins {
1036*4882a593Smuzhiyun			spi_txd:spi-txd {
1037*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD5 3 &pcfg_pull_default>;
1038*4882a593Smuzhiyun			};
1039*4882a593Smuzhiyun
1040*4882a593Smuzhiyun			spi_rxd:spi-rxd {
1041*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD4 3 &pcfg_pull_default>;
1042*4882a593Smuzhiyun			};
1043*4882a593Smuzhiyun
1044*4882a593Smuzhiyun			spi_clk:spi-clk {
1045*4882a593Smuzhiyun				rockchip,pins = <2 RK_PA0 2 &pcfg_pull_default>;
1046*4882a593Smuzhiyun			};
1047*4882a593Smuzhiyun
1048*4882a593Smuzhiyun			spi_cs0:spi-cs0 {
1049*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD6 3 &pcfg_pull_default>;
1050*4882a593Smuzhiyun
1051*4882a593Smuzhiyun			};
1052*4882a593Smuzhiyun
1053*4882a593Smuzhiyun			spi_cs1:spi-cs1 {
1054*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD7 3 &pcfg_pull_default>;
1055*4882a593Smuzhiyun
1056*4882a593Smuzhiyun			};
1057*4882a593Smuzhiyun		};
1058*4882a593Smuzhiyun	};
1059*4882a593Smuzhiyun};
1060