xref: /linux/arch/arm64/boot/dts/rockchip/rk3368.dtsi (revision b790c2cab5ca641804c2e48c7506e166fff5a442)
1*b790c2caSHeiko Stübner/*
2*b790c2caSHeiko Stübner * Copyright (c) 2015 Heiko Stuebner <heiko@sntech.de>
3*b790c2caSHeiko Stübner *
4*b790c2caSHeiko Stübner * This file is dual-licensed: you can use it either under the terms
5*b790c2caSHeiko Stübner * of the GPL or the X11 license, at your option. Note that this dual
6*b790c2caSHeiko Stübner * licensing only applies to this file, and not this project as a
7*b790c2caSHeiko Stübner * whole.
8*b790c2caSHeiko Stübner *
9*b790c2caSHeiko Stübner *  a) This library is free software; you can redistribute it and/or
10*b790c2caSHeiko Stübner *     modify it under the terms of the GNU General Public License as
11*b790c2caSHeiko Stübner *     published by the Free Software Foundation; either version 2 of the
12*b790c2caSHeiko Stübner *     License, or (at your option) any later version.
13*b790c2caSHeiko Stübner *
14*b790c2caSHeiko Stübner *     This library is distributed in the hope that it will be useful,
15*b790c2caSHeiko Stübner *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16*b790c2caSHeiko Stübner *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17*b790c2caSHeiko Stübner *     GNU General Public License for more details.
18*b790c2caSHeiko Stübner *
19*b790c2caSHeiko Stübner * Or, alternatively,
20*b790c2caSHeiko Stübner *
21*b790c2caSHeiko Stübner *  b) Permission is hereby granted, free of charge, to any person
22*b790c2caSHeiko Stübner *     obtaining a copy of this software and associated documentation
23*b790c2caSHeiko Stübner *     files (the "Software"), to deal in the Software without
24*b790c2caSHeiko Stübner *     restriction, including without limitation the rights to use,
25*b790c2caSHeiko Stübner *     copy, modify, merge, publish, distribute, sublicense, and/or
26*b790c2caSHeiko Stübner *     sell copies of the Software, and to permit persons to whom the
27*b790c2caSHeiko Stübner *     Software is furnished to do so, subject to the following
28*b790c2caSHeiko Stübner *     conditions:
29*b790c2caSHeiko Stübner *
30*b790c2caSHeiko Stübner *     The above copyright notice and this permission notice shall be
31*b790c2caSHeiko Stübner *     included in all copies or substantial portions of the Software.
32*b790c2caSHeiko Stübner *
33*b790c2caSHeiko Stübner *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34*b790c2caSHeiko Stübner *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35*b790c2caSHeiko Stübner *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36*b790c2caSHeiko Stübner *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37*b790c2caSHeiko Stübner *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38*b790c2caSHeiko Stübner *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39*b790c2caSHeiko Stübner *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40*b790c2caSHeiko Stübner *     OTHER DEALINGS IN THE SOFTWARE.
41*b790c2caSHeiko Stübner */
42*b790c2caSHeiko Stübner
43*b790c2caSHeiko Stübner#include <dt-bindings/clock/rk3368-cru.h>
44*b790c2caSHeiko Stübner#include <dt-bindings/gpio/gpio.h>
45*b790c2caSHeiko Stübner#include <dt-bindings/interrupt-controller/irq.h>
46*b790c2caSHeiko Stübner#include <dt-bindings/interrupt-controller/arm-gic.h>
47*b790c2caSHeiko Stübner#include <dt-bindings/pinctrl/rockchip.h>
48*b790c2caSHeiko Stübner
49*b790c2caSHeiko Stübner/ {
50*b790c2caSHeiko Stübner	compatible = "rockchip,rk3368";
51*b790c2caSHeiko Stübner	interrupt-parent = <&gic>;
52*b790c2caSHeiko Stübner	#address-cells = <2>;
53*b790c2caSHeiko Stübner	#size-cells = <2>;
54*b790c2caSHeiko Stübner
55*b790c2caSHeiko Stübner	aliases {
56*b790c2caSHeiko Stübner		i2c0 = &i2c0;
57*b790c2caSHeiko Stübner		i2c1 = &i2c1;
58*b790c2caSHeiko Stübner		i2c2 = &i2c2;
59*b790c2caSHeiko Stübner		i2c3 = &i2c3;
60*b790c2caSHeiko Stübner		i2c4 = &i2c4;
61*b790c2caSHeiko Stübner		i2c5 = &i2c5;
62*b790c2caSHeiko Stübner		serial0 = &uart0;
63*b790c2caSHeiko Stübner		serial1 = &uart1;
64*b790c2caSHeiko Stübner		serial2 = &uart2;
65*b790c2caSHeiko Stübner		serial3 = &uart3;
66*b790c2caSHeiko Stübner		serial4 = &uart4;
67*b790c2caSHeiko Stübner		spi0 = &spi0;
68*b790c2caSHeiko Stübner		spi1 = &spi1;
69*b790c2caSHeiko Stübner		spi2 = &spi2;
70*b790c2caSHeiko Stübner	};
71*b790c2caSHeiko Stübner
72*b790c2caSHeiko Stübner	cpus {
73*b790c2caSHeiko Stübner		#address-cells = <0x2>;
74*b790c2caSHeiko Stübner		#size-cells = <0x0>;
75*b790c2caSHeiko Stübner
76*b790c2caSHeiko Stübner		cpu-map {
77*b790c2caSHeiko Stübner			cluster0 {
78*b790c2caSHeiko Stübner				core0 {
79*b790c2caSHeiko Stübner					cpu = <&cpu_b0>;
80*b790c2caSHeiko Stübner				};
81*b790c2caSHeiko Stübner				core1 {
82*b790c2caSHeiko Stübner					cpu = <&cpu_b1>;
83*b790c2caSHeiko Stübner				};
84*b790c2caSHeiko Stübner				core2 {
85*b790c2caSHeiko Stübner					cpu = <&cpu_b2>;
86*b790c2caSHeiko Stübner				};
87*b790c2caSHeiko Stübner				core3 {
88*b790c2caSHeiko Stübner					cpu = <&cpu_b3>;
89*b790c2caSHeiko Stübner				};
90*b790c2caSHeiko Stübner			};
91*b790c2caSHeiko Stübner
92*b790c2caSHeiko Stübner			cluster1 {
93*b790c2caSHeiko Stübner				core0 {
94*b790c2caSHeiko Stübner					cpu = <&cpu_l0>;
95*b790c2caSHeiko Stübner				};
96*b790c2caSHeiko Stübner				core1 {
97*b790c2caSHeiko Stübner					cpu = <&cpu_l1>;
98*b790c2caSHeiko Stübner				};
99*b790c2caSHeiko Stübner				core2 {
100*b790c2caSHeiko Stübner					cpu = <&cpu_l2>;
101*b790c2caSHeiko Stübner				};
102*b790c2caSHeiko Stübner				core3 {
103*b790c2caSHeiko Stübner					cpu = <&cpu_l3>;
104*b790c2caSHeiko Stübner				};
105*b790c2caSHeiko Stübner			};
106*b790c2caSHeiko Stübner		};
107*b790c2caSHeiko Stübner
108*b790c2caSHeiko Stübner		idle-states {
109*b790c2caSHeiko Stübner			entry-method = "arm,psci";
110*b790c2caSHeiko Stübner
111*b790c2caSHeiko Stübner			cpu_sleep: cpu-sleep-0 {
112*b790c2caSHeiko Stübner				compatible = "arm,idle-state";
113*b790c2caSHeiko Stübner				arm,psci-suspend-param = <0x1010000>;
114*b790c2caSHeiko Stübner				entry-latency-us = <0x3fffffff>;
115*b790c2caSHeiko Stübner				exit-latency-us = <0x40000000>;
116*b790c2caSHeiko Stübner				min-residency-us = <0xffffffff>;
117*b790c2caSHeiko Stübner			};
118*b790c2caSHeiko Stübner		};
119*b790c2caSHeiko Stübner
120*b790c2caSHeiko Stübner		cpu_l0: cpu@0 {
121*b790c2caSHeiko Stübner			device_type = "cpu";
122*b790c2caSHeiko Stübner			compatible = "arm,cortex-a53", "arm,armv8";
123*b790c2caSHeiko Stübner			reg = <0x0 0x0>;
124*b790c2caSHeiko Stübner			cpu-idle-states = <&cpu_sleep>;
125*b790c2caSHeiko Stübner			enable-method = "psci";
126*b790c2caSHeiko Stübner		};
127*b790c2caSHeiko Stübner
128*b790c2caSHeiko Stübner		cpu_l1: cpu@1 {
129*b790c2caSHeiko Stübner			device_type = "cpu";
130*b790c2caSHeiko Stübner			compatible = "arm,cortex-a53", "arm,armv8";
131*b790c2caSHeiko Stübner			reg = <0x0 0x1>;
132*b790c2caSHeiko Stübner			cpu-idle-states = <&cpu_sleep>;
133*b790c2caSHeiko Stübner			enable-method = "psci";
134*b790c2caSHeiko Stübner		};
135*b790c2caSHeiko Stübner
136*b790c2caSHeiko Stübner		cpu_l2: cpu@2 {
137*b790c2caSHeiko Stübner			device_type = "cpu";
138*b790c2caSHeiko Stübner			compatible = "arm,cortex-a53", "arm,armv8";
139*b790c2caSHeiko Stübner			reg = <0x0 0x2>;
140*b790c2caSHeiko Stübner			cpu-idle-states = <&cpu_sleep>;
141*b790c2caSHeiko Stübner			enable-method = "psci";
142*b790c2caSHeiko Stübner		};
143*b790c2caSHeiko Stübner
144*b790c2caSHeiko Stübner		cpu_l3: cpu@3 {
145*b790c2caSHeiko Stübner			device_type = "cpu";
146*b790c2caSHeiko Stübner			compatible = "arm,cortex-a53", "arm,armv8";
147*b790c2caSHeiko Stübner			reg = <0x0 0x3>;
148*b790c2caSHeiko Stübner			cpu-idle-states = <&cpu_sleep>;
149*b790c2caSHeiko Stübner			enable-method = "psci";
150*b790c2caSHeiko Stübner		};
151*b790c2caSHeiko Stübner
152*b790c2caSHeiko Stübner		cpu_b0: cpu@100 {
153*b790c2caSHeiko Stübner			device_type = "cpu";
154*b790c2caSHeiko Stübner			compatible = "arm,cortex-a53", "arm,armv8";
155*b790c2caSHeiko Stübner			reg = <0x0 0x100>;
156*b790c2caSHeiko Stübner			cpu-idle-states = <&cpu_sleep>;
157*b790c2caSHeiko Stübner			enable-method = "psci";
158*b790c2caSHeiko Stübner		};
159*b790c2caSHeiko Stübner
160*b790c2caSHeiko Stübner		cpu_b1: cpu@101 {
161*b790c2caSHeiko Stübner			device_type = "cpu";
162*b790c2caSHeiko Stübner			compatible = "arm,cortex-a53", "arm,armv8";
163*b790c2caSHeiko Stübner			reg = <0x0 0x101>;
164*b790c2caSHeiko Stübner			cpu-idle-states = <&cpu_sleep>;
165*b790c2caSHeiko Stübner			enable-method = "psci";
166*b790c2caSHeiko Stübner		};
167*b790c2caSHeiko Stübner
168*b790c2caSHeiko Stübner		cpu_b2: cpu@102 {
169*b790c2caSHeiko Stübner			device_type = "cpu";
170*b790c2caSHeiko Stübner			compatible = "arm,cortex-a53", "arm,armv8";
171*b790c2caSHeiko Stübner			reg = <0x0 0x102>;
172*b790c2caSHeiko Stübner			cpu-idle-states = <&cpu_sleep>;
173*b790c2caSHeiko Stübner			enable-method = "psci";
174*b790c2caSHeiko Stübner		};
175*b790c2caSHeiko Stübner
176*b790c2caSHeiko Stübner		cpu_b3: cpu@103 {
177*b790c2caSHeiko Stübner			device_type = "cpu";
178*b790c2caSHeiko Stübner			compatible = "arm,cortex-a53", "arm,armv8";
179*b790c2caSHeiko Stübner			reg = <0x0 0x103>;
180*b790c2caSHeiko Stübner			cpu-idle-states = <&cpu_sleep>;
181*b790c2caSHeiko Stübner			enable-method = "psci";
182*b790c2caSHeiko Stübner		};
183*b790c2caSHeiko Stübner	};
184*b790c2caSHeiko Stübner
185*b790c2caSHeiko Stübner	arm-pmu {
186*b790c2caSHeiko Stübner		compatible = "arm,armv8-pmuv3";
187*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
188*b790c2caSHeiko Stübner			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
189*b790c2caSHeiko Stübner			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
190*b790c2caSHeiko Stübner			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
191*b790c2caSHeiko Stübner			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
192*b790c2caSHeiko Stübner			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
193*b790c2caSHeiko Stübner			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
194*b790c2caSHeiko Stübner			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
195*b790c2caSHeiko Stübner		interrupt-affinity = <&cpu_l0>, <&cpu_l1>, <&cpu_l2>,
196*b790c2caSHeiko Stübner				     <&cpu_l3>, <&cpu_b0>, <&cpu_b1>,
197*b790c2caSHeiko Stübner				     <&cpu_b2>, <&cpu_b3>;
198*b790c2caSHeiko Stübner	};
199*b790c2caSHeiko Stübner
200*b790c2caSHeiko Stübner	psci {
201*b790c2caSHeiko Stübner		compatible = "arm,psci-0.2";
202*b790c2caSHeiko Stübner		method = "smc";
203*b790c2caSHeiko Stübner	};
204*b790c2caSHeiko Stübner
205*b790c2caSHeiko Stübner	timer {
206*b790c2caSHeiko Stübner		compatible = "arm,armv8-timer";
207*b790c2caSHeiko Stübner		interrupts = <GIC_PPI 13
208*b790c2caSHeiko Stübner			(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>,
209*b790c2caSHeiko Stübner			     <GIC_PPI 14
210*b790c2caSHeiko Stübner			(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>,
211*b790c2caSHeiko Stübner			     <GIC_PPI 11
212*b790c2caSHeiko Stübner			(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>,
213*b790c2caSHeiko Stübner			     <GIC_PPI 10
214*b790c2caSHeiko Stübner			(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
215*b790c2caSHeiko Stübner	};
216*b790c2caSHeiko Stübner
217*b790c2caSHeiko Stübner	xin24m: oscillator {
218*b790c2caSHeiko Stübner		compatible = "fixed-clock";
219*b790c2caSHeiko Stübner		clock-frequency = <24000000>;
220*b790c2caSHeiko Stübner		clock-output-names = "xin24m";
221*b790c2caSHeiko Stübner		#clock-cells = <0>;
222*b790c2caSHeiko Stübner	};
223*b790c2caSHeiko Stübner
224*b790c2caSHeiko Stübner	sdmmc: dwmmc@ff0c0000 {
225*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc";
226*b790c2caSHeiko Stübner		reg = <0x0 0xff0c0000 0x0 0x4000>;
227*b790c2caSHeiko Stübner		clock-freq-min-max = <400000 150000000>;
228*b790c2caSHeiko Stübner		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
229*b790c2caSHeiko Stübner		clock-names = "biu", "ciu";
230*b790c2caSHeiko Stübner		fifo-depth = <0x100>;
231*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
232*b790c2caSHeiko Stübner		status = "disabled";
233*b790c2caSHeiko Stübner	};
234*b790c2caSHeiko Stübner
235*b790c2caSHeiko Stübner	sdio0: dwmmc@ff0d0000 {
236*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc";
237*b790c2caSHeiko Stübner		reg = <0x0 0xff0d0000 0x0 0x4000>;
238*b790c2caSHeiko Stübner		clock-freq-min-max = <400000 150000000>;
239*b790c2caSHeiko Stübner		clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>,
240*b790c2caSHeiko Stübner			 <&cru SCLK_SDIO0_DRV>, <&cru SCLK_SDIO0_SAMPLE>;
241*b790c2caSHeiko Stübner		clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
242*b790c2caSHeiko Stübner		fifo-depth = <0x100>;
243*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
244*b790c2caSHeiko Stübner		status = "disabled";
245*b790c2caSHeiko Stübner	};
246*b790c2caSHeiko Stübner
247*b790c2caSHeiko Stübner	emmc: dwmmc@ff0f0000 {
248*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc";
249*b790c2caSHeiko Stübner		reg = <0x0 0xff0f0000 0x0 0x4000>;
250*b790c2caSHeiko Stübner		clock-freq-min-max = <400000 150000000>;
251*b790c2caSHeiko Stübner		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
252*b790c2caSHeiko Stübner		clock-names = "biu", "ciu";
253*b790c2caSHeiko Stübner		fifo-depth = <0x100>;
254*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
255*b790c2caSHeiko Stübner		status = "disabled";
256*b790c2caSHeiko Stübner	};
257*b790c2caSHeiko Stübner
258*b790c2caSHeiko Stübner	saradc: saradc@ff100000 {
259*b790c2caSHeiko Stübner		compatible = "rockchip,saradc";
260*b790c2caSHeiko Stübner		reg = <0x0 0xff100000 0x0 0x100>;
261*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
262*b790c2caSHeiko Stübner		#io-channel-cells = <1>;
263*b790c2caSHeiko Stübner		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
264*b790c2caSHeiko Stübner		clock-names = "saradc", "apb_pclk";
265*b790c2caSHeiko Stübner		status = "disabled";
266*b790c2caSHeiko Stübner	};
267*b790c2caSHeiko Stübner
268*b790c2caSHeiko Stübner	spi0: spi@ff110000 {
269*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-spi", "rockchip,rk3066-spi";
270*b790c2caSHeiko Stübner		reg = <0x0 0xff110000 0x0 0x1000>;
271*b790c2caSHeiko Stübner		clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
272*b790c2caSHeiko Stübner		clock-names = "spiclk", "apb_pclk";
273*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
274*b790c2caSHeiko Stübner		pinctrl-names = "default";
275*b790c2caSHeiko Stübner		pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
276*b790c2caSHeiko Stübner		#address-cells = <1>;
277*b790c2caSHeiko Stübner		#size-cells = <0>;
278*b790c2caSHeiko Stübner		status = "disabled";
279*b790c2caSHeiko Stübner	};
280*b790c2caSHeiko Stübner
281*b790c2caSHeiko Stübner	spi1: spi@ff120000 {
282*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-spi", "rockchip,rk3066-spi";
283*b790c2caSHeiko Stübner		reg = <0x0 0xff120000 0x0 0x1000>;
284*b790c2caSHeiko Stübner		clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
285*b790c2caSHeiko Stübner		clock-names = "spiclk", "apb_pclk";
286*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
287*b790c2caSHeiko Stübner		pinctrl-names = "default";
288*b790c2caSHeiko Stübner		pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
289*b790c2caSHeiko Stübner		#address-cells = <1>;
290*b790c2caSHeiko Stübner		#size-cells = <0>;
291*b790c2caSHeiko Stübner		status = "disabled";
292*b790c2caSHeiko Stübner	};
293*b790c2caSHeiko Stübner
294*b790c2caSHeiko Stübner	spi2: spi@ff130000 {
295*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-spi", "rockchip,rk3066-spi";
296*b790c2caSHeiko Stübner		reg = <0x0 0xff130000 0x0 0x1000>;
297*b790c2caSHeiko Stübner		clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
298*b790c2caSHeiko Stübner		clock-names = "spiclk", "apb_pclk";
299*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
300*b790c2caSHeiko Stübner		pinctrl-names = "default";
301*b790c2caSHeiko Stübner		pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
302*b790c2caSHeiko Stübner		#address-cells = <1>;
303*b790c2caSHeiko Stübner		#size-cells = <0>;
304*b790c2caSHeiko Stübner		status = "disabled";
305*b790c2caSHeiko Stübner	};
306*b790c2caSHeiko Stübner
307*b790c2caSHeiko Stübner	i2c1: i2c@ff140000 {
308*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
309*b790c2caSHeiko Stübner		reg = <0x0 0xff140000 0x0 0x1000>;
310*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
311*b790c2caSHeiko Stübner		#address-cells = <1>;
312*b790c2caSHeiko Stübner		#size-cells = <0>;
313*b790c2caSHeiko Stübner		clock-names = "i2c";
314*b790c2caSHeiko Stübner		clocks = <&cru PCLK_I2C1>;
315*b790c2caSHeiko Stübner		pinctrl-names = "default";
316*b790c2caSHeiko Stübner		pinctrl-0 = <&i2c1_xfer>;
317*b790c2caSHeiko Stübner		status = "disabled";
318*b790c2caSHeiko Stübner	};
319*b790c2caSHeiko Stübner
320*b790c2caSHeiko Stübner	i2c3: i2c@ff150000 {
321*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
322*b790c2caSHeiko Stübner		reg = <0x0 0xff150000 0x0 0x1000>;
323*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
324*b790c2caSHeiko Stübner		#address-cells = <1>;
325*b790c2caSHeiko Stübner		#size-cells = <0>;
326*b790c2caSHeiko Stübner		clock-names = "i2c";
327*b790c2caSHeiko Stübner		clocks = <&cru PCLK_I2C3>;
328*b790c2caSHeiko Stübner		pinctrl-names = "default";
329*b790c2caSHeiko Stübner		pinctrl-0 = <&i2c3_xfer>;
330*b790c2caSHeiko Stübner		status = "disabled";
331*b790c2caSHeiko Stübner	};
332*b790c2caSHeiko Stübner
333*b790c2caSHeiko Stübner	i2c4: i2c@ff160000 {
334*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
335*b790c2caSHeiko Stübner		reg = <0x0 0xff160000 0x0 0x1000>;
336*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
337*b790c2caSHeiko Stübner		#address-cells = <1>;
338*b790c2caSHeiko Stübner		#size-cells = <0>;
339*b790c2caSHeiko Stübner		clock-names = "i2c";
340*b790c2caSHeiko Stübner		clocks = <&cru PCLK_I2C4>;
341*b790c2caSHeiko Stübner		pinctrl-names = "default";
342*b790c2caSHeiko Stübner		pinctrl-0 = <&i2c4_xfer>;
343*b790c2caSHeiko Stübner		status = "disabled";
344*b790c2caSHeiko Stübner	};
345*b790c2caSHeiko Stübner
346*b790c2caSHeiko Stübner	i2c5: i2c@ff170000 {
347*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
348*b790c2caSHeiko Stübner		reg = <0x0 0xff170000 0x0 0x1000>;
349*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
350*b790c2caSHeiko Stübner		#address-cells = <1>;
351*b790c2caSHeiko Stübner		#size-cells = <0>;
352*b790c2caSHeiko Stübner		clock-names = "i2c";
353*b790c2caSHeiko Stübner		clocks = <&cru PCLK_I2C5>;
354*b790c2caSHeiko Stübner		pinctrl-names = "default";
355*b790c2caSHeiko Stübner		pinctrl-0 = <&i2c5_xfer>;
356*b790c2caSHeiko Stübner		status = "disabled";
357*b790c2caSHeiko Stübner	};
358*b790c2caSHeiko Stübner
359*b790c2caSHeiko Stübner	uart0: serial@ff180000 {
360*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart";
361*b790c2caSHeiko Stübner		reg = <0x0 0xff180000 0x0 0x100>;
362*b790c2caSHeiko Stübner		clock-frequency = <24000000>;
363*b790c2caSHeiko Stübner		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
364*b790c2caSHeiko Stübner		clock-names = "baudclk", "apb_pclk";
365*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
366*b790c2caSHeiko Stübner		reg-shift = <2>;
367*b790c2caSHeiko Stübner		reg-io-width = <4>;
368*b790c2caSHeiko Stübner		status = "disabled";
369*b790c2caSHeiko Stübner	};
370*b790c2caSHeiko Stübner
371*b790c2caSHeiko Stübner	uart1: serial@ff190000 {
372*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart";
373*b790c2caSHeiko Stübner		reg = <0x0 0xff190000 0x0 0x100>;
374*b790c2caSHeiko Stübner		clock-frequency = <24000000>;
375*b790c2caSHeiko Stübner		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
376*b790c2caSHeiko Stübner		clock-names = "baudclk", "apb_pclk";
377*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
378*b790c2caSHeiko Stübner		reg-shift = <2>;
379*b790c2caSHeiko Stübner		reg-io-width = <4>;
380*b790c2caSHeiko Stübner		status = "disabled";
381*b790c2caSHeiko Stübner	};
382*b790c2caSHeiko Stübner
383*b790c2caSHeiko Stübner	uart3: serial@ff1b0000 {
384*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart";
385*b790c2caSHeiko Stübner		reg = <0x0 0xff1b0000 0x0 0x100>;
386*b790c2caSHeiko Stübner		clock-frequency = <24000000>;
387*b790c2caSHeiko Stübner		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
388*b790c2caSHeiko Stübner		clock-names = "baudclk", "apb_pclk";
389*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
390*b790c2caSHeiko Stübner		reg-shift = <2>;
391*b790c2caSHeiko Stübner		reg-io-width = <4>;
392*b790c2caSHeiko Stübner		status = "disabled";
393*b790c2caSHeiko Stübner	};
394*b790c2caSHeiko Stübner
395*b790c2caSHeiko Stübner	uart4: serial@ff1c0000 {
396*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart";
397*b790c2caSHeiko Stübner		reg = <0x0 0xff1c0000 0x0 0x100>;
398*b790c2caSHeiko Stübner		clock-frequency = <24000000>;
399*b790c2caSHeiko Stübner		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
400*b790c2caSHeiko Stübner		clock-names = "baudclk", "apb_pclk";
401*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
402*b790c2caSHeiko Stübner		reg-shift = <2>;
403*b790c2caSHeiko Stübner		reg-io-width = <4>;
404*b790c2caSHeiko Stübner		status = "disabled";
405*b790c2caSHeiko Stübner	};
406*b790c2caSHeiko Stübner
407*b790c2caSHeiko Stübner	gmac: ethernet@ff290000 {
408*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-gmac";
409*b790c2caSHeiko Stübner		reg = <0x0 0xff290000 0x0 0x10000>;
410*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
411*b790c2caSHeiko Stübner		interrupt-names = "macirq";
412*b790c2caSHeiko Stübner		rockchip,grf = <&grf>;
413*b790c2caSHeiko Stübner		clocks = <&cru SCLK_MAC>,
414*b790c2caSHeiko Stübner			<&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
415*b790c2caSHeiko Stübner			<&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>,
416*b790c2caSHeiko Stübner			<&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
417*b790c2caSHeiko Stübner		clock-names = "stmmaceth",
418*b790c2caSHeiko Stübner			"mac_clk_rx", "mac_clk_tx",
419*b790c2caSHeiko Stübner			"clk_mac_ref", "clk_mac_refout",
420*b790c2caSHeiko Stübner			"aclk_mac", "pclk_mac";
421*b790c2caSHeiko Stübner		status = "disabled";
422*b790c2caSHeiko Stübner	};
423*b790c2caSHeiko Stübner
424*b790c2caSHeiko Stübner	usb_host0_ehci: usb@ff500000 {
425*b790c2caSHeiko Stübner		compatible = "generic-ehci";
426*b790c2caSHeiko Stübner		reg = <0x0 0xff500000 0x0 0x100>;
427*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
428*b790c2caSHeiko Stübner		clocks = <&cru HCLK_HOST0>;
429*b790c2caSHeiko Stübner		clock-names = "usbhost";
430*b790c2caSHeiko Stübner		status = "disabled";
431*b790c2caSHeiko Stübner	};
432*b790c2caSHeiko Stübner
433*b790c2caSHeiko Stübner	usb_otg: usb@ff580000 {
434*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-usb", "rockchip,rk3066-usb",
435*b790c2caSHeiko Stübner				"snps,dwc2";
436*b790c2caSHeiko Stübner		reg = <0x0 0xff580000 0x0 0x40000>;
437*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
438*b790c2caSHeiko Stübner		clocks = <&cru HCLK_OTG0>;
439*b790c2caSHeiko Stübner		clock-names = "otg";
440*b790c2caSHeiko Stübner		dr_mode = "otg";
441*b790c2caSHeiko Stübner		g-np-tx-fifo-size = <16>;
442*b790c2caSHeiko Stübner		g-rx-fifo-size = <275>;
443*b790c2caSHeiko Stübner		g-tx-fifo-size = <256 128 128 64 64 32>;
444*b790c2caSHeiko Stübner		g-use-dma;
445*b790c2caSHeiko Stübner		status = "disabled";
446*b790c2caSHeiko Stübner	};
447*b790c2caSHeiko Stübner
448*b790c2caSHeiko Stübner	i2c0: i2c@ff650000 {
449*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
450*b790c2caSHeiko Stübner		reg = <0x0 0xff650000 0x0 0x1000>;
451*b790c2caSHeiko Stübner		clocks = <&cru PCLK_I2C0>;
452*b790c2caSHeiko Stübner		clock-names = "i2c";
453*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
454*b790c2caSHeiko Stübner		pinctrl-names = "default";
455*b790c2caSHeiko Stübner		pinctrl-0 = <&i2c0_xfer>;
456*b790c2caSHeiko Stübner		#address-cells = <1>;
457*b790c2caSHeiko Stübner		#size-cells = <0>;
458*b790c2caSHeiko Stübner		status = "disabled";
459*b790c2caSHeiko Stübner	};
460*b790c2caSHeiko Stübner
461*b790c2caSHeiko Stübner	i2c2: i2c@ff660000 {
462*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
463*b790c2caSHeiko Stübner		reg = <0x0 0xff660000 0x0 0x1000>;
464*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
465*b790c2caSHeiko Stübner		#address-cells = <1>;
466*b790c2caSHeiko Stübner		#size-cells = <0>;
467*b790c2caSHeiko Stübner		clock-names = "i2c";
468*b790c2caSHeiko Stübner		clocks = <&cru PCLK_I2C2>;
469*b790c2caSHeiko Stübner		pinctrl-names = "default";
470*b790c2caSHeiko Stübner		pinctrl-0 = <&i2c2_xfer>;
471*b790c2caSHeiko Stübner		status = "disabled";
472*b790c2caSHeiko Stübner	};
473*b790c2caSHeiko Stübner
474*b790c2caSHeiko Stübner	uart2: serial@ff690000 {
475*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart";
476*b790c2caSHeiko Stübner		reg = <0x0 0xff690000 0x0 0x100>;
477*b790c2caSHeiko Stübner		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
478*b790c2caSHeiko Stübner		clock-names = "baudclk", "apb_pclk";
479*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
480*b790c2caSHeiko Stübner		pinctrl-names = "default";
481*b790c2caSHeiko Stübner		pinctrl-0 = <&uart2_xfer>;
482*b790c2caSHeiko Stübner		reg-shift = <2>;
483*b790c2caSHeiko Stübner		reg-io-width = <4>;
484*b790c2caSHeiko Stübner		status = "disabled";
485*b790c2caSHeiko Stübner	};
486*b790c2caSHeiko Stübner
487*b790c2caSHeiko Stübner	pmugrf: syscon@ff738000 {
488*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-pmugrf", "syscon";
489*b790c2caSHeiko Stübner		reg = <0x0 0xff738000 0x0 0x1000>;
490*b790c2caSHeiko Stübner	};
491*b790c2caSHeiko Stübner
492*b790c2caSHeiko Stübner	cru: clock-controller@ff760000 {
493*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-cru";
494*b790c2caSHeiko Stübner		reg = <0x0 0xff760000 0x0 0x1000>;
495*b790c2caSHeiko Stübner		rockchip,grf = <&grf>;
496*b790c2caSHeiko Stübner		#clock-cells = <1>;
497*b790c2caSHeiko Stübner		#reset-cells = <1>;
498*b790c2caSHeiko Stübner	};
499*b790c2caSHeiko Stübner
500*b790c2caSHeiko Stübner	grf: syscon@ff770000 {
501*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-grf", "syscon";
502*b790c2caSHeiko Stübner		reg = <0x0 0xff770000 0x0 0x1000>;
503*b790c2caSHeiko Stübner	};
504*b790c2caSHeiko Stübner
505*b790c2caSHeiko Stübner	wdt: watchdog@ff800000 {
506*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-wdt", "snps,dw-wdt";
507*b790c2caSHeiko Stübner		reg = <0x0 0xff800000 0x0 0x100>;
508*b790c2caSHeiko Stübner		clocks = <&cru PCLK_WDT>;
509*b790c2caSHeiko Stübner		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
510*b790c2caSHeiko Stübner		status = "disabled";
511*b790c2caSHeiko Stübner	};
512*b790c2caSHeiko Stübner
513*b790c2caSHeiko Stübner	gic: interrupt-controller@ffb71000 {
514*b790c2caSHeiko Stübner		compatible = "arm,gic-400";
515*b790c2caSHeiko Stübner		interrupt-controller;
516*b790c2caSHeiko Stübner		#interrupt-cells = <3>;
517*b790c2caSHeiko Stübner		#address-cells = <0>;
518*b790c2caSHeiko Stübner
519*b790c2caSHeiko Stübner		reg = <0x0 0xffb71000 0x0 0x1000>,
520*b790c2caSHeiko Stübner		      <0x0 0xffb72000 0x0 0x1000>,
521*b790c2caSHeiko Stübner		      <0x0 0xffb74000 0x0 0x2000>,
522*b790c2caSHeiko Stübner		      <0x0 0xffb76000 0x0 0x2000>;
523*b790c2caSHeiko Stübner		interrupts = <GIC_PPI 9
524*b790c2caSHeiko Stübner		      (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
525*b790c2caSHeiko Stübner	};
526*b790c2caSHeiko Stübner
527*b790c2caSHeiko Stübner	pinctrl: pinctrl {
528*b790c2caSHeiko Stübner		compatible = "rockchip,rk3368-pinctrl";
529*b790c2caSHeiko Stübner		rockchip,grf = <&grf>;
530*b790c2caSHeiko Stübner		rockchip,pmu = <&pmugrf>;
531*b790c2caSHeiko Stübner		#address-cells = <0x2>;
532*b790c2caSHeiko Stübner		#size-cells = <0x2>;
533*b790c2caSHeiko Stübner		ranges;
534*b790c2caSHeiko Stübner
535*b790c2caSHeiko Stübner		gpio0: gpio0@ff750000 {
536*b790c2caSHeiko Stübner			compatible = "rockchip,gpio-bank";
537*b790c2caSHeiko Stübner			reg = <0x0 0xff750000 0x0 0x100>;
538*b790c2caSHeiko Stübner			clocks = <&cru PCLK_GPIO0>;
539*b790c2caSHeiko Stübner			interrupts = <GIC_SPI 0x51 IRQ_TYPE_LEVEL_HIGH>;
540*b790c2caSHeiko Stübner
541*b790c2caSHeiko Stübner			gpio-controller;
542*b790c2caSHeiko Stübner			#gpio-cells = <0x2>;
543*b790c2caSHeiko Stübner
544*b790c2caSHeiko Stübner			interrupt-controller;
545*b790c2caSHeiko Stübner			#interrupt-cells = <0x2>;
546*b790c2caSHeiko Stübner		};
547*b790c2caSHeiko Stübner
548*b790c2caSHeiko Stübner		gpio1: gpio1@ff780000 {
549*b790c2caSHeiko Stübner			compatible = "rockchip,gpio-bank";
550*b790c2caSHeiko Stübner			reg = <0x0 0xff780000 0x0 0x100>;
551*b790c2caSHeiko Stübner			clocks = <&cru PCLK_GPIO1>;
552*b790c2caSHeiko Stübner			interrupts = <GIC_SPI 0x52 IRQ_TYPE_LEVEL_HIGH>;
553*b790c2caSHeiko Stübner
554*b790c2caSHeiko Stübner			gpio-controller;
555*b790c2caSHeiko Stübner			#gpio-cells = <0x2>;
556*b790c2caSHeiko Stübner
557*b790c2caSHeiko Stübner			interrupt-controller;
558*b790c2caSHeiko Stübner			#interrupt-cells = <0x2>;
559*b790c2caSHeiko Stübner		};
560*b790c2caSHeiko Stübner
561*b790c2caSHeiko Stübner		gpio2: gpio2@ff790000 {
562*b790c2caSHeiko Stübner			compatible = "rockchip,gpio-bank";
563*b790c2caSHeiko Stübner			reg = <0x0 0xff790000 0x0 0x100>;
564*b790c2caSHeiko Stübner			clocks = <&cru PCLK_GPIO2>;
565*b790c2caSHeiko Stübner			interrupts = <GIC_SPI 0x53 IRQ_TYPE_LEVEL_HIGH>;
566*b790c2caSHeiko Stübner
567*b790c2caSHeiko Stübner			gpio-controller;
568*b790c2caSHeiko Stübner			#gpio-cells = <0x2>;
569*b790c2caSHeiko Stübner
570*b790c2caSHeiko Stübner			interrupt-controller;
571*b790c2caSHeiko Stübner			#interrupt-cells = <0x2>;
572*b790c2caSHeiko Stübner		};
573*b790c2caSHeiko Stübner
574*b790c2caSHeiko Stübner		gpio3: gpio3@ff7a0000 {
575*b790c2caSHeiko Stübner			compatible = "rockchip,gpio-bank";
576*b790c2caSHeiko Stübner			reg = <0x0 0xff7a0000 0x0 0x100>;
577*b790c2caSHeiko Stübner			clocks = <&cru PCLK_GPIO3>;
578*b790c2caSHeiko Stübner			interrupts = <GIC_SPI 0x54 IRQ_TYPE_LEVEL_HIGH>;
579*b790c2caSHeiko Stübner
580*b790c2caSHeiko Stübner			gpio-controller;
581*b790c2caSHeiko Stübner			#gpio-cells = <0x2>;
582*b790c2caSHeiko Stübner
583*b790c2caSHeiko Stübner			interrupt-controller;
584*b790c2caSHeiko Stübner			#interrupt-cells = <0x2>;
585*b790c2caSHeiko Stübner		};
586*b790c2caSHeiko Stübner
587*b790c2caSHeiko Stübner		pcfg_pull_up: pcfg-pull-up {
588*b790c2caSHeiko Stübner			bias-pull-up;
589*b790c2caSHeiko Stübner		};
590*b790c2caSHeiko Stübner
591*b790c2caSHeiko Stübner		pcfg_pull_down: pcfg-pull-down {
592*b790c2caSHeiko Stübner			bias-pull-down;
593*b790c2caSHeiko Stübner		};
594*b790c2caSHeiko Stübner
595*b790c2caSHeiko Stübner		pcfg_pull_none: pcfg-pull-none {
596*b790c2caSHeiko Stübner			bias-disable;
597*b790c2caSHeiko Stübner		};
598*b790c2caSHeiko Stübner
599*b790c2caSHeiko Stübner		pcfg_pull_none_12ma: pcfg-pull-none-12ma {
600*b790c2caSHeiko Stübner			bias-disable;
601*b790c2caSHeiko Stübner			drive-strength = <12>;
602*b790c2caSHeiko Stübner		};
603*b790c2caSHeiko Stübner
604*b790c2caSHeiko Stübner		emmc {
605*b790c2caSHeiko Stübner			emmc_clk: emmc-clk {
606*b790c2caSHeiko Stübner				rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
607*b790c2caSHeiko Stübner			};
608*b790c2caSHeiko Stübner
609*b790c2caSHeiko Stübner			emmc_cmd: emmc-cmd {
610*b790c2caSHeiko Stübner				rockchip,pins = <1 26 RK_FUNC_2 &pcfg_pull_up>;
611*b790c2caSHeiko Stübner			};
612*b790c2caSHeiko Stübner
613*b790c2caSHeiko Stübner			emmc_pwr: emmc-pwr {
614*b790c2caSHeiko Stübner				rockchip,pins = <1 27 RK_FUNC_2 &pcfg_pull_up>;
615*b790c2caSHeiko Stübner			};
616*b790c2caSHeiko Stübner
617*b790c2caSHeiko Stübner			emmc_bus1: emmc-bus1 {
618*b790c2caSHeiko Stübner				rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up>;
619*b790c2caSHeiko Stübner			};
620*b790c2caSHeiko Stübner
621*b790c2caSHeiko Stübner			emmc_bus4: emmc-bus4 {
622*b790c2caSHeiko Stübner				rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up>,
623*b790c2caSHeiko Stübner						<1 19 RK_FUNC_2 &pcfg_pull_up>,
624*b790c2caSHeiko Stübner						<1 20 RK_FUNC_2 &pcfg_pull_up>,
625*b790c2caSHeiko Stübner						<1 21 RK_FUNC_2 &pcfg_pull_up>;
626*b790c2caSHeiko Stübner			};
627*b790c2caSHeiko Stübner
628*b790c2caSHeiko Stübner			emmc_bus8: emmc-bus8 {
629*b790c2caSHeiko Stübner				rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up>,
630*b790c2caSHeiko Stübner						<1 19 RK_FUNC_2 &pcfg_pull_up>,
631*b790c2caSHeiko Stübner						<1 20 RK_FUNC_2 &pcfg_pull_up>,
632*b790c2caSHeiko Stübner						<1 21 RK_FUNC_2 &pcfg_pull_up>,
633*b790c2caSHeiko Stübner						<1 22 RK_FUNC_2 &pcfg_pull_up>,
634*b790c2caSHeiko Stübner						<1 23 RK_FUNC_2 &pcfg_pull_up>,
635*b790c2caSHeiko Stübner						<1 24 RK_FUNC_2 &pcfg_pull_up>,
636*b790c2caSHeiko Stübner						<1 25 RK_FUNC_2 &pcfg_pull_up>;
637*b790c2caSHeiko Stübner			};
638*b790c2caSHeiko Stübner		};
639*b790c2caSHeiko Stübner
640*b790c2caSHeiko Stübner		gmac {
641*b790c2caSHeiko Stübner			rgmii_pins: rgmii-pins {
642*b790c2caSHeiko Stübner				rockchip,pins =	<3 22 RK_FUNC_1 &pcfg_pull_none>,
643*b790c2caSHeiko Stübner						<3 24 RK_FUNC_1 &pcfg_pull_none>,
644*b790c2caSHeiko Stübner						<3 19 RK_FUNC_1 &pcfg_pull_none>,
645*b790c2caSHeiko Stübner						<3 8 RK_FUNC_1 &pcfg_pull_none_12ma>,
646*b790c2caSHeiko Stübner						<3 9 RK_FUNC_1 &pcfg_pull_none_12ma>,
647*b790c2caSHeiko Stübner						<3 10 RK_FUNC_1 &pcfg_pull_none_12ma>,
648*b790c2caSHeiko Stübner						<3 14 RK_FUNC_1 &pcfg_pull_none_12ma>,
649*b790c2caSHeiko Stübner						<3 28 RK_FUNC_1 &pcfg_pull_none_12ma>,
650*b790c2caSHeiko Stübner						<3 13 RK_FUNC_1 &pcfg_pull_none_12ma>,
651*b790c2caSHeiko Stübner						<3 15 RK_FUNC_1 &pcfg_pull_none>,
652*b790c2caSHeiko Stübner						<3 16 RK_FUNC_1 &pcfg_pull_none>,
653*b790c2caSHeiko Stübner						<3 17 RK_FUNC_1 &pcfg_pull_none>,
654*b790c2caSHeiko Stübner						<3 18 RK_FUNC_1 &pcfg_pull_none>,
655*b790c2caSHeiko Stübner						<3 25 RK_FUNC_1 &pcfg_pull_none>,
656*b790c2caSHeiko Stübner						<3 20 RK_FUNC_1 &pcfg_pull_none>;
657*b790c2caSHeiko Stübner			};
658*b790c2caSHeiko Stübner
659*b790c2caSHeiko Stübner			rmii_pins: rmii-pins {
660*b790c2caSHeiko Stübner				rockchip,pins =	<3 22 RK_FUNC_1 &pcfg_pull_none>,
661*b790c2caSHeiko Stübner						<3 24 RK_FUNC_1 &pcfg_pull_none>,
662*b790c2caSHeiko Stübner						<3 19 RK_FUNC_1 &pcfg_pull_none>,
663*b790c2caSHeiko Stübner						<3 8 RK_FUNC_1 &pcfg_pull_none_12ma>,
664*b790c2caSHeiko Stübner						<3 9 RK_FUNC_1 &pcfg_pull_none_12ma>,
665*b790c2caSHeiko Stübner						<3 13 RK_FUNC_1 &pcfg_pull_none_12ma>,
666*b790c2caSHeiko Stübner						<3 15 RK_FUNC_1 &pcfg_pull_none>,
667*b790c2caSHeiko Stübner						<3 16 RK_FUNC_1 &pcfg_pull_none>,
668*b790c2caSHeiko Stübner						<3 20 RK_FUNC_1 &pcfg_pull_none>,
669*b790c2caSHeiko Stübner						<3 21 RK_FUNC_1 &pcfg_pull_none>;
670*b790c2caSHeiko Stübner			};
671*b790c2caSHeiko Stübner		};
672*b790c2caSHeiko Stübner
673*b790c2caSHeiko Stübner		i2c0 {
674*b790c2caSHeiko Stübner			i2c0_xfer: i2c0-xfer {
675*b790c2caSHeiko Stübner				rockchip,pins = <0 6 RK_FUNC_1 &pcfg_pull_none>,
676*b790c2caSHeiko Stübner						<0 7 RK_FUNC_1 &pcfg_pull_none>;
677*b790c2caSHeiko Stübner			};
678*b790c2caSHeiko Stübner		};
679*b790c2caSHeiko Stübner
680*b790c2caSHeiko Stübner		i2c1 {
681*b790c2caSHeiko Stübner			i2c1_xfer: i2c1-xfer {
682*b790c2caSHeiko Stübner				rockchip,pins = <2 21 RK_FUNC_1 &pcfg_pull_none>,
683*b790c2caSHeiko Stübner						<2 22 RK_FUNC_1 &pcfg_pull_none>;
684*b790c2caSHeiko Stübner			};
685*b790c2caSHeiko Stübner		};
686*b790c2caSHeiko Stübner
687*b790c2caSHeiko Stübner		i2c2 {
688*b790c2caSHeiko Stübner			i2c2_xfer: i2c2-xfer {
689*b790c2caSHeiko Stübner				rockchip,pins = <0 9 RK_FUNC_2 &pcfg_pull_none>,
690*b790c2caSHeiko Stübner						<3 31 RK_FUNC_2 &pcfg_pull_none>;
691*b790c2caSHeiko Stübner			};
692*b790c2caSHeiko Stübner		};
693*b790c2caSHeiko Stübner
694*b790c2caSHeiko Stübner		i2c3 {
695*b790c2caSHeiko Stübner			i2c3_xfer: i2c3-xfer {
696*b790c2caSHeiko Stübner				rockchip,pins = <1 16 RK_FUNC_1 &pcfg_pull_none>,
697*b790c2caSHeiko Stübner						<1 17 RK_FUNC_1 &pcfg_pull_none>;
698*b790c2caSHeiko Stübner			};
699*b790c2caSHeiko Stübner		};
700*b790c2caSHeiko Stübner
701*b790c2caSHeiko Stübner		i2c4 {
702*b790c2caSHeiko Stübner			i2c4_xfer: i2c4-xfer {
703*b790c2caSHeiko Stübner				rockchip,pins = <3 24 RK_FUNC_2 &pcfg_pull_none>,
704*b790c2caSHeiko Stübner						<3 25 RK_FUNC_2 &pcfg_pull_none>;
705*b790c2caSHeiko Stübner			};
706*b790c2caSHeiko Stübner		};
707*b790c2caSHeiko Stübner
708*b790c2caSHeiko Stübner		i2c5 {
709*b790c2caSHeiko Stübner			i2c5_xfer: i2c5-xfer {
710*b790c2caSHeiko Stübner				rockchip,pins = <3 26 RK_FUNC_2 &pcfg_pull_none>,
711*b790c2caSHeiko Stübner						<3 27 RK_FUNC_2 &pcfg_pull_none>;
712*b790c2caSHeiko Stübner			};
713*b790c2caSHeiko Stübner		};
714*b790c2caSHeiko Stübner
715*b790c2caSHeiko Stübner		sdio0 {
716*b790c2caSHeiko Stübner			sdio0_bus1: sdio0-bus1 {
717*b790c2caSHeiko Stübner				rockchip,pins = <2 28 RK_FUNC_1 &pcfg_pull_up>;
718*b790c2caSHeiko Stübner			};
719*b790c2caSHeiko Stübner
720*b790c2caSHeiko Stübner			sdio0_bus4: sdio0-bus4 {
721*b790c2caSHeiko Stübner				rockchip,pins = <2 28 RK_FUNC_1 &pcfg_pull_up>,
722*b790c2caSHeiko Stübner						<2 29 RK_FUNC_1 &pcfg_pull_up>,
723*b790c2caSHeiko Stübner						<2 30 RK_FUNC_1 &pcfg_pull_up>,
724*b790c2caSHeiko Stübner						<2 31 RK_FUNC_1 &pcfg_pull_up>;
725*b790c2caSHeiko Stübner			};
726*b790c2caSHeiko Stübner
727*b790c2caSHeiko Stübner			sdio0_cmd: sdio0-cmd {
728*b790c2caSHeiko Stübner				rockchip,pins = <3 0 RK_FUNC_1 &pcfg_pull_up>;
729*b790c2caSHeiko Stübner			};
730*b790c2caSHeiko Stübner
731*b790c2caSHeiko Stübner			sdio0_clk: sdio0-clk {
732*b790c2caSHeiko Stübner				rockchip,pins = <3 1 RK_FUNC_1 &pcfg_pull_none>;
733*b790c2caSHeiko Stübner			};
734*b790c2caSHeiko Stübner
735*b790c2caSHeiko Stübner			sdio0_cd: sdio0-cd {
736*b790c2caSHeiko Stübner				rockchip,pins = <3 2 RK_FUNC_1 &pcfg_pull_up>;
737*b790c2caSHeiko Stübner			};
738*b790c2caSHeiko Stübner
739*b790c2caSHeiko Stübner			sdio0_wp: sdio0-wp {
740*b790c2caSHeiko Stübner				rockchip,pins = <3 3 RK_FUNC_1 &pcfg_pull_up>;
741*b790c2caSHeiko Stübner			};
742*b790c2caSHeiko Stübner
743*b790c2caSHeiko Stübner			sdio0_pwr: sdio0-pwr {
744*b790c2caSHeiko Stübner				rockchip,pins = <3 4 RK_FUNC_1 &pcfg_pull_up>;
745*b790c2caSHeiko Stübner			};
746*b790c2caSHeiko Stübner
747*b790c2caSHeiko Stübner			sdio0_bkpwr: sdio0-bkpwr {
748*b790c2caSHeiko Stübner				rockchip,pins = <3 5 RK_FUNC_1 &pcfg_pull_up>;
749*b790c2caSHeiko Stübner			};
750*b790c2caSHeiko Stübner
751*b790c2caSHeiko Stübner			sdio0_int: sdio0-int {
752*b790c2caSHeiko Stübner				rockchip,pins = <3 6 RK_FUNC_1 &pcfg_pull_up>;
753*b790c2caSHeiko Stübner			};
754*b790c2caSHeiko Stübner		};
755*b790c2caSHeiko Stübner
756*b790c2caSHeiko Stübner		sdmmc {
757*b790c2caSHeiko Stübner			sdmmc_clk: sdmmc-clk {
758*b790c2caSHeiko Stübner				rockchip,pins = <2 9 RK_FUNC_1 &pcfg_pull_none>;
759*b790c2caSHeiko Stübner			};
760*b790c2caSHeiko Stübner
761*b790c2caSHeiko Stübner			sdmmc_cmd: sdmmc-cmd {
762*b790c2caSHeiko Stübner				rockchip,pins = <2 10 RK_FUNC_1 &pcfg_pull_up>;
763*b790c2caSHeiko Stübner			};
764*b790c2caSHeiko Stübner
765*b790c2caSHeiko Stübner			sdmmc_cd: sdmcc-cd {
766*b790c2caSHeiko Stübner				rockchip,pins = <2 11 RK_FUNC_1 &pcfg_pull_up>;
767*b790c2caSHeiko Stübner			};
768*b790c2caSHeiko Stübner
769*b790c2caSHeiko Stübner			sdmmc_bus1: sdmmc-bus1 {
770*b790c2caSHeiko Stübner				rockchip,pins = <2 5 RK_FUNC_1 &pcfg_pull_up>;
771*b790c2caSHeiko Stübner			};
772*b790c2caSHeiko Stübner
773*b790c2caSHeiko Stübner			sdmmc_bus4: sdmmc-bus4 {
774*b790c2caSHeiko Stübner				rockchip,pins = <2 5 RK_FUNC_1 &pcfg_pull_up>,
775*b790c2caSHeiko Stübner						<2 6 RK_FUNC_1 &pcfg_pull_up>,
776*b790c2caSHeiko Stübner						<2 7 RK_FUNC_1 &pcfg_pull_up>,
777*b790c2caSHeiko Stübner						<2 8 RK_FUNC_1 &pcfg_pull_up>;
778*b790c2caSHeiko Stübner			};
779*b790c2caSHeiko Stübner		};
780*b790c2caSHeiko Stübner
781*b790c2caSHeiko Stübner		spi0 {
782*b790c2caSHeiko Stübner			spi0_clk: spi0-clk {
783*b790c2caSHeiko Stübner				rockchip,pins = <1 29 RK_FUNC_2 &pcfg_pull_up>;
784*b790c2caSHeiko Stübner			};
785*b790c2caSHeiko Stübner			spi0_cs0: spi0-cs0 {
786*b790c2caSHeiko Stübner				rockchip,pins = <1 24 RK_FUNC_3 &pcfg_pull_up>;
787*b790c2caSHeiko Stübner			};
788*b790c2caSHeiko Stübner			spi0_cs1: spi0-cs1 {
789*b790c2caSHeiko Stübner				rockchip,pins = <1 25 RK_FUNC_3 &pcfg_pull_up>;
790*b790c2caSHeiko Stübner			};
791*b790c2caSHeiko Stübner			spi0_tx: spi0-tx {
792*b790c2caSHeiko Stübner				rockchip,pins = <1 23 RK_FUNC_3 &pcfg_pull_up>;
793*b790c2caSHeiko Stübner			};
794*b790c2caSHeiko Stübner			spi0_rx: spi0-rx {
795*b790c2caSHeiko Stübner				rockchip,pins = <1 22 RK_FUNC_3 &pcfg_pull_up>;
796*b790c2caSHeiko Stübner			};
797*b790c2caSHeiko Stübner		};
798*b790c2caSHeiko Stübner
799*b790c2caSHeiko Stübner		spi1 {
800*b790c2caSHeiko Stübner			spi1_clk: spi1-clk {
801*b790c2caSHeiko Stübner				rockchip,pins = <1 14 RK_FUNC_2 &pcfg_pull_up>;
802*b790c2caSHeiko Stübner			};
803*b790c2caSHeiko Stübner			spi1_cs0: spi1-cs0 {
804*b790c2caSHeiko Stübner				rockchip,pins = <1 15 RK_FUNC_2 &pcfg_pull_up>;
805*b790c2caSHeiko Stübner			};
806*b790c2caSHeiko Stübner			spi1_cs1: spi1-cs1 {
807*b790c2caSHeiko Stübner				rockchip,pins = <3 28 RK_FUNC_2 &pcfg_pull_up>;
808*b790c2caSHeiko Stübner			};
809*b790c2caSHeiko Stübner			spi1_rx: spi1-rx {
810*b790c2caSHeiko Stübner				rockchip,pins = <1 16 RK_FUNC_2 &pcfg_pull_up>;
811*b790c2caSHeiko Stübner			};
812*b790c2caSHeiko Stübner			spi1_tx: spi1-tx {
813*b790c2caSHeiko Stübner				rockchip,pins = <1 17 RK_FUNC_2 &pcfg_pull_up>;
814*b790c2caSHeiko Stübner			};
815*b790c2caSHeiko Stübner		};
816*b790c2caSHeiko Stübner
817*b790c2caSHeiko Stübner		spi2 {
818*b790c2caSHeiko Stübner			spi2_clk: spi2-clk {
819*b790c2caSHeiko Stübner				rockchip,pins = <0 12 RK_FUNC_2 &pcfg_pull_up>;
820*b790c2caSHeiko Stübner			};
821*b790c2caSHeiko Stübner			spi2_cs0: spi2-cs0 {
822*b790c2caSHeiko Stübner				rockchip,pins = <0 13 RK_FUNC_2 &pcfg_pull_up>;
823*b790c2caSHeiko Stübner			};
824*b790c2caSHeiko Stübner			spi2_rx: spi2-rx {
825*b790c2caSHeiko Stübner				rockchip,pins = <0 10 RK_FUNC_2 &pcfg_pull_up>;
826*b790c2caSHeiko Stübner			};
827*b790c2caSHeiko Stübner			spi2_tx: spi2-tx {
828*b790c2caSHeiko Stübner				rockchip,pins = <0 11 RK_FUNC_2 &pcfg_pull_up>;
829*b790c2caSHeiko Stübner			};
830*b790c2caSHeiko Stübner		};
831*b790c2caSHeiko Stübner
832*b790c2caSHeiko Stübner		uart0 {
833*b790c2caSHeiko Stübner			uart0_xfer: uart0-xfer {
834*b790c2caSHeiko Stübner				rockchip,pins = <2 24 RK_FUNC_1 &pcfg_pull_up>,
835*b790c2caSHeiko Stübner						<2 25 RK_FUNC_1 &pcfg_pull_none>;
836*b790c2caSHeiko Stübner			};
837*b790c2caSHeiko Stübner
838*b790c2caSHeiko Stübner			uart0_cts: uart0-cts {
839*b790c2caSHeiko Stübner				rockchip,pins = <2 26 RK_FUNC_1 &pcfg_pull_none>;
840*b790c2caSHeiko Stübner			};
841*b790c2caSHeiko Stübner
842*b790c2caSHeiko Stübner			uart0_rts: uart0-rts {
843*b790c2caSHeiko Stübner				rockchip,pins = <2 27 RK_FUNC_1 &pcfg_pull_none>;
844*b790c2caSHeiko Stübner			};
845*b790c2caSHeiko Stübner		};
846*b790c2caSHeiko Stübner
847*b790c2caSHeiko Stübner		uart1 {
848*b790c2caSHeiko Stübner			uart1_xfer: uart1-xfer {
849*b790c2caSHeiko Stübner				rockchip,pins = <0 20 RK_FUNC_3 &pcfg_pull_up>,
850*b790c2caSHeiko Stübner						<0 21 RK_FUNC_3 &pcfg_pull_none>;
851*b790c2caSHeiko Stübner			};
852*b790c2caSHeiko Stübner
853*b790c2caSHeiko Stübner			uart1_cts: uart1-cts {
854*b790c2caSHeiko Stübner				rockchip,pins = <0 22 RK_FUNC_3 &pcfg_pull_none>;
855*b790c2caSHeiko Stübner			};
856*b790c2caSHeiko Stübner
857*b790c2caSHeiko Stübner			uart1_rts: uart1-rts {
858*b790c2caSHeiko Stübner				rockchip,pins = <0 23 RK_FUNC_3 &pcfg_pull_none>;
859*b790c2caSHeiko Stübner			};
860*b790c2caSHeiko Stübner		};
861*b790c2caSHeiko Stübner
862*b790c2caSHeiko Stübner		uart2 {
863*b790c2caSHeiko Stübner			uart2_xfer: uart2-xfer {
864*b790c2caSHeiko Stübner				rockchip,pins = <2 6 RK_FUNC_2 &pcfg_pull_up>,
865*b790c2caSHeiko Stübner						<2 5 RK_FUNC_2 &pcfg_pull_none>;
866*b790c2caSHeiko Stübner			};
867*b790c2caSHeiko Stübner			/* no rts / cts for uart2 */
868*b790c2caSHeiko Stübner		};
869*b790c2caSHeiko Stübner
870*b790c2caSHeiko Stübner		uart3 {
871*b790c2caSHeiko Stübner			uart3_xfer: uart3-xfer {
872*b790c2caSHeiko Stübner				rockchip,pins = <3 29 RK_FUNC_2 &pcfg_pull_up>,
873*b790c2caSHeiko Stübner						<3 30 RK_FUNC_3 &pcfg_pull_none>;
874*b790c2caSHeiko Stübner			};
875*b790c2caSHeiko Stübner
876*b790c2caSHeiko Stübner			uart3_cts: uart3-cts {
877*b790c2caSHeiko Stübner				rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_none>;
878*b790c2caSHeiko Stübner			};
879*b790c2caSHeiko Stübner
880*b790c2caSHeiko Stübner			uart3_rts: uart3-rts {
881*b790c2caSHeiko Stübner				rockchip,pins = <3 17 RK_FUNC_2 &pcfg_pull_none>;
882*b790c2caSHeiko Stübner			};
883*b790c2caSHeiko Stübner		};
884*b790c2caSHeiko Stübner
885*b790c2caSHeiko Stübner		uart4 {
886*b790c2caSHeiko Stübner			uart4_xfer: uart4-xfer {
887*b790c2caSHeiko Stübner				rockchip,pins = <0 27 RK_FUNC_3 &pcfg_pull_up>,
888*b790c2caSHeiko Stübner						<0 26 RK_FUNC_3 &pcfg_pull_none>;
889*b790c2caSHeiko Stübner			};
890*b790c2caSHeiko Stübner
891*b790c2caSHeiko Stübner			uart4_cts: uart4-cts {
892*b790c2caSHeiko Stübner				rockchip,pins = <0 24 RK_FUNC_3 &pcfg_pull_none>;
893*b790c2caSHeiko Stübner			};
894*b790c2caSHeiko Stübner
895*b790c2caSHeiko Stübner			uart4_rts: uart4-rts {
896*b790c2caSHeiko Stübner				rockchip,pins = <0 25 RK_FUNC_3 &pcfg_pull_none>;
897*b790c2caSHeiko Stübner			};
898*b790c2caSHeiko Stübner		};
899*b790c2caSHeiko Stübner	};
900*b790c2caSHeiko Stübner};
901