// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
 *
 */

#include <dt-bindings/clock/rk3308-cru.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/soc/rockchip,boot-mode.h>
#include <dt-bindings/thermal/thermal.h>

/ {
	compatible = "rockchip,rk3308";

	interrupt-parent = <&gic>;
	#address-cells = <2>;
	#size-cells = <2>;

	aliases {
		i2c0 = &i2c0;
		i2c1 = &i2c1;
		i2c2 = &i2c2;
		i2c3 = &i2c3;
		serial0 = &uart0;
		serial1 = &uart1;
		serial2 = &uart2;
		serial3 = &uart3;
		serial4 = &uart4;
		spi0 = &spi0;
		spi1 = &spi1;
		spi2 = &spi2;
	};

	cpus {
		#address-cells = <2>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a35", "arm,armv8";
			reg = <0x0 0x0>;
			enable-method = "psci";
			clocks = <&cru ARMCLK>;
			#cooling-cells = <2>;
			dynamic-power-coefficient = <90>;
			operating-points-v2 = <&cpu0_opp_table>;
			cpu-idle-states = <&CPU_SLEEP>;
			next-level-cache = <&l2>;
		};

		cpu1: cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a35", "arm,armv8";
			reg = <0x0 0x1>;
			enable-method = "psci";
			operating-points-v2 = <&cpu0_opp_table>;
			cpu-idle-states = <&CPU_SLEEP>;
			next-level-cache = <&l2>;
		};

		cpu2: cpu@2 {
			device_type = "cpu";
			compatible = "arm,cortex-a35", "arm,armv8";
			reg = <0x0 0x2>;
			enable-method = "psci";
			operating-points-v2 = <&cpu0_opp_table>;
			cpu-idle-states = <&CPU_SLEEP>;
			next-level-cache = <&l2>;
		};

		cpu3: cpu@3 {
			device_type = "cpu";
			compatible = "arm,cortex-a35", "arm,armv8";
			reg = <0x0 0x3>;
			enable-method = "psci";
			operating-points-v2 = <&cpu0_opp_table>;
			cpu-idle-states = <&CPU_SLEEP>;
			next-level-cache = <&l2>;
		};

		idle-states {
			entry-method = "psci";

			CPU_SLEEP: cpu-sleep {
				compatible = "arm,idle-state";
				local-timer-stop;
				arm,psci-suspend-param = <0x0010000>;
				entry-latency-us = <120>;
				exit-latency-us = <250>;
				min-residency-us = <900>;
			};
		};

		l2: l2-cache {
			compatible = "cache";
		};
	};

	cpu0_opp_table: cpu0-opp-table {
		compatible = "operating-points-v2";
		opp-shared;

		opp-408000000 {
			opp-hz = /bits/ 64 <408000000>;
			opp-microvolt = <950000 950000 1340000>;
			clock-latency-ns = <40000>;
			opp-suspend;
		};
		opp-600000000 {
			opp-hz = /bits/ 64 <600000000>;
			opp-microvolt = <950000 950000 1340000>;
			clock-latency-ns = <40000>;
		};
		opp-816000000 {
			opp-hz = /bits/ 64 <816000000>;
			opp-microvolt = <1025000 1025000 1340000>;
			clock-latency-ns = <40000>;
		};
		opp-1008000000 {
			opp-hz = /bits/ 64 <1008000000>;
			opp-microvolt = <1125000 1125000 1340000>;
			clock-latency-ns = <40000>;
		};
	};

	arm-pmu {
		compatible = "arm,cortex-a53-pmu";
		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
	};

	mac_clkin: external-mac-clock {
		compatible = "fixed-clock";
		clock-frequency = <50000000>;
		clock-output-names = "mac_clkin";
		#clock-cells = <0>;
	};

	psci {
		compatible = "arm,psci-1.0";
		method = "smc";
	};

	timer {
		compatible = "arm,armv8-timer";
		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
	};

	xin24m: xin24m {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <24000000>;
		clock-output-names = "xin24m";
	};

	grf: grf@ff000000 {
		compatible = "rockchip,rk3308-grf", "syscon", "simple-mfd";
		reg = <0x0 0xff000000 0x0 0x10000>;

		reboot-mode {
			compatible = "syscon-reboot-mode";
			offset = <0x500>;
			mode-bootloader = <BOOT_BL_DOWNLOAD>;
			mode-loader = <BOOT_BL_DOWNLOAD>;
			mode-normal = <BOOT_NORMAL>;
			mode-recovery = <BOOT_RECOVERY>;
			mode-fastboot = <BOOT_FASTBOOT>;
		};
	};

	detect_grf: syscon@ff00b000 {
		compatible = "rockchip,rk3308-detect-grf", "syscon", "simple-mfd";
		reg = <0x0 0xff00b000 0x0 0x1000>;
		#address-cells = <1>;
		#size-cells = <1>;
	};

	core_grf: syscon@ff00c000 {
		compatible = "rockchip,rk3308-core-grf", "syscon", "simple-mfd";
		reg = <0x0 0xff00c000 0x0 0x1000>;
		#address-cells = <1>;
		#size-cells = <1>;
	};

	i2c0: i2c@ff040000 {
		compatible = "rockchip,rk3308-i2c", "rockchip,rk3399-i2c";
		reg = <0x0 0xff040000 0x0 0x1000>;
		clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>;
		clock-names = "i2c", "pclk";
		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&i2c0_xfer>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c1: i2c@ff050000 {
		compatible = "rockchip,rk3308-i2c", "rockchip,rk3399-i2c";
		reg = <0x0 0xff050000 0x0 0x1000>;
		clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
		clock-names = "i2c", "pclk";
		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&i2c1_xfer>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c2: i2c@ff060000 {
		compatible = "rockchip,rk3308-i2c", "rockchip,rk3399-i2c";
		reg = <0x0 0xff060000 0x0 0x1000>;
		clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
		clock-names = "i2c", "pclk";
		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&i2c2_xfer>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c3: i2c@ff070000 {
		compatible = "rockchip,rk3308-i2c", "rockchip,rk3399-i2c";
		reg = <0x0 0xff070000 0x0 0x1000>;
		clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
		clock-names = "i2c", "pclk";
		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&i2c3m0_xfer>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	wdt: watchdog@ff080000 {
		compatible = "snps,dw-wdt";
		reg = <0x0 0xff080000 0x0 0x100>;
		clocks = <&cru PCLK_WDT>;
		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
		status = "disabled";
	};

	uart0: serial@ff0a0000 {
		compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff0a0000 0x0 0x100>;
		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
		clock-names = "baudclk", "apb_pclk";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
		status = "disabled";
	};

	uart1: serial@ff0b0000 {
		compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff0b0000 0x0 0x100>;
		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
		clock-names = "baudclk", "apb_pclk";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
		status = "disabled";
	};

	uart2: serial@ff0c0000 {
		compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff0c0000 0x0 0x100>;
		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
		clock-names = "baudclk", "apb_pclk";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart2m0_xfer>;
		status = "disabled";
	};

	uart3: serial@ff0d0000 {
		compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff0d0000 0x0 0x100>;
		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
		clock-names = "baudclk", "apb_pclk";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart3_xfer>;
		status = "disabled";
	};

	uart4: serial@ff0e0000 {
		compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff0e0000 0x0 0x100>;
		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
		clock-names = "baudclk", "apb_pclk";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart4_xfer &uart4_cts &uart4_rts>;
		status = "disabled";
	};

	spi0: spi@ff120000 {
		compatible = "rockchip,rk3308-spi", "rockchip,rk3066-spi";
		reg = <0x0 0xff120000 0x0 0x1000>;
		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
		#address-cells = <1>;
		#size-cells = <0>;
		clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
		clock-names = "spiclk", "apb_pclk";
		dmas = <&dmac0 0>, <&dmac0 1>;
		dma-names = "tx", "rx";
		pinctrl-names = "default";
		pinctrl-0 = <&spi0_clk &spi0_csn0 &spi0_miso &spi0_mosi>;
		status = "disabled";
	};

	spi1: spi@ff130000 {
		compatible = "rockchip,rk3308-spi", "rockchip,rk3066-spi";
		reg = <0x0 0xff130000 0x0 0x1000>;
		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
		#address-cells = <1>;
		#size-cells = <0>;
		clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
		clock-names = "spiclk", "apb_pclk";
		dmas = <&dmac0 2>, <&dmac0 3>;
		dma-names = "tx", "rx";
		pinctrl-names = "default";
		pinctrl-0 = <&spi1_clk &spi1_csn0 &spi1_miso &spi1_mosi>;
		status = "disabled";
	};

	spi2: spi@ff140000 {
		compatible = "rockchip,rk3308-spi", "rockchip,rk3066-spi";
		reg = <0x0 0xff140000 0x0 0x1000>;
		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
		#address-cells = <1>;
		#size-cells = <0>;
		clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
		clock-names = "spiclk", "apb_pclk";
		dmas = <&dmac1 16>, <&dmac1 17>;
		dma-names = "tx", "rx";
		pinctrl-names = "default";
		pinctrl-0 = <&spi2_clk &spi2_csn0 &spi2_miso &spi2_mosi>;
		status = "disabled";
	};

	pwm8: pwm@ff160000 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff160000 0x0 0x10>;
		clocks = <&cru SCLK_PWM2>, <&cru PCLK_PWM2>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm8_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm9: pwm@ff160010 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff160010 0x0 0x10>;
		clocks = <&cru SCLK_PWM2>, <&cru PCLK_PWM2>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm9_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm10: pwm@ff160020 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff160020 0x0 0x10>;
		clocks = <&cru SCLK_PWM2>, <&cru PCLK_PWM2>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm10_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm11: pwm@ff160030 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff160030 0x0 0x10>;
		clocks = <&cru SCLK_PWM2>, <&cru PCLK_PWM2>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm11_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm4: pwm@ff170000 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff170000 0x0 0x10>;
		clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm4_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm5: pwm@ff170010 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff170010 0x0 0x10>;
		clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm5_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm6: pwm@ff170020 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff170020 0x0 0x10>;
		clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm6_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm7: pwm@ff170030 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff170030 0x0 0x10>;
		clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm7_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm0: pwm@ff180000 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff180000 0x0 0x10>;
		clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm0_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm1: pwm@ff180010 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff180010 0x0 0x10>;
		clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm1_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm2: pwm@ff180020 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff180020 0x0 0x10>;
		clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm2_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	pwm3: pwm@ff180030 {
		compatible = "rockchip,rk3308-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff180030 0x0 0x10>;
		clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
		clock-names = "pwm", "pclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm3_pin>;
		#pwm-cells = <3>;
		status = "disabled";
	};

	rktimer: rktimer@ff1a0000 {
		compatible = "rockchip,rk3288-timer";
		reg = <0x0 0xff1a0000 0x0 0x20>;
		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER0>;
		clock-names = "pclk", "timer";
	};

	saradc: saradc@ff1e0000 {
		compatible = "rockchip,rk3308-saradc", "rockchip,rk3399-saradc";
		reg = <0x0 0xff1e0000 0x0 0x100>;
		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
		clock-names = "saradc", "apb_pclk";
		#io-channel-cells = <1>;
		resets = <&cru SRST_SARADC_P>;
		reset-names = "saradc-apb";
		status = "disabled";
	};

	amba {
		compatible = "simple-bus";
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		dmac0: dma-controller@ff2c0000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x0 0xff2c0000 0x0 0x4000>;
			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru ACLK_DMAC0>;
			clock-names = "apb_pclk";
			#dma-cells = <1>;
		};

		dmac1: dma-controller@ff2d0000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x0 0xff2d0000 0x0 0x4000>;
			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru ACLK_DMAC1>;
			clock-names = "apb_pclk";
			#dma-cells = <1>;
		};
	};

	i2s_2ch_0: i2s@ff350000 {
		compatible = "rockchip,rk3308-i2s", "rockchip,rk3066-i2s";
		reg = <0x0 0xff350000 0x0 0x1000>;
		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_I2S0_2CH>, <&cru HCLK_I2S0_2CH>;
		clock-names = "i2s_clk", "i2s_hclk";
		dmas = <&dmac1 8>, <&dmac1 9>;
		dma-names = "tx", "rx";
		resets = <&cru SRST_I2S0_2CH_M>, <&cru SRST_I2S0_2CH_H>;
		reset-names = "reset-m", "reset-h";
		pinctrl-names = "default";
		pinctrl-0 = <&i2s_2ch_0_sclk
			     &i2s_2ch_0_lrck
			     &i2s_2ch_0_sdi
			     &i2s_2ch_0_sdo>;
		status = "disabled";
	};

	i2s_2ch_1: i2s@ff360000 {
		compatible = "rockchip,rk3308-i2s", "rockchip,rk3066-i2s";
		reg = <0x0 0xff360000 0x0 0x1000>;
		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_I2S1_2CH>, <&cru HCLK_I2S1_2CH>;
		clock-names = "i2s_clk", "i2s_hclk";
		dmas = <&dmac1 11>;
		dma-names = "rx";
		resets = <&cru SRST_I2S1_2CH_M>, <&cru SRST_I2S1_2CH_H>;
		reset-names = "reset-m", "reset-h";
		status = "disabled";
	};

	spdif_tx: spdif-tx@ff3a0000 {
		compatible = "rockchip,rk3308-spdif", "rockchip,rk3328-spdif";
		reg = <0x0 0xff3a0000 0x0 0x1000>;
		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_SPDIF_TX>, <&cru HCLK_SPDIFTX>;
		clock-names = "mclk", "hclk";
		dmas = <&dmac1 13>;
		dma-names = "tx";
		pinctrl-names = "default";
		pinctrl-0 = <&spdif_out>;
		status = "disabled";
	};

	sdmmc: dwmmc@ff480000 {
		compatible = "rockchip,rk3308-dw-mshc", "rockchip,rk3288-dw-mshc";
		reg = <0x0 0xff480000 0x0 0x4000>;
		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
		bus-width = <4>;
		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
		clock-names = "biu", "ciu", "ciu-drv", "ciu-sample";
		fifo-depth = <0x100>;
		max-frequency = <150000000>;
		pinctrl-names = "default";
		pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
		status = "disabled";
	};

	emmc: dwmmc@ff490000 {
		compatible = "rockchip,rk3308-dw-mshc", "rockchip,rk3288-dw-mshc";
		reg = <0x0 0xff490000 0x0 0x4000>;
		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
		bus-width = <8>;
		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
		clock-names = "biu", "ciu", "ciu-drv", "ciu-sample";
		fifo-depth = <0x100>;
		max-frequency = <150000000>;
		status = "disabled";
	};

	sdio: dwmmc@ff4a0000 {
		compatible = "rockchip,rk3308-dw-mshc", "rockchip,rk3288-dw-mshc";
		reg = <0x0 0xff4a0000 0x0 0x4000>;
		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
		bus-width = <4>;
		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
		clock-names = "biu", "ciu", "ciu-drv", "ciu-sample";
		fifo-depth = <0x100>;
		max-frequency = <150000000>;
		pinctrl-names = "default";
		pinctrl-0 = <&sdio_bus4 &sdio_cmd &sdio_clk>;
		status = "disabled";
	};

	cru: clock-controller@ff500000 {
		compatible = "rockchip,rk3308-cru";
		reg = <0x0 0xff500000 0x0 0x1000>;
		#clock-cells = <1>;
		#reset-cells = <1>;
		rockchip,grf = <&grf>;

		assigned-clocks = <&cru SCLK_RTC32K>;
		assigned-clock-rates = <32768>;
	};

	gic: interrupt-controller@ff580000 {
		compatible = "arm,gic-400";
		reg = <0x0 0xff581000 0x0 0x1000>,
		      <0x0 0xff582000 0x0 0x2000>,
		      <0x0 0xff584000 0x0 0x2000>,
		      <0x0 0xff586000 0x0 0x2000>;
		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
		#interrupt-cells = <3>;
		interrupt-controller;
		#address-cells = <0>;
	};

	sram: sram@fff80000 {
		compatible = "mmio-sram";
		reg = <0x0 0xfff80000 0x0 0x40000>;
		ranges = <0 0x0 0xfff80000 0x40000>;
		#address-cells = <1>;
		#size-cells = <1>;

		/* reserved for ddr dvfs and system suspend/resume */
		ddr-sram@0 {
			reg = <0x0 0x8000>;
		};

		/* reserved for vad audio buffer */
		vad_sram: vad-sram@8000 {
			reg = <0x8000 0x38000>;
		};
	};

	pinctrl: pinctrl {
		compatible = "rockchip,rk3308-pinctrl";
		rockchip,grf = <&grf>;
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		gpio0: gpio0@ff220000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x0 0xff220000 0x0 0x100>;
			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru PCLK_GPIO0>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		gpio1: gpio1@ff230000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x0 0xff230000 0x0 0x100>;
			interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru PCLK_GPIO1>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		gpio2: gpio2@ff240000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x0 0xff240000 0x0 0x100>;
			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru PCLK_GPIO2>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		gpio3: gpio3@ff250000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x0 0xff250000 0x0 0x100>;
			interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru PCLK_GPIO3>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		gpio4: gpio4@ff260000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x0 0xff260000 0x0 0x100>;
			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru PCLK_GPIO4>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		pcfg_pull_up: pcfg-pull-up {
			bias-pull-up;
		};

		pcfg_pull_down: pcfg-pull-down {
			bias-pull-down;
		};

		pcfg_pull_none: pcfg-pull-none {
			bias-disable;
		};

		pcfg_pull_none_2ma: pcfg-pull-none-2ma {
			bias-disable;
			drive-strength = <2>;
		};

		pcfg_pull_up_2ma: pcfg-pull-up-2ma {
			bias-pull-up;
			drive-strength = <2>;
		};

		pcfg_pull_up_4ma: pcfg-pull-up-4ma {
			bias-pull-up;
			drive-strength = <4>;
		};

		pcfg_pull_none_4ma: pcfg-pull-none-4ma {
			bias-disable;
			drive-strength = <4>;
		};

		pcfg_pull_down_4ma: pcfg-pull-down-4ma {
			bias-pull-down;
			drive-strength = <4>;
		};

		pcfg_pull_none_8ma: pcfg-pull-none-8ma {
			bias-disable;
			drive-strength = <8>;
		};

		pcfg_pull_up_8ma: pcfg-pull-up-8ma {
			bias-pull-up;
			drive-strength = <8>;
		};

		pcfg_pull_none_12ma: pcfg-pull-none-12ma {
			bias-disable;
			drive-strength = <12>;
		};

		pcfg_pull_up_12ma: pcfg-pull-up-12ma {
			bias-pull-up;
			drive-strength = <12>;
		};

		pcfg_pull_none_smt: pcfg-pull-none-smt {
			bias-disable;
			input-schmitt-enable;
		};

		pcfg_output_high: pcfg-output-high {
			output-high;
		};

		pcfg_output_low: pcfg-output-low {
			output-low;
		};

		pcfg_input_high: pcfg-input-high {
			bias-pull-up;
			input-enable;
		};

		pcfg_input: pcfg-input {
			input-enable;
		};

		emmc {
			emmc_clk: emmc-clk {
				rockchip,pins =
					<3 RK_PB1 2 &pcfg_pull_none_8ma>;
			};

			emmc_cmd: emmc-cmd {
				rockchip,pins =
					<3 RK_PB0 2 &pcfg_pull_up_8ma>;
			};

			emmc_pwren: emmc-pwren {
				rockchip,pins =
					<3 RK_PB3 2 &pcfg_pull_none>;
			};

			emmc_rstn: emmc-rstn {
				rockchip,pins =
					<3 RK_PB2 2 &pcfg_pull_none>;
			};

			emmc_bus1: emmc-bus1 {
				rockchip,pins =
					<3 RK_PA0 2 &pcfg_pull_up_8ma>;
			};

			emmc_bus4: emmc-bus4 {
				rockchip,pins =
					<3 RK_PA0 2 &pcfg_pull_up_8ma>,
					<3 RK_PA1 2 &pcfg_pull_up_8ma>,
					<3 RK_PA2 2 &pcfg_pull_up_8ma>,
					<3 RK_PA3 2 &pcfg_pull_up_8ma>;
			};

			emmc_bus8: emmc-bus8 {
				rockchip,pins =
					<3 RK_PA0 2 &pcfg_pull_up_8ma>,
					<3 RK_PA1 2 &pcfg_pull_up_8ma>,
					<3 RK_PA2 2 &pcfg_pull_up_8ma>,
					<3 RK_PA3 2 &pcfg_pull_up_8ma>,
					<3 RK_PA4 2 &pcfg_pull_up_8ma>,
					<3 RK_PA5 2 &pcfg_pull_up_8ma>,
					<3 RK_PA6 2 &pcfg_pull_up_8ma>,
					<3 RK_PA7 2 &pcfg_pull_up_8ma>;
			};
		};

		flash {
			flash_csn0: flash-csn0 {
				rockchip,pins =
					<3 RK_PB5 1 &pcfg_pull_none>;
			};

			flash_rdy: flash-rdy {
				rockchip,pins =
					<3 RK_PB4 1 &pcfg_pull_none>;
			};

			flash_ale: flash-ale {
				rockchip,pins =
					<3 RK_PB3 1 &pcfg_pull_none>;
			};

			flash_cle: flash-cle {
				rockchip,pins =
					<3 RK_PB1 1 &pcfg_pull_none>;
			};

			flash_wrn: flash-wrn {
				rockchip,pins =
					<3 RK_PB0 1 &pcfg_pull_none>;
			};

			flash_rdn: flash-rdn {
				rockchip,pins =
					<3 RK_PB2 1 &pcfg_pull_none>;
			};

			flash_bus8: flash-bus8 {
				rockchip,pins =
					<3 RK_PA0 1 &pcfg_pull_up_12ma>,
					<3 RK_PA1 1 &pcfg_pull_up_12ma>,
					<3 RK_PA2 1 &pcfg_pull_up_12ma>,
					<3 RK_PA3 1 &pcfg_pull_up_12ma>,
					<3 RK_PA4 1 &pcfg_pull_up_12ma>,
					<3 RK_PA5 1 &pcfg_pull_up_12ma>,
					<3 RK_PA6 1 &pcfg_pull_up_12ma>,
					<3 RK_PA7 1 &pcfg_pull_up_12ma>;
			};
		};

		gmac {
			rmii_pins: rmii-pins {
				rockchip,pins =
					/* mac_txen */
					<1 RK_PC1 3 &pcfg_pull_none_12ma>,
					/* mac_txd1 */
					<1 RK_PC3 3 &pcfg_pull_none_12ma>,
					/* mac_txd0 */
					<1 RK_PC2 3 &pcfg_pull_none_12ma>,
					/* mac_rxd0 */
					<1 RK_PC4 3 &pcfg_pull_none>,
					/* mac_rxd1 */
					<1 RK_PC5 3 &pcfg_pull_none>,
					/* mac_rxer */
					<1 RK_PB7 3 &pcfg_pull_none>,
					/* mac_rxdv */
					<1 RK_PC0 3 &pcfg_pull_none>,
					/* mac_mdio */
					<1 RK_PB6 3 &pcfg_pull_none>,
					/* mac_mdc */
					<1 RK_PB5 3 &pcfg_pull_none>;
			};

			mac_refclk_12ma: mac-refclk-12ma {
				rockchip,pins =
					<1 RK_PB4 3 &pcfg_pull_none_12ma>;
			};

			mac_refclk: mac-refclk {
				rockchip,pins =
					<1 RK_PB4 3 &pcfg_pull_none>;
			};
		};

		gmac-m1 {
			rmiim1_pins: rmiim1-pins {
				rockchip,pins =
					/* mac_txen */
					<4 RK_PB7 2 &pcfg_pull_none_12ma>,
					/* mac_txd1 */
					<4 RK_PA5 2 &pcfg_pull_none_12ma>,
					/* mac_txd0 */
					<4 RK_PA4 2 &pcfg_pull_none_12ma>,
					/* mac_rxd0 */
					<4 RK_PA2 2 &pcfg_pull_none>,
					/* mac_rxd1 */
					<4 RK_PA3 2 &pcfg_pull_none>,
					/* mac_rxer */
					<4 RK_PA0 2 &pcfg_pull_none>,
					/* mac_rxdv */
					<4 RK_PA1 2 &pcfg_pull_none>,
					/* mac_mdio */
					<4 RK_PB6 2 &pcfg_pull_none>,
					/* mac_mdc */
					<4 RK_PB5 2 &pcfg_pull_none>;
			};

			macm1_refclk_12ma: macm1-refclk-12ma {
				rockchip,pins =
					<4 RK_PB4 2 &pcfg_pull_none_12ma>;
			};

			macm1_refclk: macm1-refclk {
				rockchip,pins =
					<4 RK_PB4 2 &pcfg_pull_none>;
			};
		};

		i2c0 {
			i2c0_xfer: i2c0-xfer {
				rockchip,pins =
					<1 RK_PD0 2 &pcfg_pull_none_smt>,
					<1 RK_PD1 2 &pcfg_pull_none_smt>;
			};
		};

		i2c1 {
			i2c1_xfer: i2c1-xfer {
				rockchip,pins =
					<0 RK_PB3 1 &pcfg_pull_none_smt>,
					<0 RK_PB4 1 &pcfg_pull_none_smt>;
			};
		};

		i2c2 {
			i2c2_xfer: i2c2-xfer {
				rockchip,pins =
					<2 RK_PA2 3 &pcfg_pull_none_smt>,
					<2 RK_PA3 3 &pcfg_pull_none_smt>;
			};
		};

		i2c3-m0 {
			i2c3m0_xfer: i2c3m0-xfer {
				rockchip,pins =
					<0 RK_PB7 2 &pcfg_pull_none_smt>,
					<0 RK_PC0 2 &pcfg_pull_none_smt>;
			};
		};

		i2c3-m1 {
			i2c3m1_xfer: i2c3m1-xfer {
				rockchip,pins =
					<3 RK_PB4 2 &pcfg_pull_none_smt>,
					<3 RK_PB5 2 &pcfg_pull_none_smt>;
			};
		};

		i2c3-m2 {
			i2c3m2_xfer: i2c3m2-xfer {
				rockchip,pins =
					<2 RK_PA1 3 &pcfg_pull_none_smt>,
					<2 RK_PA0 3 &pcfg_pull_none_smt>;
			};
		};

		i2s_2ch_0 {
			i2s_2ch_0_mclk: i2s-2ch-0-mclk {
				rockchip,pins =
					<4 RK_PB4 1 &pcfg_pull_none>;
			};

			i2s_2ch_0_sclk: i2s-2ch-0-sclk {
				rockchip,pins =
					<4 RK_PB5 1 &pcfg_pull_none>;
			};

			i2s_2ch_0_lrck: i2s-2ch-0-lrck {
				rockchip,pins =
					<4 RK_PB6 1 &pcfg_pull_none>;
			};

			i2s_2ch_0_sdo: i2s-2ch-0-sdo {
				rockchip,pins =
					<4 RK_PB7 1 &pcfg_pull_none>;
			};

			i2s_2ch_0_sdi: i2s-2ch-0-sdi {
				rockchip,pins =
					<4 RK_PC0 1 &pcfg_pull_none>;
			};
		};

		i2s_8ch_0 {
			i2s_8ch_0_mclk: i2s-8ch-0-mclk {
				rockchip,pins =
					<2 RK_PA4 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_sclktx: i2s-8ch-0-sclktx {
				rockchip,pins =
					<2 RK_PA5 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_sclkrx: i2s-8ch-0-sclkrx {
				rockchip,pins =
					<2 RK_PA6 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_lrcktx: i2s-8ch-0-lrcktx {
				rockchip,pins =
					<2 RK_PA7 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_lrckrx: i2s-8ch-0-lrckrx {
				rockchip,pins =
					<2 RK_PB0 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_sdo0: i2s-8ch-0-sdo0 {
				rockchip,pins =
					<2 RK_PB1 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_sdo1: i2s-8ch-0-sdo1 {
				rockchip,pins =
					<2 RK_PB2 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_sdo2: i2s-8ch-0-sdo2 {
				rockchip,pins =
					<2 RK_PB3 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_sdo3: i2s-8ch-0-sdo3 {
				rockchip,pins =
					<2 RK_PB4 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_sdi0: i2s-8ch-0-sdi0 {
				rockchip,pins =
					<2 RK_PB5 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_sdi1: i2s-8ch-0-sdi1 {
				rockchip,pins =
					<2 RK_PB6 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_sdi2: i2s-8ch-0-sdi2 {
				rockchip,pins =
					<2 RK_PB7 1 &pcfg_pull_none>;
			};

			i2s_8ch_0_sdi3: i2s-8ch-0-sdi3 {
				rockchip,pins =
					<2 RK_PC0 1 &pcfg_pull_none>;
			};
		};

		i2s_8ch_1_m0 {
			i2s_8ch_1_m0_mclk: i2s-8ch-1-m0-mclk {
				rockchip,pins =
					<1 RK_PA2 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m0_sclktx: i2s-8ch-1-m0-sclktx {
				rockchip,pins =
					<1 RK_PA3 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m0_sclkrx: i2s-8ch-1-m0-sclkrx {
				rockchip,pins =
					<1 RK_PA4 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m0_lrcktx: i2s-8ch-1-m0-lrcktx {
				rockchip,pins =
					<1 RK_PA5 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m0_lrckrx: i2s-8ch-1-m0-lrckrx {
				rockchip,pins =
					<1 RK_PA6 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m0_sdo0: i2s-8ch-1-m0-sdo0 {
				rockchip,pins =
					<1 RK_PA7 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m0_sdo1_sdi3: i2s-8ch-1-m0-sdo1-sdi3 {
				rockchip,pins =
					<1 RK_PB0 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m0_sdo2_sdi2: i2s-8ch-1-m0-sdo2-sdi2 {
				rockchip,pins =
					<1 RK_PB1 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m0_sdo3_sdi1: i2s-8ch-1-m0-sdo3_sdi1 {
				rockchip,pins =
					<1 RK_PB2 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m0_sdi0: i2s-8ch-1-m0-sdi0 {
				rockchip,pins =
					<1 RK_PB3 2 &pcfg_pull_none>;
			};
		};

		i2s_8ch_1_m1 {
			i2s_8ch_1_m1_mclk: i2s-8ch-1-m1-mclk {
				rockchip,pins =
					<1 RK_PB4 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m1_sclktx: i2s-8ch-1-m1-sclktx {
				rockchip,pins =
					<1 RK_PB5 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m1_sclkrx: i2s-8ch-1-m1-sclkrx {
				rockchip,pins =
					<1 RK_PB6 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m1_lrcktx: i2s-8ch-1-m1-lrcktx {
				rockchip,pins =
					<1 RK_PB7 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m1_lrckrx: i2s-8ch-1-m1-lrckrx {
				rockchip,pins =
					<1 RK_PC0 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m1_sdo0: i2s-8ch-1-m1-sdo0 {
				rockchip,pins =
					<1 RK_PC1 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m1_sdo1_sdi3: i2s-8ch-1-m1-sdo1-sdi3 {
				rockchip,pins =
					<1 RK_PC2 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m1_sdo2_sdi2: i2s-8ch-1-m1-sdo2-sdi2 {
				rockchip,pins =
					<1 RK_PC3 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m1_sdo3_sdi1: i2s-8ch-1-m1-sdo3_sdi1 {
				rockchip,pins =
					<1 RK_PC4 2 &pcfg_pull_none>;
			};

			i2s_8ch_1_m1_sdi0: i2s-8ch-1-m1-sdi0 {
				rockchip,pins =
					<1 RK_PC5 2 &pcfg_pull_none>;
			};
		};

		pdm_m0 {
			pdm_m0_clk: pdm-m0-clk {
				rockchip,pins =
					<1 RK_PA4 3 &pcfg_pull_none>;
			};

			pdm_m0_sdi0: pdm-m0-sdi0 {
				rockchip,pins =
					<1 RK_PB3 3 &pcfg_pull_none>;
			};

			pdm_m0_sdi1: pdm-m0-sdi1 {
				rockchip,pins =
					<1 RK_PB2 3 &pcfg_pull_none>;
			};

			pdm_m0_sdi2: pdm-m0-sdi2 {
				rockchip,pins =
					<1 RK_PB1 3 &pcfg_pull_none>;
			};

			pdm_m0_sdi3: pdm-m0-sdi3 {
				rockchip,pins =
					<1 RK_PB0 3 &pcfg_pull_none>;
			};
		};

		pdm_m1 {
			pdm_m1_clk: pdm-m1-clk {
				rockchip,pins =
					<1 RK_PB6 4 &pcfg_pull_none>;
			};

			pdm_m1_sdi0: pdm-m1-sdi0 {
				rockchip,pins =
					<1 RK_PC5 4 &pcfg_pull_none>;
			};

			pdm_m1_sdi1: pdm-m1-sdi1 {
				rockchip,pins =
					<1 RK_PC4 4 &pcfg_pull_none>;
			};

			pdm_m1_sdi2: pdm-m1-sdi2 {
				rockchip,pins =
					<1 RK_PC3 4 &pcfg_pull_none>;
			};

			pdm_m1_sdi3: pdm-m1-sdi3 {
				rockchip,pins =
					<1 RK_PC2 4 &pcfg_pull_none>;
			};
		};

		pdm_m2 {
			pdm_m2_clkm: pdm-m2-clkm {
				rockchip,pins =
					<2 RK_PA4 3 &pcfg_pull_none>;
			};

			pdm_m2_clk: pdm-m2-clk {
				rockchip,pins =
					<2 RK_PA6 2 &pcfg_pull_none>;
			};

			pdm_m2_sdi0: pdm-m2-sdi0 {
				rockchip,pins =
					<2 RK_PB5 2 &pcfg_pull_none>;
			};

			pdm_m2_sdi1: pdm-m2-sdi1 {
				rockchip,pins =
					<2 RK_PB6 2 &pcfg_pull_none>;
			};

			pdm_m2_sdi2: pdm-m2-sdi2 {
				rockchip,pins =
					<2 RK_PB7 2 &pcfg_pull_none>;
			};

			pdm_m2_sdi3: pdm-m2-sdi3 {
				rockchip,pins =
					<2 RK_PC0 2 &pcfg_pull_none>;
			};
		};

		pwm0 {
			pwm0_pin: pwm0-pin {
				rockchip,pins =
					<0 RK_PB5 1 &pcfg_pull_none>;
			};

			pwm0_pin_pull_down: pwm0-pin-pull-down {
				rockchip,pins =
					<0 RK_PB5 1 &pcfg_pull_down>;
			};
		};

		pwm1 {
			pwm1_pin: pwm1-pin {
				rockchip,pins =
					<0 RK_PB6 1 &pcfg_pull_none>;
			};

			pwm1_pin_pull_down: pwm1-pin-pull-down {
				rockchip,pins =
					<0 RK_PB6 1 &pcfg_pull_down>;
			};
		};

		pwm2 {
			pwm2_pin: pwm2-pin {
				rockchip,pins =
					<0 RK_PB7 1 &pcfg_pull_none>;
			};

			pwm2_pin_pull_down: pwm2-pin-pull-down {
				rockchip,pins =
					<0 RK_PB7 1 &pcfg_pull_down>;
			};
		};

		pwm3 {
			pwm3_pin: pwm3-pin {
				rockchip,pins =
					<0 RK_PC0 1 &pcfg_pull_none>;
			};

			pwm3_pin_pull_down: pwm3-pin-pull-down {
				rockchip,pins =
					<0 RK_PC0 1 &pcfg_pull_down>;
			};
		};

		pwm4 {
			pwm4_pin: pwm4-pin {
				rockchip,pins =
					<0 RK_PA1 2 &pcfg_pull_none>;
			};

			pwm4_pin_pull_down: pwm4-pin-pull-down {
				rockchip,pins =
					<0 RK_PA1 2 &pcfg_pull_down>;
			};
		};

		pwm5 {
			pwm5_pin: pwm5-pin {
				rockchip,pins =
					<0 RK_PC1 2 &pcfg_pull_none>;
			};

			pwm5_pin_pull_down: pwm5-pin-pull-down {
				rockchip,pins =
					<0 RK_PC1 2 &pcfg_pull_down>;
			};
		};

		pwm6 {
			pwm6_pin: pwm6-pin {
				rockchip,pins =
					<0 RK_PC2 2 &pcfg_pull_none>;
			};

			pwm6_pin_pull_down: pwm6-pin-pull-down {
				rockchip,pins =
					<0 RK_PC2 2 &pcfg_pull_down>;
			};
		};

		pwm7 {
			pwm7_pin: pwm7-pin {
				rockchip,pins =
					<2 RK_PB0 2 &pcfg_pull_none>;
			};

			pwm7_pin_pull_down: pwm7-pin-pull-down {
				rockchip,pins =
					<2 RK_PB0 2 &pcfg_pull_down>;
			};
		};

		pwm8 {
			pwm8_pin: pwm8-pin {
				rockchip,pins =
					<2 RK_PB2 2 &pcfg_pull_none>;
			};

			pwm8_pin_pull_down: pwm8-pin-pull-down {
				rockchip,pins =
					<2 RK_PB2 2 &pcfg_pull_down>;
			};
		};

		pwm9 {
			pwm9_pin: pwm9-pin {
				rockchip,pins =
					<2 RK_PB3 2 &pcfg_pull_none>;
			};

			pwm9_pin_pull_down: pwm9-pin-pull-down {
				rockchip,pins =
					<2 RK_PB3 2 &pcfg_pull_down>;
			};
		};

		pwm10 {
			pwm10_pin: pwm10-pin {
				rockchip,pins =
					<2 RK_PB4 2 &pcfg_pull_none>;
			};

			pwm10_pin_pull_down: pwm10-pin-pull-down {
				rockchip,pins =
					<2 RK_PB4 2 &pcfg_pull_down>;
			};
		};

		pwm11 {
			pwm11_pin: pwm11-pin {
				rockchip,pins =
					<2 RK_PC0 4 &pcfg_pull_none>;
			};

			pwm11_pin_pull_down: pwm11-pin-pull-down {
				rockchip,pins =
					<2 RK_PC0 4 &pcfg_pull_down>;
			};
		};

		rtc {
			rtc_32k: rtc-32k {
				rockchip,pins =
					<0 RK_PC3 1 &pcfg_pull_none>;
			};
		};

		sdmmc {
			sdmmc_clk: sdmmc-clk {
				rockchip,pins =
					<4 RK_PD5 1 &pcfg_pull_none_4ma>;
			};

			sdmmc_cmd: sdmmc-cmd {
				rockchip,pins =
					<4 RK_PD4 1 &pcfg_pull_up_4ma>;
			};

			sdmmc_det: sdmmc-det {
				rockchip,pins =
					<0 RK_PA3 1 &pcfg_pull_up_4ma>;
			};

			sdmmc_pwren: sdmmc-pwren {
				rockchip,pins =
					<4 RK_PD6 1 &pcfg_pull_none_4ma>;
			};

			sdmmc_bus1: sdmmc-bus1 {
				rockchip,pins =
					<4 RK_PD0 1 &pcfg_pull_up_4ma>;
			};

			sdmmc_bus4: sdmmc-bus4 {
				rockchip,pins =
					<4 RK_PD0 1 &pcfg_pull_up_4ma>,
					<4 RK_PD1 1 &pcfg_pull_up_4ma>,
					<4 RK_PD2 1 &pcfg_pull_up_4ma>,
					<4 RK_PD3 1 &pcfg_pull_up_4ma>;
			};
		};

		sdio {
			sdio_clk: sdio-clk {
				rockchip,pins =
					<4 RK_PA5 1 &pcfg_pull_none_8ma>;
			};

			sdio_cmd: sdio-cmd {
				rockchip,pins =
					<4 RK_PA4 1 &pcfg_pull_up_8ma>;
			};

			sdio_pwren: sdio-pwren {
				rockchip,pins =
					<0 RK_PA2 1 &pcfg_pull_none_8ma>;
			};

			sdio_wrpt: sdio-wrpt {
				rockchip,pins =
					<0 RK_PA1 1 &pcfg_pull_none_8ma>;
			};

			sdio_intn: sdio-intn {
				rockchip,pins =
					<0 RK_PA0 1 &pcfg_pull_none_8ma>;
			};

			sdio_bus1: sdio-bus1 {
				rockchip,pins =
					<4 RK_PA0 1 &pcfg_pull_up_8ma>;
			};

			sdio_bus4: sdio-bus4 {
				rockchip,pins =
					<4 RK_PA0 1 &pcfg_pull_up_8ma>,
					<4 RK_PA1 1 &pcfg_pull_up_8ma>,
					<4 RK_PA2 1 &pcfg_pull_up_8ma>,
					<4 RK_PA3 1 &pcfg_pull_up_8ma>;
			};
		};

		spdif_in {
			spdif_in: spdif-in {
				rockchip,pins =
					<0 RK_PC2 1 &pcfg_pull_none>;
			};
		};

		spdif_out {
			spdif_out: spdif-out {
				rockchip,pins =
					<0 RK_PC1 1 &pcfg_pull_none>;
			};
		};

		spi0 {
			spi0_clk: spi0-clk {
				rockchip,pins =
					<2 RK_PA2 2 &pcfg_pull_up_4ma>;
			};

			spi0_csn0: spi0-csn0 {
				rockchip,pins =
					<2 RK_PA3 2 &pcfg_pull_up_4ma>;
			};

			spi0_miso: spi0-miso {
				rockchip,pins =
					<2 RK_PA0 2 &pcfg_pull_up_4ma>;
			};

			spi0_mosi: spi0-mosi {
				rockchip,pins =
					<2 RK_PA1 2 &pcfg_pull_up_4ma>;
			};
		};

		spi1 {
			spi1_clk: spi1-clk {
				rockchip,pins =
					<3 RK_PB3 3 &pcfg_pull_up_4ma>;
			};

			spi1_csn0: spi1-csn0 {
				rockchip,pins =
					<3 RK_PB5 3 &pcfg_pull_up_4ma>;
			};

			spi1_miso: spi1-miso {
				rockchip,pins =
					<3 RK_PB2 3 &pcfg_pull_up_4ma>;
			};

			spi1_mosi: spi1-mosi {
				rockchip,pins =
					<3 RK_PB4 3 &pcfg_pull_up_4ma>;
			};
		};

		spi1-m1 {
			spi1m1_miso: spi1m1-miso {
				rockchip,pins =
					<2 RK_PA4 2 &pcfg_pull_up_4ma>;
			};

			spi1m1_mosi: spi1m1-mosi {
				rockchip,pins =
					<2 RK_PA5 2 &pcfg_pull_up_4ma>;
			};

			spi1m1_clk: spi1m1-clk {
				rockchip,pins =
					<2 RK_PA7 2 &pcfg_pull_up_4ma>;
			};

			spi1m1_csn0: spi1m1-csn0 {
				rockchip,pins =
					<2 RK_PB1 2 &pcfg_pull_up_4ma>;
			};
		};

		spi2 {
			spi2_clk: spi2-clk {
				rockchip,pins =
					<1 RK_PD0 3 &pcfg_pull_up_4ma>;
			};

			spi2_csn0: spi2-csn0 {
				rockchip,pins =
					<1 RK_PD1 3 &pcfg_pull_up_4ma>;
			};

			spi2_miso: spi2-miso {
				rockchip,pins =
					<1 RK_PC6 3 &pcfg_pull_up_4ma>;
			};

			spi2_mosi: spi2-mosi {
				rockchip,pins =
					<1 RK_PC7 3 &pcfg_pull_up_4ma>;
			};
		};

		tsadc {
			tsadc_otp_gpio: tsadc-otp-gpio {
				rockchip,pins =
					<0 RK_PB2 0 &pcfg_pull_none>;
			};

			tsadc_otp_out: tsadc-otp-out {
				rockchip,pins =
					<0 RK_PB2 1 &pcfg_pull_none>;
			};
		};

		uart0 {
			uart0_xfer: uart0-xfer {
				rockchip,pins =
					<2 RK_PA1 1 &pcfg_pull_up>,
					<2 RK_PA0 1 &pcfg_pull_up>;
			};

			uart0_cts: uart0-cts {
				rockchip,pins =
					<2 RK_PA2 1 &pcfg_pull_none>;
			};

			uart0_rts: uart0-rts {
				rockchip,pins =
					<2 RK_PA3 1 &pcfg_pull_none>;
			};

			uart0_rts_gpio: uart0-rts-gpio {
				rockchip,pins =
					<2 RK_PA3 0 &pcfg_pull_none>;
			};
		};

		uart1 {
			uart1_xfer: uart1-xfer {
				rockchip,pins =
					<1 RK_PD1 1 &pcfg_pull_up>,
					<1 RK_PD0 1 &pcfg_pull_up>;
			};

			uart1_cts: uart1-cts {
				rockchip,pins =
					<1 RK_PC6 1 &pcfg_pull_none>;
			};

			uart1_rts: uart1-rts {
				rockchip,pins =
					<1 RK_PC7 1 &pcfg_pull_none>;
			};
		};

		uart2-m0 {
			uart2m0_xfer: uart2m0-xfer {
				rockchip,pins =
					<1 RK_PC7 2 &pcfg_pull_up>,
					<1 RK_PC6 2 &pcfg_pull_up>;
			};
		};

		uart2-m1 {
			uart2m1_xfer: uart2m1-xfer {
				rockchip,pins =
					<4 RK_PD3 2 &pcfg_pull_up>,
					<4 RK_PD2 2 &pcfg_pull_up>;
			};
		};

		uart3 {
			uart3_xfer: uart3-xfer {
				rockchip,pins =
					<3 RK_PB5 4 &pcfg_pull_up>,
					<3 RK_PB4 4 &pcfg_pull_up>;
			};
		};

		uart3-m1 {
			uart3m1_xfer: uart3m1-xfer {
				rockchip,pins =
					<0 RK_PC2 3 &pcfg_pull_up>,
					<0 RK_PC1 3 &pcfg_pull_up>;
			};
		};

		uart4 {
			uart4_xfer: uart4-xfer {
				rockchip,pins =
					<4 RK_PB1 1 &pcfg_pull_up>,
					<4 RK_PB0 1 &pcfg_pull_up>;
			};

			uart4_cts: uart4-cts {
				rockchip,pins =
					<4 RK_PA6 1 &pcfg_pull_none>;
			};

			uart4_rts: uart4-rts {
				rockchip,pins =
					<4 RK_PA7 1 &pcfg_pull_none>;
			};

			uart4_rts_gpio: uart4-rts-gpio {
				rockchip,pins =
					<4 RK_PA7 0 &pcfg_pull_none>;
			};
		};
	};
};
