xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3368.dtsi (revision fbf3603b9ab279396e3c22cb440a89391da93c95)
137a0c600SAndreas Färber/*
237a0c600SAndreas Färber * Copyright (c) 2015 Heiko Stuebner <heiko@sntech.de>
337a0c600SAndreas Färber *
437a0c600SAndreas Färber * This file is dual-licensed: you can use it either under the terms
537a0c600SAndreas Färber * of the GPL or the X11 license, at your option. Note that this dual
637a0c600SAndreas Färber * licensing only applies to this file, and not this project as a
737a0c600SAndreas Färber * whole.
837a0c600SAndreas Färber *
937a0c600SAndreas Färber *  a) This library is free software; you can redistribute it and/or
1037a0c600SAndreas Färber *     modify it under the terms of the GNU General Public License as
1137a0c600SAndreas Färber *     published by the Free Software Foundation; either version 2 of the
1237a0c600SAndreas Färber *     License, or (at your option) any later version.
1337a0c600SAndreas Färber *
1437a0c600SAndreas Färber *     This library is distributed in the hope that it will be useful,
1537a0c600SAndreas Färber *     but WITHOUT ANY WARRANTY; without even the implied warranty of
1637a0c600SAndreas Färber *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1737a0c600SAndreas Färber *     GNU General Public License for more details.
1837a0c600SAndreas Färber *
1937a0c600SAndreas Färber * Or, alternatively,
2037a0c600SAndreas Färber *
2137a0c600SAndreas Färber *  b) Permission is hereby granted, free of charge, to any person
2237a0c600SAndreas Färber *     obtaining a copy of this software and associated documentation
2337a0c600SAndreas Färber *     files (the "Software"), to deal in the Software without
2437a0c600SAndreas Färber *     restriction, including without limitation the rights to use,
2537a0c600SAndreas Färber *     copy, modify, merge, publish, distribute, sublicense, and/or
2637a0c600SAndreas Färber *     sell copies of the Software, and to permit persons to whom the
2737a0c600SAndreas Färber *     Software is furnished to do so, subject to the following
2837a0c600SAndreas Färber *     conditions:
2937a0c600SAndreas Färber *
3037a0c600SAndreas Färber *     The above copyright notice and this permission notice shall be
3137a0c600SAndreas Färber *     included in all copies or substantial portions of the Software.
3237a0c600SAndreas Färber *
3337a0c600SAndreas Färber *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3437a0c600SAndreas Färber *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3537a0c600SAndreas Färber *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3637a0c600SAndreas Färber *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3737a0c600SAndreas Färber *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
3837a0c600SAndreas Färber *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3937a0c600SAndreas Färber *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4037a0c600SAndreas Färber *     OTHER DEALINGS IN THE SOFTWARE.
4137a0c600SAndreas Färber */
4237a0c600SAndreas Färber
4337a0c600SAndreas Färber#include <dt-bindings/clock/rk3368-cru.h>
4437a0c600SAndreas Färber#include <dt-bindings/gpio/gpio.h>
4537a0c600SAndreas Färber#include <dt-bindings/interrupt-controller/irq.h>
4637a0c600SAndreas Färber#include <dt-bindings/interrupt-controller/arm-gic.h>
4737a0c600SAndreas Färber#include <dt-bindings/pinctrl/rockchip.h>
4837a0c600SAndreas Färber#include <dt-bindings/thermal/thermal.h>
491ac973a1SPhilipp Tomsich#include <dt-bindings/memory/rk3368-dmc.h>
5037a0c600SAndreas Färber
5137a0c600SAndreas Färber/ {
5237a0c600SAndreas Färber	compatible = "rockchip,rk3368";
5337a0c600SAndreas Färber	interrupt-parent = <&gic>;
5437a0c600SAndreas Färber	#address-cells = <2>;
5537a0c600SAndreas Färber	#size-cells = <2>;
5637a0c600SAndreas Färber
5737a0c600SAndreas Färber	aliases {
5837a0c600SAndreas Färber		ethernet0 = &gmac;
5937a0c600SAndreas Färber		i2c0 = &i2c0;
6037a0c600SAndreas Färber		i2c1 = &i2c1;
6137a0c600SAndreas Färber		i2c2 = &i2c2;
6237a0c600SAndreas Färber		i2c3 = &i2c3;
6337a0c600SAndreas Färber		i2c4 = &i2c4;
6437a0c600SAndreas Färber		i2c5 = &i2c5;
6537a0c600SAndreas Färber		serial0 = &uart0;
6637a0c600SAndreas Färber		serial1 = &uart1;
6737a0c600SAndreas Färber		serial2 = &uart2;
6837a0c600SAndreas Färber		serial3 = &uart3;
6937a0c600SAndreas Färber		serial4 = &uart4;
7037a0c600SAndreas Färber		spi0 = &spi0;
7137a0c600SAndreas Färber		spi1 = &spi1;
7237a0c600SAndreas Färber		spi2 = &spi2;
7337a0c600SAndreas Färber	};
7437a0c600SAndreas Färber
7537a0c600SAndreas Färber	cpus {
7637a0c600SAndreas Färber		#address-cells = <0x2>;
7737a0c600SAndreas Färber		#size-cells = <0x0>;
7837a0c600SAndreas Färber
7937a0c600SAndreas Färber		cpu-map {
8037a0c600SAndreas Färber			cluster0 {
8137a0c600SAndreas Färber				core0 {
8237a0c600SAndreas Färber					cpu = <&cpu_b0>;
8337a0c600SAndreas Färber				};
8437a0c600SAndreas Färber				core1 {
8537a0c600SAndreas Färber					cpu = <&cpu_b1>;
8637a0c600SAndreas Färber				};
8737a0c600SAndreas Färber				core2 {
8837a0c600SAndreas Färber					cpu = <&cpu_b2>;
8937a0c600SAndreas Färber				};
9037a0c600SAndreas Färber				core3 {
9137a0c600SAndreas Färber					cpu = <&cpu_b3>;
9237a0c600SAndreas Färber				};
9337a0c600SAndreas Färber			};
9437a0c600SAndreas Färber
9537a0c600SAndreas Färber			cluster1 {
9637a0c600SAndreas Färber				core0 {
9737a0c600SAndreas Färber					cpu = <&cpu_l0>;
9837a0c600SAndreas Färber				};
9937a0c600SAndreas Färber				core1 {
10037a0c600SAndreas Färber					cpu = <&cpu_l1>;
10137a0c600SAndreas Färber				};
10237a0c600SAndreas Färber				core2 {
10337a0c600SAndreas Färber					cpu = <&cpu_l2>;
10437a0c600SAndreas Färber				};
10537a0c600SAndreas Färber				core3 {
10637a0c600SAndreas Färber					cpu = <&cpu_l3>;
10737a0c600SAndreas Färber				};
10837a0c600SAndreas Färber			};
10937a0c600SAndreas Färber		};
11037a0c600SAndreas Färber
11137a0c600SAndreas Färber		idle-states {
11237a0c600SAndreas Färber			entry-method = "psci";
11337a0c600SAndreas Färber
11437a0c600SAndreas Färber			cpu_sleep: cpu-sleep-0 {
11537a0c600SAndreas Färber				compatible = "arm,idle-state";
11637a0c600SAndreas Färber				arm,psci-suspend-param = <0x1010000>;
11737a0c600SAndreas Färber				entry-latency-us = <0x3fffffff>;
11837a0c600SAndreas Färber				exit-latency-us = <0x40000000>;
11937a0c600SAndreas Färber				min-residency-us = <0xffffffff>;
12037a0c600SAndreas Färber			};
12137a0c600SAndreas Färber		};
12237a0c600SAndreas Färber
12337a0c600SAndreas Färber		cpu_l0: cpu@0 {
12437a0c600SAndreas Färber			device_type = "cpu";
12537a0c600SAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
12637a0c600SAndreas Färber			reg = <0x0 0x0>;
12737a0c600SAndreas Färber			cpu-idle-states = <&cpu_sleep>;
12837a0c600SAndreas Färber			enable-method = "psci";
12937a0c600SAndreas Färber
13037a0c600SAndreas Färber			#cooling-cells = <2>; /* min followed by max */
13137a0c600SAndreas Färber		};
13237a0c600SAndreas Färber
13337a0c600SAndreas Färber		cpu_l1: cpu@1 {
13437a0c600SAndreas Färber			device_type = "cpu";
13537a0c600SAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
13637a0c600SAndreas Färber			reg = <0x0 0x1>;
13737a0c600SAndreas Färber			cpu-idle-states = <&cpu_sleep>;
13837a0c600SAndreas Färber			enable-method = "psci";
13937a0c600SAndreas Färber		};
14037a0c600SAndreas Färber
14137a0c600SAndreas Färber		cpu_l2: cpu@2 {
14237a0c600SAndreas Färber			device_type = "cpu";
14337a0c600SAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
14437a0c600SAndreas Färber			reg = <0x0 0x2>;
14537a0c600SAndreas Färber			cpu-idle-states = <&cpu_sleep>;
14637a0c600SAndreas Färber			enable-method = "psci";
14737a0c600SAndreas Färber		};
14837a0c600SAndreas Färber
14937a0c600SAndreas Färber		cpu_l3: cpu@3 {
15037a0c600SAndreas Färber			device_type = "cpu";
15137a0c600SAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
15237a0c600SAndreas Färber			reg = <0x0 0x3>;
15337a0c600SAndreas Färber			cpu-idle-states = <&cpu_sleep>;
15437a0c600SAndreas Färber			enable-method = "psci";
15537a0c600SAndreas Färber		};
15637a0c600SAndreas Färber
15737a0c600SAndreas Färber		cpu_b0: cpu@100 {
15837a0c600SAndreas Färber			device_type = "cpu";
15937a0c600SAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
16037a0c600SAndreas Färber			reg = <0x0 0x100>;
16137a0c600SAndreas Färber			cpu-idle-states = <&cpu_sleep>;
16237a0c600SAndreas Färber			enable-method = "psci";
16337a0c600SAndreas Färber
16437a0c600SAndreas Färber			#cooling-cells = <2>; /* min followed by max */
16537a0c600SAndreas Färber		};
16637a0c600SAndreas Färber
16737a0c600SAndreas Färber		cpu_b1: cpu@101 {
16837a0c600SAndreas Färber			device_type = "cpu";
16937a0c600SAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
17037a0c600SAndreas Färber			reg = <0x0 0x101>;
17137a0c600SAndreas Färber			cpu-idle-states = <&cpu_sleep>;
17237a0c600SAndreas Färber			enable-method = "psci";
17337a0c600SAndreas Färber		};
17437a0c600SAndreas Färber
17537a0c600SAndreas Färber		cpu_b2: cpu@102 {
17637a0c600SAndreas Färber			device_type = "cpu";
17737a0c600SAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
17837a0c600SAndreas Färber			reg = <0x0 0x102>;
17937a0c600SAndreas Färber			cpu-idle-states = <&cpu_sleep>;
18037a0c600SAndreas Färber			enable-method = "psci";
18137a0c600SAndreas Färber		};
18237a0c600SAndreas Färber
18337a0c600SAndreas Färber		cpu_b3: cpu@103 {
18437a0c600SAndreas Färber			device_type = "cpu";
18537a0c600SAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
18637a0c600SAndreas Färber			reg = <0x0 0x103>;
18737a0c600SAndreas Färber			cpu-idle-states = <&cpu_sleep>;
18837a0c600SAndreas Färber			enable-method = "psci";
18937a0c600SAndreas Färber		};
19037a0c600SAndreas Färber	};
19137a0c600SAndreas Färber
19237a0c600SAndreas Färber	arm-pmu {
19337a0c600SAndreas Färber		compatible = "arm,armv8-pmuv3";
19437a0c600SAndreas Färber		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
19537a0c600SAndreas Färber			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
19637a0c600SAndreas Färber			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
19737a0c600SAndreas Färber			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
19837a0c600SAndreas Färber			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
19937a0c600SAndreas Färber			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
20037a0c600SAndreas Färber			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
20137a0c600SAndreas Färber			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
20237a0c600SAndreas Färber		interrupt-affinity = <&cpu_l0>, <&cpu_l1>, <&cpu_l2>,
20337a0c600SAndreas Färber				     <&cpu_l3>, <&cpu_b0>, <&cpu_b1>,
20437a0c600SAndreas Färber				     <&cpu_b2>, <&cpu_b3>;
20537a0c600SAndreas Färber	};
20637a0c600SAndreas Färber
207*fbf3603bSJoseph Chen	psci: psci {
20837a0c600SAndreas Färber		compatible = "arm,psci-0.2";
20937a0c600SAndreas Färber		method = "smc";
21037a0c600SAndreas Färber	};
21137a0c600SAndreas Färber
21237a0c600SAndreas Färber	timer {
21337a0c600SAndreas Färber		compatible = "arm,armv8-timer";
21437a0c600SAndreas Färber		interrupts = <GIC_PPI 13
21537a0c600SAndreas Färber			(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>,
21637a0c600SAndreas Färber			     <GIC_PPI 14
21737a0c600SAndreas Färber			(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>,
21837a0c600SAndreas Färber			     <GIC_PPI 11
21937a0c600SAndreas Färber			(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>,
22037a0c600SAndreas Färber			     <GIC_PPI 10
22137a0c600SAndreas Färber			(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
22237a0c600SAndreas Färber	};
22337a0c600SAndreas Färber
22437a0c600SAndreas Färber	xin24m: oscillator {
22537a0c600SAndreas Färber		compatible = "fixed-clock";
22637a0c600SAndreas Färber		clock-frequency = <24000000>;
22737a0c600SAndreas Färber		clock-output-names = "xin24m";
22837a0c600SAndreas Färber		#clock-cells = <0>;
22937a0c600SAndreas Färber	};
23037a0c600SAndreas Färber
2311ac973a1SPhilipp Tomsich	dmc: dmc@ff610000 {
2321ac973a1SPhilipp Tomsich		compatible = "rockchip,rk3368-dmc", "syscon";
2331ac973a1SPhilipp Tomsich		rockchip,cru = <&cru>;
2341ac973a1SPhilipp Tomsich		rockchip,grf = <&grf>;
2351ac973a1SPhilipp Tomsich		rockchip,msch = <&service_msch>;
2361ac973a1SPhilipp Tomsich		reg = <0 0xff610000 0 0x400
2371ac973a1SPhilipp Tomsich		       0 0xff620000 0 0x400>;
2381ac973a1SPhilipp Tomsich	};
2391ac973a1SPhilipp Tomsich
2401ac973a1SPhilipp Tomsich	service_msch: syscon@ffac0000 {
2411ac973a1SPhilipp Tomsich		compatible = "rockchip,rk3368-msch", "syscon";
2421ac973a1SPhilipp Tomsich		reg = <0x0 0xffac0000 0x0 0x2000>;
2431ac973a1SPhilipp Tomsich		status = "okay";
2441ac973a1SPhilipp Tomsich	};
2451ac973a1SPhilipp Tomsich
24637a0c600SAndreas Färber	sdmmc: dwmmc@ff0c0000 {
24737a0c600SAndreas Färber		compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc";
24837a0c600SAndreas Färber		reg = <0x0 0xff0c0000 0x0 0x4000>;
24937a0c600SAndreas Färber		clock-freq-min-max = <400000 150000000>;
25037a0c600SAndreas Färber		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
25137a0c600SAndreas Färber			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
25237a0c600SAndreas Färber		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
25337a0c600SAndreas Färber		fifo-depth = <0x100>;
2545c391abeSJason Zhu		cd-gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_HIGH>;
25537a0c600SAndreas Färber		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
25637a0c600SAndreas Färber		status = "disabled";
25737a0c600SAndreas Färber	};
25837a0c600SAndreas Färber
25937a0c600SAndreas Färber	sdio0: dwmmc@ff0d0000 {
26037a0c600SAndreas Färber		compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc";
26137a0c600SAndreas Färber		reg = <0x0 0xff0d0000 0x0 0x4000>;
26237a0c600SAndreas Färber		clock-freq-min-max = <400000 150000000>;
26337a0c600SAndreas Färber		clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>,
26437a0c600SAndreas Färber			 <&cru SCLK_SDIO0_DRV>, <&cru SCLK_SDIO0_SAMPLE>;
265c5c7b477SKever Yang		clock-names = "biu", "ciu", "ciu-drv", "ciu-sample";
26637a0c600SAndreas Färber		fifo-depth = <0x100>;
26737a0c600SAndreas Färber		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
26837a0c600SAndreas Färber		status = "disabled";
26937a0c600SAndreas Färber	};
27037a0c600SAndreas Färber
27137a0c600SAndreas Färber	emmc: dwmmc@ff0f0000 {
27237a0c600SAndreas Färber		compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc";
27337a0c600SAndreas Färber		reg = <0x0 0xff0f0000 0x0 0x4000>;
27437a0c600SAndreas Färber		clock-freq-min-max = <400000 150000000>;
27537a0c600SAndreas Färber		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
27637a0c600SAndreas Färber			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
27737a0c600SAndreas Färber		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
27837a0c600SAndreas Färber		fifo-depth = <0x100>;
27937a0c600SAndreas Färber		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
28037a0c600SAndreas Färber		status = "disabled";
28137a0c600SAndreas Färber	};
28237a0c600SAndreas Färber
28337a0c600SAndreas Färber	saradc: saradc@ff100000 {
28437a0c600SAndreas Färber		compatible = "rockchip,saradc";
28537a0c600SAndreas Färber		reg = <0x0 0xff100000 0x0 0x100>;
28637a0c600SAndreas Färber		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
28737a0c600SAndreas Färber		#io-channel-cells = <1>;
28837a0c600SAndreas Färber		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
28937a0c600SAndreas Färber		clock-names = "saradc", "apb_pclk";
29037a0c600SAndreas Färber		status = "disabled";
29137a0c600SAndreas Färber	};
29237a0c600SAndreas Färber
29337a0c600SAndreas Färber	spi0: spi@ff110000 {
29437a0c600SAndreas Färber		compatible = "rockchip,rk3368-spi", "rockchip,rk3066-spi";
29537a0c600SAndreas Färber		reg = <0x0 0xff110000 0x0 0x1000>;
29637a0c600SAndreas Färber		clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
29737a0c600SAndreas Färber		clock-names = "spiclk", "apb_pclk";
29837a0c600SAndreas Färber		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
29937a0c600SAndreas Färber		pinctrl-names = "default";
30037a0c600SAndreas Färber		pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
30137a0c600SAndreas Färber		#address-cells = <1>;
30237a0c600SAndreas Färber		#size-cells = <0>;
30337a0c600SAndreas Färber		status = "disabled";
30437a0c600SAndreas Färber	};
30537a0c600SAndreas Färber
30637a0c600SAndreas Färber	spi1: spi@ff120000 {
30737a0c600SAndreas Färber		compatible = "rockchip,rk3368-spi", "rockchip,rk3066-spi";
30837a0c600SAndreas Färber		reg = <0x0 0xff120000 0x0 0x1000>;
30937a0c600SAndreas Färber		clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
31037a0c600SAndreas Färber		clock-names = "spiclk", "apb_pclk";
31137a0c600SAndreas Färber		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
31237a0c600SAndreas Färber		pinctrl-names = "default";
31337a0c600SAndreas Färber		pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
31437a0c600SAndreas Färber		#address-cells = <1>;
31537a0c600SAndreas Färber		#size-cells = <0>;
31637a0c600SAndreas Färber		status = "disabled";
31737a0c600SAndreas Färber	};
31837a0c600SAndreas Färber
31937a0c600SAndreas Färber	spi2: spi@ff130000 {
32037a0c600SAndreas Färber		compatible = "rockchip,rk3368-spi", "rockchip,rk3066-spi";
32137a0c600SAndreas Färber		reg = <0x0 0xff130000 0x0 0x1000>;
32237a0c600SAndreas Färber		clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
32337a0c600SAndreas Färber		clock-names = "spiclk", "apb_pclk";
32437a0c600SAndreas Färber		interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
32537a0c600SAndreas Färber		pinctrl-names = "default";
32637a0c600SAndreas Färber		pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
32737a0c600SAndreas Färber		#address-cells = <1>;
32837a0c600SAndreas Färber		#size-cells = <0>;
32937a0c600SAndreas Färber		status = "disabled";
33037a0c600SAndreas Färber	};
33137a0c600SAndreas Färber
33237a0c600SAndreas Färber	i2c1: i2c@ff140000 {
33337a0c600SAndreas Färber		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
33437a0c600SAndreas Färber		reg = <0x0 0xff140000 0x0 0x1000>;
33537a0c600SAndreas Färber		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
33637a0c600SAndreas Färber		#address-cells = <1>;
33737a0c600SAndreas Färber		#size-cells = <0>;
33837a0c600SAndreas Färber		clock-names = "i2c";
33937a0c600SAndreas Färber		clocks = <&cru PCLK_I2C1>;
34037a0c600SAndreas Färber		pinctrl-names = "default";
34137a0c600SAndreas Färber		pinctrl-0 = <&i2c1_xfer>;
34237a0c600SAndreas Färber		status = "disabled";
34337a0c600SAndreas Färber	};
34437a0c600SAndreas Färber
34537a0c600SAndreas Färber	i2c3: i2c@ff150000 {
34637a0c600SAndreas Färber		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
34737a0c600SAndreas Färber		reg = <0x0 0xff150000 0x0 0x1000>;
34837a0c600SAndreas Färber		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
34937a0c600SAndreas Färber		#address-cells = <1>;
35037a0c600SAndreas Färber		#size-cells = <0>;
35137a0c600SAndreas Färber		clock-names = "i2c";
35237a0c600SAndreas Färber		clocks = <&cru PCLK_I2C3>;
35337a0c600SAndreas Färber		pinctrl-names = "default";
35437a0c600SAndreas Färber		pinctrl-0 = <&i2c3_xfer>;
35537a0c600SAndreas Färber		status = "disabled";
35637a0c600SAndreas Färber	};
35737a0c600SAndreas Färber
35837a0c600SAndreas Färber	i2c4: i2c@ff160000 {
35937a0c600SAndreas Färber		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
36037a0c600SAndreas Färber		reg = <0x0 0xff160000 0x0 0x1000>;
36137a0c600SAndreas Färber		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
36237a0c600SAndreas Färber		#address-cells = <1>;
36337a0c600SAndreas Färber		#size-cells = <0>;
36437a0c600SAndreas Färber		clock-names = "i2c";
36537a0c600SAndreas Färber		clocks = <&cru PCLK_I2C4>;
36637a0c600SAndreas Färber		pinctrl-names = "default";
36737a0c600SAndreas Färber		pinctrl-0 = <&i2c4_xfer>;
36837a0c600SAndreas Färber		status = "disabled";
36937a0c600SAndreas Färber	};
37037a0c600SAndreas Färber
37137a0c600SAndreas Färber	i2c5: i2c@ff170000 {
37237a0c600SAndreas Färber		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
37337a0c600SAndreas Färber		reg = <0x0 0xff170000 0x0 0x1000>;
37437a0c600SAndreas Färber		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
37537a0c600SAndreas Färber		#address-cells = <1>;
37637a0c600SAndreas Färber		#size-cells = <0>;
37737a0c600SAndreas Färber		clock-names = "i2c";
37837a0c600SAndreas Färber		clocks = <&cru PCLK_I2C5>;
37937a0c600SAndreas Färber		pinctrl-names = "default";
38037a0c600SAndreas Färber		pinctrl-0 = <&i2c5_xfer>;
38137a0c600SAndreas Färber		status = "disabled";
38237a0c600SAndreas Färber	};
38337a0c600SAndreas Färber
384a1e5c945SJoseph Chen	nandc0: nandc@ff400000 {
385a1e5c945SJoseph Chen		compatible = "rockchip,rk-nandc";
386a1e5c945SJoseph Chen		reg = <0x0 0xff400000 0x0 0x4000>;
387a1e5c945SJoseph Chen		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
388a1e5c945SJoseph Chen		nandc_id = <0>;
389a1e5c945SJoseph Chen		clocks = <&cru SCLK_NANDC0>, <&cru HCLK_NANDC0>;
390a1e5c945SJoseph Chen		clock-names = "clk_nandc", "hclk_nandc";
391a1e5c945SJoseph Chen		status = "disabled";
392a1e5c945SJoseph Chen	};
393a1e5c945SJoseph Chen
39437a0c600SAndreas Färber	uart0: serial@ff180000 {
39537a0c600SAndreas Färber		compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart";
39637a0c600SAndreas Färber		reg = <0x0 0xff180000 0x0 0x100>;
39737a0c600SAndreas Färber		clock-frequency = <24000000>;
39837a0c600SAndreas Färber		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
39937a0c600SAndreas Färber		clock-names = "baudclk", "apb_pclk";
40037a0c600SAndreas Färber		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
40137a0c600SAndreas Färber		reg-shift = <2>;
40237a0c600SAndreas Färber		reg-io-width = <4>;
40337a0c600SAndreas Färber		pinctrl-names = "default";
40437a0c600SAndreas Färber		pinctrl-0 = <&uart0_xfer>;
40537a0c600SAndreas Färber		status = "disabled";
40637a0c600SAndreas Färber	};
40737a0c600SAndreas Färber
40837a0c600SAndreas Färber	uart1: serial@ff190000 {
40937a0c600SAndreas Färber		compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart";
41037a0c600SAndreas Färber		reg = <0x0 0xff190000 0x0 0x100>;
41137a0c600SAndreas Färber		clock-frequency = <24000000>;
41237a0c600SAndreas Färber		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
41337a0c600SAndreas Färber		clock-names = "baudclk", "apb_pclk";
41437a0c600SAndreas Färber		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
41537a0c600SAndreas Färber		reg-shift = <2>;
41637a0c600SAndreas Färber		reg-io-width = <4>;
41737a0c600SAndreas Färber		pinctrl-names = "default";
41837a0c600SAndreas Färber		pinctrl-1 = <&uart0_xfer>;
41937a0c600SAndreas Färber		status = "disabled";
42037a0c600SAndreas Färber	};
42137a0c600SAndreas Färber
42237a0c600SAndreas Färber	uart3: serial@ff1b0000 {
42337a0c600SAndreas Färber		compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart";
42437a0c600SAndreas Färber		reg = <0x0 0xff1b0000 0x0 0x100>;
42537a0c600SAndreas Färber		clock-frequency = <24000000>;
42637a0c600SAndreas Färber		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
42737a0c600SAndreas Färber		clock-names = "baudclk", "apb_pclk";
42837a0c600SAndreas Färber		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
42937a0c600SAndreas Färber		reg-shift = <2>;
43037a0c600SAndreas Färber		reg-io-width = <4>;
43137a0c600SAndreas Färber		pinctrl-names = "default";
43237a0c600SAndreas Färber		pinctrl-0 = <&uart3_xfer>;
43337a0c600SAndreas Färber		status = "disabled";
43437a0c600SAndreas Färber	};
43537a0c600SAndreas Färber
43637a0c600SAndreas Färber	uart4: serial@ff1c0000 {
43737a0c600SAndreas Färber		compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart";
43837a0c600SAndreas Färber		reg = <0x0 0xff1c0000 0x0 0x100>;
43937a0c600SAndreas Färber		clock-frequency = <24000000>;
44037a0c600SAndreas Färber		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
44137a0c600SAndreas Färber		clock-names = "baudclk", "apb_pclk";
44237a0c600SAndreas Färber		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
44337a0c600SAndreas Färber		reg-shift = <2>;
44437a0c600SAndreas Färber		reg-io-width = <4>;
44537a0c600SAndreas Färber		pinctrl-names = "default";
44637a0c600SAndreas Färber		pinctrl-0 = <&uart4_xfer>;
44737a0c600SAndreas Färber		status = "disabled";
44837a0c600SAndreas Färber	};
44937a0c600SAndreas Färber
45037a0c600SAndreas Färber	thermal-zones {
45137a0c600SAndreas Färber		cpu {
45237a0c600SAndreas Färber			polling-delay-passive = <100>; /* milliseconds */
45337a0c600SAndreas Färber			polling-delay = <5000>; /* milliseconds */
45437a0c600SAndreas Färber
45537a0c600SAndreas Färber			thermal-sensors = <&tsadc 0>;
45637a0c600SAndreas Färber
45737a0c600SAndreas Färber			trips {
45837a0c600SAndreas Färber				cpu_alert0: cpu_alert0 {
45937a0c600SAndreas Färber					temperature = <75000>; /* millicelsius */
46037a0c600SAndreas Färber					hysteresis = <2000>; /* millicelsius */
46137a0c600SAndreas Färber					type = "passive";
46237a0c600SAndreas Färber				};
46337a0c600SAndreas Färber				cpu_alert1: cpu_alert1 {
46437a0c600SAndreas Färber					temperature = <80000>; /* millicelsius */
46537a0c600SAndreas Färber					hysteresis = <2000>; /* millicelsius */
46637a0c600SAndreas Färber					type = "passive";
46737a0c600SAndreas Färber				};
46837a0c600SAndreas Färber				cpu_crit: cpu_crit {
46937a0c600SAndreas Färber					temperature = <95000>; /* millicelsius */
47037a0c600SAndreas Färber					hysteresis = <2000>; /* millicelsius */
47137a0c600SAndreas Färber					type = "critical";
47237a0c600SAndreas Färber				};
47337a0c600SAndreas Färber			};
47437a0c600SAndreas Färber
47537a0c600SAndreas Färber			cooling-maps {
47637a0c600SAndreas Färber				map0 {
47737a0c600SAndreas Färber					trip = <&cpu_alert0>;
47837a0c600SAndreas Färber					cooling-device =
47937a0c600SAndreas Färber					<&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
48037a0c600SAndreas Färber				};
48137a0c600SAndreas Färber				map1 {
48237a0c600SAndreas Färber					trip = <&cpu_alert1>;
48337a0c600SAndreas Färber					cooling-device =
48437a0c600SAndreas Färber					<&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
48537a0c600SAndreas Färber				};
48637a0c600SAndreas Färber			};
48737a0c600SAndreas Färber		};
48837a0c600SAndreas Färber
48937a0c600SAndreas Färber		gpu {
49037a0c600SAndreas Färber			polling-delay-passive = <100>; /* milliseconds */
49137a0c600SAndreas Färber			polling-delay = <5000>; /* milliseconds */
49237a0c600SAndreas Färber
49337a0c600SAndreas Färber			thermal-sensors = <&tsadc 1>;
49437a0c600SAndreas Färber
49537a0c600SAndreas Färber			trips {
49637a0c600SAndreas Färber				gpu_alert0: gpu_alert0 {
49737a0c600SAndreas Färber					temperature = <80000>; /* millicelsius */
49837a0c600SAndreas Färber					hysteresis = <2000>; /* millicelsius */
49937a0c600SAndreas Färber					type = "passive";
50037a0c600SAndreas Färber				};
50137a0c600SAndreas Färber				gpu_crit: gpu_crit {
50237a0c600SAndreas Färber					temperature = <115000>; /* millicelsius */
50337a0c600SAndreas Färber					hysteresis = <2000>; /* millicelsius */
50437a0c600SAndreas Färber					type = "critical";
50537a0c600SAndreas Färber				};
50637a0c600SAndreas Färber			};
50737a0c600SAndreas Färber
50837a0c600SAndreas Färber			cooling-maps {
50937a0c600SAndreas Färber				map0 {
51037a0c600SAndreas Färber					trip = <&gpu_alert0>;
51137a0c600SAndreas Färber					cooling-device =
51237a0c600SAndreas Färber					<&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
51337a0c600SAndreas Färber				};
51437a0c600SAndreas Färber			};
51537a0c600SAndreas Färber		};
51637a0c600SAndreas Färber	};
51737a0c600SAndreas Färber
51837a0c600SAndreas Färber	tsadc: tsadc@ff280000 {
51937a0c600SAndreas Färber		compatible = "rockchip,rk3368-tsadc";
52037a0c600SAndreas Färber		reg = <0x0 0xff280000 0x0 0x100>;
52137a0c600SAndreas Färber		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
52237a0c600SAndreas Färber		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
52337a0c600SAndreas Färber		clock-names = "tsadc", "apb_pclk";
52437a0c600SAndreas Färber		resets = <&cru SRST_TSADC>;
52537a0c600SAndreas Färber		reset-names = "tsadc-apb";
52637a0c600SAndreas Färber		pinctrl-names = "init", "default", "sleep";
52737a0c600SAndreas Färber		pinctrl-0 = <&otp_gpio>;
52837a0c600SAndreas Färber		pinctrl-1 = <&otp_out>;
52937a0c600SAndreas Färber		pinctrl-2 = <&otp_gpio>;
53037a0c600SAndreas Färber		#thermal-sensor-cells = <1>;
53137a0c600SAndreas Färber		rockchip,hw-tshut-temp = <95000>;
53237a0c600SAndreas Färber		status = "disabled";
53337a0c600SAndreas Färber	};
53437a0c600SAndreas Färber
53537a0c600SAndreas Färber	gmac: ethernet@ff290000 {
53637a0c600SAndreas Färber		compatible = "rockchip,rk3368-gmac";
53737a0c600SAndreas Färber		reg = <0x0 0xff290000 0x0 0x10000>;
53837a0c600SAndreas Färber		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
53937a0c600SAndreas Färber		interrupt-names = "macirq";
54037a0c600SAndreas Färber		rockchip,grf = <&grf>;
54137a0c600SAndreas Färber		clocks = <&cru SCLK_MAC>,
54237a0c600SAndreas Färber			<&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
54337a0c600SAndreas Färber			<&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>,
54437a0c600SAndreas Färber			<&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
54537a0c600SAndreas Färber		clock-names = "stmmaceth",
54637a0c600SAndreas Färber			"mac_clk_rx", "mac_clk_tx",
54737a0c600SAndreas Färber			"clk_mac_ref", "clk_mac_refout",
54837a0c600SAndreas Färber			"aclk_mac", "pclk_mac";
54937a0c600SAndreas Färber		status = "disabled";
55037a0c600SAndreas Färber	};
55137a0c600SAndreas Färber
55237a0c600SAndreas Färber	usb_host0_ehci: usb@ff500000 {
55337a0c600SAndreas Färber		compatible = "generic-ehci";
55437a0c600SAndreas Färber		reg = <0x0 0xff500000 0x0 0x100>;
55537a0c600SAndreas Färber		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
55637a0c600SAndreas Färber		clocks = <&cru HCLK_HOST0>;
55737a0c600SAndreas Färber		clock-names = "usbhost";
55857702281SJoseph Chen		phys = <&u2phy_host>;
55957702281SJoseph Chen		phy-names = "usb";
56057702281SJoseph Chen		status = "disabled";
56157702281SJoseph Chen	};
56257702281SJoseph Chen
56357702281SJoseph Chen	usb_host0_ohci: usb@ff520000 {
56457702281SJoseph Chen		compatible = "generic-ohci";
56557702281SJoseph Chen		reg = <0x0 0xff520000 0x0 0x20000>;
56657702281SJoseph Chen		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
56757702281SJoseph Chen		clocks = <&cru HCLK_HOST0>, <&u2phy>;
56857702281SJoseph Chen		clock-names = "usbhost", "utmi";
56957702281SJoseph Chen		phys = <&u2phy_host>;
57057702281SJoseph Chen		phy-names = "usb";
57137a0c600SAndreas Färber		status = "disabled";
57237a0c600SAndreas Färber	};
57337a0c600SAndreas Färber
57437a0c600SAndreas Färber	usb_otg: usb@ff580000 {
57537a0c600SAndreas Färber		compatible = "rockchip,rk3368-usb", "rockchip,rk3066-usb",
57637a0c600SAndreas Färber				"snps,dwc2";
57737a0c600SAndreas Färber		reg = <0x0 0xff580000 0x0 0x40000>;
57837a0c600SAndreas Färber		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
57937a0c600SAndreas Färber		clocks = <&cru HCLK_OTG0>;
58037a0c600SAndreas Färber		clock-names = "otg";
58137a0c600SAndreas Färber		dr_mode = "otg";
58237a0c600SAndreas Färber		g-np-tx-fifo-size = <16>;
58337a0c600SAndreas Färber		g-rx-fifo-size = <275>;
58437a0c600SAndreas Färber		g-tx-fifo-size = <256 128 128 64 64 32>;
58537a0c600SAndreas Färber		g-use-dma;
58657702281SJoseph Chen		phys = <&u2phy_otg>;
58757702281SJoseph Chen		phy-names = "usb2-phy";
58837a0c600SAndreas Färber		status = "disabled";
58937a0c600SAndreas Färber	};
59037a0c600SAndreas Färber
59137a0c600SAndreas Färber	i2c0: i2c@ff650000 {
59237a0c600SAndreas Färber		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
59337a0c600SAndreas Färber		reg = <0x0 0xff650000 0x0 0x1000>;
59437a0c600SAndreas Färber		clocks = <&cru PCLK_I2C0>;
59537a0c600SAndreas Färber		clock-names = "i2c";
59637a0c600SAndreas Färber		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
59737a0c600SAndreas Färber		pinctrl-names = "default";
59837a0c600SAndreas Färber		pinctrl-0 = <&i2c0_xfer>;
59937a0c600SAndreas Färber		#address-cells = <1>;
60037a0c600SAndreas Färber		#size-cells = <0>;
60137a0c600SAndreas Färber		status = "disabled";
60237a0c600SAndreas Färber	};
60337a0c600SAndreas Färber
60437a0c600SAndreas Färber	i2c2: i2c@ff660000 {
60537a0c600SAndreas Färber		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
60637a0c600SAndreas Färber		reg = <0x0 0xff660000 0x0 0x1000>;
60737a0c600SAndreas Färber		interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
60837a0c600SAndreas Färber		#address-cells = <1>;
60937a0c600SAndreas Färber		#size-cells = <0>;
61037a0c600SAndreas Färber		clock-names = "i2c";
61137a0c600SAndreas Färber		clocks = <&cru PCLK_I2C2>;
61237a0c600SAndreas Färber		pinctrl-names = "default";
61337a0c600SAndreas Färber		pinctrl-0 = <&i2c2_xfer>;
61437a0c600SAndreas Färber		status = "disabled";
61537a0c600SAndreas Färber	};
61637a0c600SAndreas Färber
61737a0c600SAndreas Färber	pwm0: pwm@ff680000 {
61837a0c600SAndreas Färber		compatible = "rockchip,rk3368-pwm", "rockchip,rk3288-pwm";
61937a0c600SAndreas Färber		reg = <0x0 0xff680000 0x0 0x10>;
62037a0c600SAndreas Färber		#pwm-cells = <3>;
621bab0c55cSDavid Wu		pinctrl-names = "active";
62237a0c600SAndreas Färber		pinctrl-0 = <&pwm0_pin>;
62337a0c600SAndreas Färber		clocks = <&cru PCLK_PWM1>;
62437a0c600SAndreas Färber		clock-names = "pwm";
62537a0c600SAndreas Färber		status = "disabled";
62637a0c600SAndreas Färber	};
62737a0c600SAndreas Färber
62837a0c600SAndreas Färber	pwm1: pwm@ff680010 {
62937a0c600SAndreas Färber		compatible = "rockchip,rk3368-pwm", "rockchip,rk3288-pwm";
63037a0c600SAndreas Färber		reg = <0x0 0xff680010 0x0 0x10>;
63137a0c600SAndreas Färber		#pwm-cells = <3>;
632bab0c55cSDavid Wu		pinctrl-names = "active";
63337a0c600SAndreas Färber		pinctrl-0 = <&pwm1_pin>;
63437a0c600SAndreas Färber		clocks = <&cru PCLK_PWM1>;
63537a0c600SAndreas Färber		clock-names = "pwm";
63637a0c600SAndreas Färber		status = "disabled";
63737a0c600SAndreas Färber	};
63837a0c600SAndreas Färber
63937a0c600SAndreas Färber	pwm2: pwm@ff680020 {
64037a0c600SAndreas Färber		compatible = "rockchip,rk3368-pwm", "rockchip,rk3288-pwm";
64137a0c600SAndreas Färber		reg = <0x0 0xff680020 0x0 0x10>;
64237a0c600SAndreas Färber		#pwm-cells = <3>;
64337a0c600SAndreas Färber		clocks = <&cru PCLK_PWM1>;
64437a0c600SAndreas Färber		clock-names = "pwm";
64537a0c600SAndreas Färber		status = "disabled";
64637a0c600SAndreas Färber	};
64737a0c600SAndreas Färber
64837a0c600SAndreas Färber	pwm3: pwm@ff680030 {
64937a0c600SAndreas Färber		compatible = "rockchip,rk3368-pwm", "rockchip,rk3288-pwm";
65037a0c600SAndreas Färber		reg = <0x0 0xff680030 0x0 0x10>;
65137a0c600SAndreas Färber		#pwm-cells = <3>;
652bab0c55cSDavid Wu		pinctrl-names = "active";
65337a0c600SAndreas Färber		pinctrl-0 = <&pwm3_pin>;
65437a0c600SAndreas Färber		clocks = <&cru PCLK_PWM1>;
65537a0c600SAndreas Färber		clock-names = "pwm";
65637a0c600SAndreas Färber		status = "disabled";
65737a0c600SAndreas Färber	};
65837a0c600SAndreas Färber
65937a0c600SAndreas Färber	uart2: serial@ff690000 {
66037a0c600SAndreas Färber		compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart";
66137a0c600SAndreas Färber		reg = <0x0 0xff690000 0x0 0x100>;
66237a0c600SAndreas Färber		clock-frequency = <24000000>;
66337a0c600SAndreas Färber		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
66437a0c600SAndreas Färber		clock-names = "baudclk", "apb_pclk";
66537a0c600SAndreas Färber		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
66637a0c600SAndreas Färber		pinctrl-names = "default";
66737a0c600SAndreas Färber		pinctrl-0 = <&uart2_xfer>;
66837a0c600SAndreas Färber		reg-shift = <2>;
66937a0c600SAndreas Färber		reg-io-width = <4>;
67037a0c600SAndreas Färber		status = "disabled";
67137a0c600SAndreas Färber	};
67237a0c600SAndreas Färber
67337a0c600SAndreas Färber	mbox: mbox@ff6b0000 {
67437a0c600SAndreas Färber		compatible = "rockchip,rk3368-mailbox";
67537a0c600SAndreas Färber		reg = <0x0 0xff6b0000 0x0 0x1000>;
67637a0c600SAndreas Färber		interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
67737a0c600SAndreas Färber			     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
67837a0c600SAndreas Färber			     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
67937a0c600SAndreas Färber			     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
68037a0c600SAndreas Färber		clocks = <&cru PCLK_MAILBOX>;
68137a0c600SAndreas Färber		clock-names = "pclk_mailbox";
68237a0c600SAndreas Färber		#mbox-cells = <1>;
68337a0c600SAndreas Färber	};
68437a0c600SAndreas Färber
68537a0c600SAndreas Färber	pmugrf: syscon@ff738000 {
68637a0c600SAndreas Färber		compatible = "rockchip,rk3368-pmugrf", "syscon";
68737a0c600SAndreas Färber		reg = <0x0 0xff738000 0x0 0x1000>;
68837a0c600SAndreas Färber	};
68937a0c600SAndreas Färber
6908f362dbbSPhilipp Tomsich	sgrf: syscon@ff740000 {
6918f362dbbSPhilipp Tomsich	        compatible = "rockchip,rk3368-sgrf", "syscon";
6928f362dbbSPhilipp Tomsich		reg = <0x0 0xff740000 0x0 0x1000>;
6938f362dbbSPhilipp Tomsich	};
6948f362dbbSPhilipp Tomsich
69537a0c600SAndreas Färber	cru: clock-controller@ff760000 {
69637a0c600SAndreas Färber		compatible = "rockchip,rk3368-cru";
69737a0c600SAndreas Färber		reg = <0x0 0xff760000 0x0 0x1000>;
69837a0c600SAndreas Färber		rockchip,grf = <&grf>;
69937a0c600SAndreas Färber		#clock-cells = <1>;
70037a0c600SAndreas Färber		#reset-cells = <1>;
70137a0c600SAndreas Färber	};
70237a0c600SAndreas Färber
70337a0c600SAndreas Färber	grf: syscon@ff770000 {
70437a0c600SAndreas Färber		compatible = "rockchip,rk3368-grf", "syscon";
70537a0c600SAndreas Färber		reg = <0x0 0xff770000 0x0 0x1000>;
70657702281SJoseph Chen		#address-cells = <1>;
70757702281SJoseph Chen		#size-cells = <1>;
70857702281SJoseph Chen
70957702281SJoseph Chen		u2phy: usb2-phy@700 {
71057702281SJoseph Chen			compatible = "rockchip,rk3368-usb2phy";
71157702281SJoseph Chen			reg = <0x700 0x2c>;
71257702281SJoseph Chen			clocks = <&cru SCLK_OTGPHY0>;
71357702281SJoseph Chen			clock-names = "phyclk";
71457702281SJoseph Chen			#clock-cells = <0>;
71557702281SJoseph Chen			clock-output-names = "usbotg_out";
71657702281SJoseph Chen			assigned-clocks = <&cru SCLK_USBPHY480M>;
71757702281SJoseph Chen			assigned-clock-parents = <&u2phy>;
71857702281SJoseph Chen			status = "disabled";
71957702281SJoseph Chen
72057702281SJoseph Chen			u2phy_otg: otg-port {
72157702281SJoseph Chen				#phy-cells = <0>;
72257702281SJoseph Chen				interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
72357702281SJoseph Chen					     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
72457702281SJoseph Chen					     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
72557702281SJoseph Chen				interrupt-names = "otg-bvalid", "otg-id",
72657702281SJoseph Chen						  "linestate";
72757702281SJoseph Chen				status = "disabled";
72857702281SJoseph Chen			};
72957702281SJoseph Chen
73057702281SJoseph Chen			u2phy_host: host-port {
73157702281SJoseph Chen				#phy-cells = <0>;
73257702281SJoseph Chen				interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
73357702281SJoseph Chen				interrupt-names = "linestate";
73457702281SJoseph Chen				status = "disabled";
73557702281SJoseph Chen			};
73657702281SJoseph Chen		};
73737a0c600SAndreas Färber	};
73837a0c600SAndreas Färber
73937a0c600SAndreas Färber	wdt: watchdog@ff800000 {
74037a0c600SAndreas Färber		compatible = "rockchip,rk3368-wdt", "snps,dw-wdt";
74137a0c600SAndreas Färber		reg = <0x0 0xff800000 0x0 0x100>;
74237a0c600SAndreas Färber		clocks = <&cru PCLK_WDT>;
74337a0c600SAndreas Färber		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
74437a0c600SAndreas Färber		status = "disabled";
74537a0c600SAndreas Färber	};
74637a0c600SAndreas Färber
747bc824cc0SPhilipp Tomsich	timer0: timer@ff810000 {
74837a0c600SAndreas Färber		compatible = "rockchip,rk3368-timer", "rockchip,rk3288-timer";
74937a0c600SAndreas Färber		reg = <0x0 0xff810000 0x0 0x20>;
75037a0c600SAndreas Färber		interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
75137a0c600SAndreas Färber	};
75237a0c600SAndreas Färber
7531be69feaSLin Jinhan	crypto: crypto@ff8a0000 {
7541be69feaSLin Jinhan		compatible = "rockchip,rk3368-crypto";
7551be69feaSLin Jinhan		reg = <0x0 0xff8a0000 0x0 0x10000>;
7561be69feaSLin Jinhan		clock-names = "sclk_crypto";
7571be69feaSLin Jinhan		clocks = <&cru SCLK_CRYPTO>;
7581be69feaSLin Jinhan		status = "disabled";
7591be69feaSLin Jinhan	};
7601be69feaSLin Jinhan
76137a0c600SAndreas Färber	gic: interrupt-controller@ffb71000 {
76237a0c600SAndreas Färber		compatible = "arm,gic-400";
76337a0c600SAndreas Färber		interrupt-controller;
76437a0c600SAndreas Färber		#interrupt-cells = <3>;
76537a0c600SAndreas Färber		#address-cells = <0>;
76637a0c600SAndreas Färber
76737a0c600SAndreas Färber		reg = <0x0 0xffb71000 0x0 0x1000>,
76837a0c600SAndreas Färber		      <0x0 0xffb72000 0x0 0x1000>,
76937a0c600SAndreas Färber		      <0x0 0xffb74000 0x0 0x2000>,
77037a0c600SAndreas Färber		      <0x0 0xffb76000 0x0 0x2000>;
77137a0c600SAndreas Färber		interrupts = <GIC_PPI 9
77237a0c600SAndreas Färber		      (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
77337a0c600SAndreas Färber	};
77437a0c600SAndreas Färber
77537a0c600SAndreas Färber	pinctrl: pinctrl {
77637a0c600SAndreas Färber		compatible = "rockchip,rk3368-pinctrl";
77737a0c600SAndreas Färber		rockchip,grf = <&grf>;
77837a0c600SAndreas Färber		rockchip,pmu = <&pmugrf>;
77937a0c600SAndreas Färber		#address-cells = <0x2>;
78037a0c600SAndreas Färber		#size-cells = <0x2>;
78137a0c600SAndreas Färber		ranges;
78237a0c600SAndreas Färber
78337a0c600SAndreas Färber		gpio0: gpio0@ff750000 {
78437a0c600SAndreas Färber			compatible = "rockchip,gpio-bank";
78537a0c600SAndreas Färber			reg = <0x0 0xff750000 0x0 0x100>;
78637a0c600SAndreas Färber			clocks = <&cru PCLK_GPIO0>;
78737a0c600SAndreas Färber			interrupts = <GIC_SPI 0x51 IRQ_TYPE_LEVEL_HIGH>;
78837a0c600SAndreas Färber
78937a0c600SAndreas Färber			gpio-controller;
79037a0c600SAndreas Färber			#gpio-cells = <0x2>;
79137a0c600SAndreas Färber
79237a0c600SAndreas Färber			interrupt-controller;
79337a0c600SAndreas Färber			#interrupt-cells = <0x2>;
79437a0c600SAndreas Färber		};
79537a0c600SAndreas Färber
79637a0c600SAndreas Färber		gpio1: gpio1@ff780000 {
79737a0c600SAndreas Färber			compatible = "rockchip,gpio-bank";
79837a0c600SAndreas Färber			reg = <0x0 0xff780000 0x0 0x100>;
79937a0c600SAndreas Färber			clocks = <&cru PCLK_GPIO1>;
80037a0c600SAndreas Färber			interrupts = <GIC_SPI 0x52 IRQ_TYPE_LEVEL_HIGH>;
80137a0c600SAndreas Färber
80237a0c600SAndreas Färber			gpio-controller;
80337a0c600SAndreas Färber			#gpio-cells = <0x2>;
80437a0c600SAndreas Färber
80537a0c600SAndreas Färber			interrupt-controller;
80637a0c600SAndreas Färber			#interrupt-cells = <0x2>;
80737a0c600SAndreas Färber		};
80837a0c600SAndreas Färber
80937a0c600SAndreas Färber		gpio2: gpio2@ff790000 {
81037a0c600SAndreas Färber			compatible = "rockchip,gpio-bank";
81137a0c600SAndreas Färber			reg = <0x0 0xff790000 0x0 0x100>;
81237a0c600SAndreas Färber			clocks = <&cru PCLK_GPIO2>;
81337a0c600SAndreas Färber			interrupts = <GIC_SPI 0x53 IRQ_TYPE_LEVEL_HIGH>;
81437a0c600SAndreas Färber
81537a0c600SAndreas Färber			gpio-controller;
81637a0c600SAndreas Färber			#gpio-cells = <0x2>;
81737a0c600SAndreas Färber
81837a0c600SAndreas Färber			interrupt-controller;
81937a0c600SAndreas Färber			#interrupt-cells = <0x2>;
82037a0c600SAndreas Färber		};
82137a0c600SAndreas Färber
82237a0c600SAndreas Färber		gpio3: gpio3@ff7a0000 {
82337a0c600SAndreas Färber			compatible = "rockchip,gpio-bank";
82437a0c600SAndreas Färber			reg = <0x0 0xff7a0000 0x0 0x100>;
82537a0c600SAndreas Färber			clocks = <&cru PCLK_GPIO3>;
82637a0c600SAndreas Färber			interrupts = <GIC_SPI 0x54 IRQ_TYPE_LEVEL_HIGH>;
82737a0c600SAndreas Färber
82837a0c600SAndreas Färber			gpio-controller;
82937a0c600SAndreas Färber			#gpio-cells = <0x2>;
83037a0c600SAndreas Färber
83137a0c600SAndreas Färber			interrupt-controller;
83237a0c600SAndreas Färber			#interrupt-cells = <0x2>;
83337a0c600SAndreas Färber		};
83437a0c600SAndreas Färber
83537a0c600SAndreas Färber		pcfg_pull_up: pcfg-pull-up {
83637a0c600SAndreas Färber			bias-pull-up;
83737a0c600SAndreas Färber		};
83837a0c600SAndreas Färber
83937a0c600SAndreas Färber		pcfg_pull_down: pcfg-pull-down {
84037a0c600SAndreas Färber			bias-pull-down;
84137a0c600SAndreas Färber		};
84237a0c600SAndreas Färber
84337a0c600SAndreas Färber		pcfg_pull_none: pcfg-pull-none {
84437a0c600SAndreas Färber			bias-disable;
84537a0c600SAndreas Färber		};
84637a0c600SAndreas Färber
84737a0c600SAndreas Färber		pcfg_pull_none_12ma: pcfg-pull-none-12ma {
84837a0c600SAndreas Färber			bias-disable;
84937a0c600SAndreas Färber			drive-strength = <12>;
85037a0c600SAndreas Färber		};
85137a0c600SAndreas Färber
85237a0c600SAndreas Färber		emmc {
85337a0c600SAndreas Färber			emmc_clk: emmc-clk {
85437a0c600SAndreas Färber				rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
85537a0c600SAndreas Färber			};
85637a0c600SAndreas Färber
85737a0c600SAndreas Färber			emmc_cmd: emmc-cmd {
85837a0c600SAndreas Färber				rockchip,pins = <1 26 RK_FUNC_2 &pcfg_pull_up>;
85937a0c600SAndreas Färber			};
86037a0c600SAndreas Färber
86137a0c600SAndreas Färber			emmc_pwr: emmc-pwr {
86237a0c600SAndreas Färber				rockchip,pins = <1 27 RK_FUNC_2 &pcfg_pull_up>;
86337a0c600SAndreas Färber			};
86437a0c600SAndreas Färber
86537a0c600SAndreas Färber			emmc_bus1: emmc-bus1 {
86637a0c600SAndreas Färber				rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up>;
86737a0c600SAndreas Färber			};
86837a0c600SAndreas Färber
86937a0c600SAndreas Färber			emmc_bus4: emmc-bus4 {
87037a0c600SAndreas Färber				rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up>,
87137a0c600SAndreas Färber						<1 19 RK_FUNC_2 &pcfg_pull_up>,
87237a0c600SAndreas Färber						<1 20 RK_FUNC_2 &pcfg_pull_up>,
87337a0c600SAndreas Färber						<1 21 RK_FUNC_2 &pcfg_pull_up>;
87437a0c600SAndreas Färber			};
87537a0c600SAndreas Färber
87637a0c600SAndreas Färber			emmc_bus8: emmc-bus8 {
87737a0c600SAndreas Färber				rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up>,
87837a0c600SAndreas Färber						<1 19 RK_FUNC_2 &pcfg_pull_up>,
87937a0c600SAndreas Färber						<1 20 RK_FUNC_2 &pcfg_pull_up>,
88037a0c600SAndreas Färber						<1 21 RK_FUNC_2 &pcfg_pull_up>,
88137a0c600SAndreas Färber						<1 22 RK_FUNC_2 &pcfg_pull_up>,
88237a0c600SAndreas Färber						<1 23 RK_FUNC_2 &pcfg_pull_up>,
88337a0c600SAndreas Färber						<1 24 RK_FUNC_2 &pcfg_pull_up>,
88437a0c600SAndreas Färber						<1 25 RK_FUNC_2 &pcfg_pull_up>;
88537a0c600SAndreas Färber			};
88637a0c600SAndreas Färber		};
88737a0c600SAndreas Färber
88837a0c600SAndreas Färber		gmac {
88937a0c600SAndreas Färber			rgmii_pins: rgmii-pins {
89037a0c600SAndreas Färber				rockchip,pins =	<3 22 RK_FUNC_1 &pcfg_pull_none>,
89137a0c600SAndreas Färber						<3 24 RK_FUNC_1 &pcfg_pull_none>,
89237a0c600SAndreas Färber						<3 19 RK_FUNC_1 &pcfg_pull_none>,
89337a0c600SAndreas Färber						<3 8 RK_FUNC_1 &pcfg_pull_none_12ma>,
89437a0c600SAndreas Färber						<3 9 RK_FUNC_1 &pcfg_pull_none_12ma>,
89537a0c600SAndreas Färber						<3 10 RK_FUNC_1 &pcfg_pull_none_12ma>,
89637a0c600SAndreas Färber						<3 14 RK_FUNC_1 &pcfg_pull_none_12ma>,
89737a0c600SAndreas Färber						<3 28 RK_FUNC_1 &pcfg_pull_none_12ma>,
89837a0c600SAndreas Färber						<3 13 RK_FUNC_1 &pcfg_pull_none_12ma>,
89937a0c600SAndreas Färber						<3 15 RK_FUNC_1 &pcfg_pull_none>,
90037a0c600SAndreas Färber						<3 16 RK_FUNC_1 &pcfg_pull_none>,
90137a0c600SAndreas Färber						<3 17 RK_FUNC_1 &pcfg_pull_none>,
90237a0c600SAndreas Färber						<3 18 RK_FUNC_1 &pcfg_pull_none>,
90337a0c600SAndreas Färber						<3 25 RK_FUNC_1 &pcfg_pull_none>,
90437a0c600SAndreas Färber						<3 20 RK_FUNC_1 &pcfg_pull_none>;
90537a0c600SAndreas Färber			};
90637a0c600SAndreas Färber
90737a0c600SAndreas Färber			rmii_pins: rmii-pins {
90837a0c600SAndreas Färber				rockchip,pins =	<3 22 RK_FUNC_1 &pcfg_pull_none>,
90937a0c600SAndreas Färber						<3 24 RK_FUNC_1 &pcfg_pull_none>,
91037a0c600SAndreas Färber						<3 19 RK_FUNC_1 &pcfg_pull_none>,
91137a0c600SAndreas Färber						<3 8 RK_FUNC_1 &pcfg_pull_none_12ma>,
91237a0c600SAndreas Färber						<3 9 RK_FUNC_1 &pcfg_pull_none_12ma>,
91337a0c600SAndreas Färber						<3 13 RK_FUNC_1 &pcfg_pull_none_12ma>,
91437a0c600SAndreas Färber						<3 15 RK_FUNC_1 &pcfg_pull_none>,
91537a0c600SAndreas Färber						<3 16 RK_FUNC_1 &pcfg_pull_none>,
91637a0c600SAndreas Färber						<3 20 RK_FUNC_1 &pcfg_pull_none>,
91737a0c600SAndreas Färber						<3 21 RK_FUNC_1 &pcfg_pull_none>;
91837a0c600SAndreas Färber			};
91937a0c600SAndreas Färber		};
92037a0c600SAndreas Färber
92137a0c600SAndreas Färber		i2c0 {
92237a0c600SAndreas Färber			i2c0_xfer: i2c0-xfer {
92337a0c600SAndreas Färber				rockchip,pins = <0 6 RK_FUNC_1 &pcfg_pull_none>,
92437a0c600SAndreas Färber						<0 7 RK_FUNC_1 &pcfg_pull_none>;
92537a0c600SAndreas Färber			};
92637a0c600SAndreas Färber		};
92737a0c600SAndreas Färber
92837a0c600SAndreas Färber		i2c1 {
92937a0c600SAndreas Färber			i2c1_xfer: i2c1-xfer {
93037a0c600SAndreas Färber				rockchip,pins = <2 21 RK_FUNC_1 &pcfg_pull_none>,
93137a0c600SAndreas Färber						<2 22 RK_FUNC_1 &pcfg_pull_none>;
93237a0c600SAndreas Färber			};
93337a0c600SAndreas Färber		};
93437a0c600SAndreas Färber
93537a0c600SAndreas Färber		i2c2 {
93637a0c600SAndreas Färber			i2c2_xfer: i2c2-xfer {
93737a0c600SAndreas Färber				rockchip,pins = <0 9 RK_FUNC_2 &pcfg_pull_none>,
93837a0c600SAndreas Färber						<3 31 RK_FUNC_2 &pcfg_pull_none>;
93937a0c600SAndreas Färber			};
94037a0c600SAndreas Färber		};
94137a0c600SAndreas Färber
94237a0c600SAndreas Färber		i2c3 {
94337a0c600SAndreas Färber			i2c3_xfer: i2c3-xfer {
94437a0c600SAndreas Färber				rockchip,pins = <1 16 RK_FUNC_1 &pcfg_pull_none>,
94537a0c600SAndreas Färber						<1 17 RK_FUNC_1 &pcfg_pull_none>;
94637a0c600SAndreas Färber			};
94737a0c600SAndreas Färber		};
94837a0c600SAndreas Färber
94937a0c600SAndreas Färber		i2c4 {
95037a0c600SAndreas Färber			i2c4_xfer: i2c4-xfer {
95137a0c600SAndreas Färber				rockchip,pins = <3 24 RK_FUNC_2 &pcfg_pull_none>,
95237a0c600SAndreas Färber						<3 25 RK_FUNC_2 &pcfg_pull_none>;
95337a0c600SAndreas Färber			};
95437a0c600SAndreas Färber		};
95537a0c600SAndreas Färber
95637a0c600SAndreas Färber		i2c5 {
95737a0c600SAndreas Färber			i2c5_xfer: i2c5-xfer {
95837a0c600SAndreas Färber				rockchip,pins = <3 26 RK_FUNC_2 &pcfg_pull_none>,
95937a0c600SAndreas Färber						<3 27 RK_FUNC_2 &pcfg_pull_none>;
96037a0c600SAndreas Färber			};
96137a0c600SAndreas Färber		};
96237a0c600SAndreas Färber
96337a0c600SAndreas Färber		pwm0 {
96437a0c600SAndreas Färber			pwm0_pin: pwm0-pin {
96537a0c600SAndreas Färber				rockchip,pins = <3 8 RK_FUNC_2 &pcfg_pull_none>;
96637a0c600SAndreas Färber			};
96737a0c600SAndreas Färber		};
96837a0c600SAndreas Färber
96937a0c600SAndreas Färber		pwm1 {
97037a0c600SAndreas Färber			pwm1_pin: pwm1-pin {
97137a0c600SAndreas Färber				rockchip,pins = <0 8 RK_FUNC_2 &pcfg_pull_none>;
97237a0c600SAndreas Färber			};
97337a0c600SAndreas Färber		};
97437a0c600SAndreas Färber
97537a0c600SAndreas Färber		pwm3 {
97637a0c600SAndreas Färber			pwm3_pin: pwm3-pin {
97737a0c600SAndreas Färber				rockchip,pins = <3 29 RK_FUNC_3 &pcfg_pull_none>;
97837a0c600SAndreas Färber			};
97937a0c600SAndreas Färber		};
98037a0c600SAndreas Färber
98137a0c600SAndreas Färber		sdio0 {
98237a0c600SAndreas Färber			sdio0_bus1: sdio0-bus1 {
98337a0c600SAndreas Färber				rockchip,pins = <2 28 RK_FUNC_1 &pcfg_pull_up>;
98437a0c600SAndreas Färber			};
98537a0c600SAndreas Färber
98637a0c600SAndreas Färber			sdio0_bus4: sdio0-bus4 {
98737a0c600SAndreas Färber				rockchip,pins = <2 28 RK_FUNC_1 &pcfg_pull_up>,
98837a0c600SAndreas Färber						<2 29 RK_FUNC_1 &pcfg_pull_up>,
98937a0c600SAndreas Färber						<2 30 RK_FUNC_1 &pcfg_pull_up>,
99037a0c600SAndreas Färber						<2 31 RK_FUNC_1 &pcfg_pull_up>;
99137a0c600SAndreas Färber			};
99237a0c600SAndreas Färber
99337a0c600SAndreas Färber			sdio0_cmd: sdio0-cmd {
99437a0c600SAndreas Färber				rockchip,pins = <3 0 RK_FUNC_1 &pcfg_pull_up>;
99537a0c600SAndreas Färber			};
99637a0c600SAndreas Färber
99737a0c600SAndreas Färber			sdio0_clk: sdio0-clk {
99837a0c600SAndreas Färber				rockchip,pins = <3 1 RK_FUNC_1 &pcfg_pull_none>;
99937a0c600SAndreas Färber			};
100037a0c600SAndreas Färber
100137a0c600SAndreas Färber			sdio0_cd: sdio0-cd {
100237a0c600SAndreas Färber				rockchip,pins = <3 2 RK_FUNC_1 &pcfg_pull_up>;
100337a0c600SAndreas Färber			};
100437a0c600SAndreas Färber
100537a0c600SAndreas Färber			sdio0_wp: sdio0-wp {
100637a0c600SAndreas Färber				rockchip,pins = <3 3 RK_FUNC_1 &pcfg_pull_up>;
100737a0c600SAndreas Färber			};
100837a0c600SAndreas Färber
100937a0c600SAndreas Färber			sdio0_pwr: sdio0-pwr {
101037a0c600SAndreas Färber				rockchip,pins = <3 4 RK_FUNC_1 &pcfg_pull_up>;
101137a0c600SAndreas Färber			};
101237a0c600SAndreas Färber
101337a0c600SAndreas Färber			sdio0_bkpwr: sdio0-bkpwr {
101437a0c600SAndreas Färber				rockchip,pins = <3 5 RK_FUNC_1 &pcfg_pull_up>;
101537a0c600SAndreas Färber			};
101637a0c600SAndreas Färber
101737a0c600SAndreas Färber			sdio0_int: sdio0-int {
101837a0c600SAndreas Färber				rockchip,pins = <3 6 RK_FUNC_1 &pcfg_pull_up>;
101937a0c600SAndreas Färber			};
102037a0c600SAndreas Färber		};
102137a0c600SAndreas Färber
102237a0c600SAndreas Färber		sdmmc {
102337a0c600SAndreas Färber			sdmmc_clk: sdmmc-clk {
102437a0c600SAndreas Färber				rockchip,pins = <2 9 RK_FUNC_1 &pcfg_pull_none>;
102537a0c600SAndreas Färber			};
102637a0c600SAndreas Färber
102737a0c600SAndreas Färber			sdmmc_cmd: sdmmc-cmd {
102837a0c600SAndreas Färber				rockchip,pins = <2 10 RK_FUNC_1 &pcfg_pull_up>;
102937a0c600SAndreas Färber			};
103037a0c600SAndreas Färber
103137a0c600SAndreas Färber			sdmmc_cd: sdmmc-cd {
103237a0c600SAndreas Färber				rockchip,pins = <2 11 RK_FUNC_1 &pcfg_pull_up>;
103337a0c600SAndreas Färber			};
103437a0c600SAndreas Färber
103537a0c600SAndreas Färber			sdmmc_bus1: sdmmc-bus1 {
103637a0c600SAndreas Färber				rockchip,pins = <2 5 RK_FUNC_1 &pcfg_pull_up>;
103737a0c600SAndreas Färber			};
103837a0c600SAndreas Färber
103937a0c600SAndreas Färber			sdmmc_bus4: sdmmc-bus4 {
104037a0c600SAndreas Färber				rockchip,pins = <2 5 RK_FUNC_1 &pcfg_pull_up>,
104137a0c600SAndreas Färber						<2 6 RK_FUNC_1 &pcfg_pull_up>,
104237a0c600SAndreas Färber						<2 7 RK_FUNC_1 &pcfg_pull_up>,
104337a0c600SAndreas Färber						<2 8 RK_FUNC_1 &pcfg_pull_up>;
104437a0c600SAndreas Färber			};
104537a0c600SAndreas Färber		};
104637a0c600SAndreas Färber
104737a0c600SAndreas Färber		spi0 {
104837a0c600SAndreas Färber			spi0_clk: spi0-clk {
104937a0c600SAndreas Färber				rockchip,pins = <1 29 RK_FUNC_2 &pcfg_pull_up>;
105037a0c600SAndreas Färber			};
105137a0c600SAndreas Färber			spi0_cs0: spi0-cs0 {
105237a0c600SAndreas Färber				rockchip,pins = <1 24 RK_FUNC_3 &pcfg_pull_up>;
105337a0c600SAndreas Färber			};
105437a0c600SAndreas Färber			spi0_cs1: spi0-cs1 {
105537a0c600SAndreas Färber				rockchip,pins = <1 25 RK_FUNC_3 &pcfg_pull_up>;
105637a0c600SAndreas Färber			};
105737a0c600SAndreas Färber			spi0_tx: spi0-tx {
105837a0c600SAndreas Färber				rockchip,pins = <1 23 RK_FUNC_3 &pcfg_pull_up>;
105937a0c600SAndreas Färber			};
106037a0c600SAndreas Färber			spi0_rx: spi0-rx {
106137a0c600SAndreas Färber				rockchip,pins = <1 22 RK_FUNC_3 &pcfg_pull_up>;
106237a0c600SAndreas Färber			};
106337a0c600SAndreas Färber		};
106437a0c600SAndreas Färber
106537a0c600SAndreas Färber		spi1 {
106637a0c600SAndreas Färber			spi1_clk: spi1-clk {
106737a0c600SAndreas Färber				rockchip,pins = <1 14 RK_FUNC_2 &pcfg_pull_up>;
106837a0c600SAndreas Färber			};
106937a0c600SAndreas Färber			spi1_cs0: spi1-cs0 {
107037a0c600SAndreas Färber				rockchip,pins = <1 15 RK_FUNC_2 &pcfg_pull_up>;
107137a0c600SAndreas Färber			};
107237a0c600SAndreas Färber			spi1_cs1: spi1-cs1 {
107337a0c600SAndreas Färber				rockchip,pins = <3 28 RK_FUNC_2 &pcfg_pull_up>;
107437a0c600SAndreas Färber			};
107537a0c600SAndreas Färber			spi1_rx: spi1-rx {
107637a0c600SAndreas Färber				rockchip,pins = <1 16 RK_FUNC_2 &pcfg_pull_up>;
107737a0c600SAndreas Färber			};
107837a0c600SAndreas Färber			spi1_tx: spi1-tx {
107937a0c600SAndreas Färber				rockchip,pins = <1 17 RK_FUNC_2 &pcfg_pull_up>;
108037a0c600SAndreas Färber			};
108137a0c600SAndreas Färber		};
108237a0c600SAndreas Färber
108337a0c600SAndreas Färber		spi2 {
108437a0c600SAndreas Färber			spi2_clk: spi2-clk {
108537a0c600SAndreas Färber				rockchip,pins = <0 12 RK_FUNC_2 &pcfg_pull_up>;
108637a0c600SAndreas Färber			};
108737a0c600SAndreas Färber			spi2_cs0: spi2-cs0 {
108837a0c600SAndreas Färber				rockchip,pins = <0 13 RK_FUNC_2 &pcfg_pull_up>;
108937a0c600SAndreas Färber			};
109037a0c600SAndreas Färber			spi2_rx: spi2-rx {
109137a0c600SAndreas Färber				rockchip,pins = <0 10 RK_FUNC_2 &pcfg_pull_up>;
109237a0c600SAndreas Färber			};
109337a0c600SAndreas Färber			spi2_tx: spi2-tx {
109437a0c600SAndreas Färber				rockchip,pins = <0 11 RK_FUNC_2 &pcfg_pull_up>;
109537a0c600SAndreas Färber			};
109637a0c600SAndreas Färber		};
109737a0c600SAndreas Färber
109837a0c600SAndreas Färber		tsadc {
109937a0c600SAndreas Färber			otp_gpio: otp-gpio {
110037a0c600SAndreas Färber				rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>;
110137a0c600SAndreas Färber			};
110237a0c600SAndreas Färber
110337a0c600SAndreas Färber			otp_out: otp-out {
110437a0c600SAndreas Färber				rockchip,pins = <0 3 RK_FUNC_1 &pcfg_pull_none>;
110537a0c600SAndreas Färber			};
110637a0c600SAndreas Färber		};
110737a0c600SAndreas Färber
110837a0c600SAndreas Färber		uart0 {
110937a0c600SAndreas Färber			uart0_xfer: uart0-xfer {
111037a0c600SAndreas Färber				rockchip,pins = <2 24 RK_FUNC_1 &pcfg_pull_up>,
111137a0c600SAndreas Färber						<2 25 RK_FUNC_1 &pcfg_pull_none>;
111237a0c600SAndreas Färber			};
111337a0c600SAndreas Färber
111437a0c600SAndreas Färber			uart0_cts: uart0-cts {
111537a0c600SAndreas Färber				rockchip,pins = <2 26 RK_FUNC_1 &pcfg_pull_none>;
111637a0c600SAndreas Färber			};
111737a0c600SAndreas Färber
111837a0c600SAndreas Färber			uart0_rts: uart0-rts {
111937a0c600SAndreas Färber				rockchip,pins = <2 27 RK_FUNC_1 &pcfg_pull_none>;
112037a0c600SAndreas Färber			};
112137a0c600SAndreas Färber		};
112237a0c600SAndreas Färber
112337a0c600SAndreas Färber		uart1 {
112437a0c600SAndreas Färber			uart1_xfer: uart1-xfer {
112537a0c600SAndreas Färber				rockchip,pins = <0 20 RK_FUNC_3 &pcfg_pull_up>,
112637a0c600SAndreas Färber						<0 21 RK_FUNC_3 &pcfg_pull_none>;
112737a0c600SAndreas Färber			};
112837a0c600SAndreas Färber
112937a0c600SAndreas Färber			uart1_cts: uart1-cts {
113037a0c600SAndreas Färber				rockchip,pins = <0 22 RK_FUNC_3 &pcfg_pull_none>;
113137a0c600SAndreas Färber			};
113237a0c600SAndreas Färber
113337a0c600SAndreas Färber			uart1_rts: uart1-rts {
113437a0c600SAndreas Färber				rockchip,pins = <0 23 RK_FUNC_3 &pcfg_pull_none>;
113537a0c600SAndreas Färber			};
113637a0c600SAndreas Färber		};
113737a0c600SAndreas Färber
113837a0c600SAndreas Färber		uart2 {
113937a0c600SAndreas Färber			uart2_xfer: uart2-xfer {
114037a0c600SAndreas Färber				rockchip,pins = <2 6 RK_FUNC_2 &pcfg_pull_up>,
114137a0c600SAndreas Färber						<2 5 RK_FUNC_2 &pcfg_pull_none>;
114237a0c600SAndreas Färber			};
114337a0c600SAndreas Färber			/* no rts / cts for uart2 */
114437a0c600SAndreas Färber		};
114537a0c600SAndreas Färber
114637a0c600SAndreas Färber		uart3 {
114737a0c600SAndreas Färber			uart3_xfer: uart3-xfer {
114837a0c600SAndreas Färber				rockchip,pins = <3 29 RK_FUNC_2 &pcfg_pull_up>,
114937a0c600SAndreas Färber						<3 30 RK_FUNC_3 &pcfg_pull_none>;
115037a0c600SAndreas Färber			};
115137a0c600SAndreas Färber
115237a0c600SAndreas Färber			uart3_cts: uart3-cts {
115337a0c600SAndreas Färber				rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_none>;
115437a0c600SAndreas Färber			};
115537a0c600SAndreas Färber
115637a0c600SAndreas Färber			uart3_rts: uart3-rts {
115737a0c600SAndreas Färber				rockchip,pins = <3 17 RK_FUNC_2 &pcfg_pull_none>;
115837a0c600SAndreas Färber			};
115937a0c600SAndreas Färber		};
116037a0c600SAndreas Färber
116137a0c600SAndreas Färber		uart4 {
116237a0c600SAndreas Färber			uart4_xfer: uart4-xfer {
116337a0c600SAndreas Färber				rockchip,pins = <0 27 RK_FUNC_3 &pcfg_pull_up>,
116437a0c600SAndreas Färber						<0 26 RK_FUNC_3 &pcfg_pull_none>;
116537a0c600SAndreas Färber			};
116637a0c600SAndreas Färber
116737a0c600SAndreas Färber			uart4_cts: uart4-cts {
116837a0c600SAndreas Färber				rockchip,pins = <0 24 RK_FUNC_3 &pcfg_pull_none>;
116937a0c600SAndreas Färber			};
117037a0c600SAndreas Färber
117137a0c600SAndreas Färber			uart4_rts: uart4-rts {
117237a0c600SAndreas Färber				rockchip,pins = <0 25 RK_FUNC_3 &pcfg_pull_none>;
117337a0c600SAndreas Färber			};
117437a0c600SAndreas Färber		};
117537a0c600SAndreas Färber	};
117637a0c600SAndreas Färber};
1177