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

#include <dt-bindings/clock/px30-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/power/px30-power.h>
#include <dt-bindings/soc/rockchip,boot-mode.h>

/ {
	compatible = "rockchip,px30";

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

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

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

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

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

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

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

		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>;
			};

			CLUSTER_SLEEP: cluster-sleep {
				compatible = "arm,idle-state";
				local-timer-stop;
				arm,psci-suspend-param = <0x1010000>;
				entry-latency-us = <400>;
				exit-latency-us = <500>;
				min-residency-us = <2000>;
			};
		};
	};

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

		opp-408000000 {
			opp-hz = /bits/ 64 <408000000>;
			opp-microvolt = <950000 950000 1350000>;
			clock-latency-ns = <40000>;
			opp-suspend;
		};
		opp-600000000 {
			opp-hz = /bits/ 64 <600000000>;
			opp-microvolt = <950000 950000 1350000>;
			clock-latency-ns = <40000>;
		};
		opp-816000000 {
			opp-hz = /bits/ 64 <816000000>;
			opp-microvolt = <1050000 1050000 1350000>;
			clock-latency-ns = <40000>;
		};
		opp-1008000000 {
			opp-hz = /bits/ 64 <1008000000>;
			opp-microvolt = <1175000 1175000 1350000>;
			clock-latency-ns = <40000>;
		};
		opp-1200000000 {
			opp-hz = /bits/ 64 <1200000000>;
			opp-microvolt = <1300000 1300000 1350000>;
			clock-latency-ns = <40000>;
		};
		opp-1296000000 {
			opp-hz = /bits/ 64 <1296000000>;
			opp-microvolt = <1350000 1350000 1350000>;
			clock-latency-ns = <40000>;
		};
	};

	arm-pmu {
		compatible = "arm,cortex-a53-pmu";
		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
	};

	display_subsystem: display-subsystem {
		compatible = "rockchip,display-subsystem";
		ports = <&vopb_out>, <&vopl_out>;
		status = "disabled";
	};

	firmware {
		optee {
			compatible = "linaro,optee-tz";
			method = "smc";
		};
	};

	gmac_clkin: external-gmac-clock {
		compatible = "fixed-clock";
		clock-frequency = <50000000>;
		clock-output-names = "gmac_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";
	};

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

	pmu: power-management@ff000000 {
		compatible = "rockchip,px30-pmu", "syscon", "simple-mfd";
		reg = <0x0 0xff000000 0x0 0x1000>;

		power: power-controller {
			compatible = "rockchip,px30-power-controller";
			#power-domain-cells = <1>;
			#address-cells = <1>;
			#size-cells = <0>;

			/* These power domains are grouped by VD_LOGIC */
			power-domain@PX30_PD_USB {
				reg = <PX30_PD_USB>;
				clocks = <&cru HCLK_HOST>,
					 <&cru HCLK_OTG>,
					 <&cru SCLK_OTG_ADP>;
				pm_qos = <&qos_usb_host>, <&qos_usb_otg>;
			};
			power-domain@PX30_PD_SDCARD {
				reg = <PX30_PD_SDCARD>;
				clocks = <&cru HCLK_SDMMC>,
					 <&cru SCLK_SDMMC>;
				pm_qos = <&qos_sdmmc>;
			};
			power-domain@PX30_PD_GMAC {
				reg = <PX30_PD_GMAC>;
				clocks = <&cru ACLK_GMAC>,
					 <&cru PCLK_GMAC>,
					 <&cru SCLK_MAC_REF>,
					 <&cru SCLK_GMAC_RX_TX>;
				pm_qos = <&qos_gmac>;
			};
			power-domain@PX30_PD_MMC_NAND {
				reg = <PX30_PD_MMC_NAND>;
				clocks =  <&cru HCLK_NANDC>,
					  <&cru HCLK_EMMC>,
					  <&cru HCLK_SDIO>,
					  <&cru HCLK_SFC>,
					  <&cru SCLK_EMMC>,
					  <&cru SCLK_NANDC>,
					  <&cru SCLK_SDIO>,
					  <&cru SCLK_SFC>;
				pm_qos = <&qos_emmc>, <&qos_nand>,
					 <&qos_sdio>, <&qos_sfc>;
			};
			power-domain@PX30_PD_VPU {
				reg = <PX30_PD_VPU>;
				clocks = <&cru ACLK_VPU>,
					 <&cru HCLK_VPU>,
					 <&cru SCLK_CORE_VPU>;
				pm_qos = <&qos_vpu>, <&qos_vpu_r128>;
			};
			power-domain@PX30_PD_VO {
				reg = <PX30_PD_VO>;
				clocks = <&cru ACLK_RGA>,
					 <&cru ACLK_VOPB>,
					 <&cru ACLK_VOPL>,
					 <&cru DCLK_VOPB>,
					 <&cru DCLK_VOPL>,
					 <&cru HCLK_RGA>,
					 <&cru HCLK_VOPB>,
					 <&cru HCLK_VOPL>,
					 <&cru PCLK_MIPI_DSI>,
					 <&cru SCLK_RGA_CORE>,
					 <&cru SCLK_VOPB_PWM>;
				pm_qos = <&qos_rga_rd>, <&qos_rga_wr>,
					 <&qos_vop_m0>, <&qos_vop_m1>;
			};
			power-domain@PX30_PD_VI {
				reg = <PX30_PD_VI>;
				clocks = <&cru ACLK_CIF>,
					 <&cru ACLK_ISP>,
					 <&cru HCLK_CIF>,
					 <&cru HCLK_ISP>,
					 <&cru SCLK_ISP>;
				pm_qos = <&qos_isp_128>, <&qos_isp_rd>,
					 <&qos_isp_wr>, <&qos_isp_m1>,
					 <&qos_vip>;
			};
			power-domain@PX30_PD_GPU {
				reg = <PX30_PD_GPU>;
				clocks = <&cru SCLK_GPU>;
				pm_qos = <&qos_gpu>;
			};
		};
	};

	pmugrf: syscon@ff010000 {
		compatible = "rockchip,px30-pmugrf", "syscon", "simple-mfd";
		reg = <0x0 0xff010000 0x0 0x1000>;
		#address-cells = <1>;
		#size-cells = <1>;

		pmu_io_domains: io-domains {
			compatible = "rockchip,px30-pmu-io-voltage-domain";
			status = "disabled";
		};

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

	uart0: serial@ff030000 {
		compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff030000 0x0 0x100>;
		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&pmucru SCLK_UART0_PMU>, <&pmucru PCLK_UART0_PMU>;
		clock-names = "baudclk", "apb_pclk";
		dmas = <&dmac 0>, <&dmac 1>;
		dma-names = "tx", "rx";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
		status = "disabled";
	};

	i2s1_2ch: i2s@ff070000 {
		compatible = "rockchip,px30-i2s", "rockchip,rk3066-i2s";
		reg = <0x0 0xff070000 0x0 0x1000>;
		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1>;
		clock-names = "i2s_clk", "i2s_hclk";
		dmas = <&dmac 18>, <&dmac 19>;
		dma-names = "tx", "rx";
		pinctrl-names = "default";
		pinctrl-0 = <&i2s1_2ch_sclk &i2s1_2ch_lrck
			     &i2s1_2ch_sdi &i2s1_2ch_sdo>;
		#sound-dai-cells = <0>;
		status = "disabled";
	};

	i2s2_2ch: i2s@ff080000 {
		compatible = "rockchip,px30-i2s", "rockchip,rk3066-i2s";
		reg = <0x0 0xff080000 0x0 0x1000>;
		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2>;
		clock-names = "i2s_clk", "i2s_hclk";
		dmas = <&dmac 20>, <&dmac 21>;
		dma-names = "tx", "rx";
		pinctrl-names = "default";
		pinctrl-0 = <&i2s2_2ch_sclk &i2s2_2ch_lrck
			     &i2s2_2ch_sdi &i2s2_2ch_sdo>;
		#sound-dai-cells = <0>;
		status = "disabled";
	};

	gic: interrupt-controller@ff131000 {
		compatible = "arm,gic-400";
		#interrupt-cells = <3>;
		#address-cells = <0>;
		interrupt-controller;
		reg = <0x0 0xff131000 0 0x1000>,
		      <0x0 0xff132000 0 0x2000>,
		      <0x0 0xff134000 0 0x2000>,
		      <0x0 0xff136000 0 0x2000>;
		interrupts = <GIC_PPI 9
		      (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
	};

	grf: syscon@ff140000 {
		compatible = "rockchip,px30-grf", "syscon", "simple-mfd";
		reg = <0x0 0xff140000 0x0 0x1000>;
		#address-cells = <1>;
		#size-cells = <1>;

		io_domains: io-domains {
			compatible = "rockchip,px30-io-voltage-domain";
			status = "disabled";
		};
	};

	uart1: serial@ff158000 {
		compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff158000 0x0 0x100>;
		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
		clock-names = "baudclk", "apb_pclk";
		dmas = <&dmac 2>, <&dmac 3>;
		dma-names = "tx", "rx";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
		status = "disabled";
	};

	uart2: serial@ff160000 {
		compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff160000 0x0 0x100>;
		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
		clock-names = "baudclk", "apb_pclk";
		dmas = <&dmac 4>, <&dmac 5>;
		dma-names = "tx", "rx";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart2m0_xfer>;
		status = "disabled";
	};

	uart3: serial@ff168000 {
		compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff168000 0x0 0x100>;
		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
		clock-names = "baudclk", "apb_pclk";
		dmas = <&dmac 6>, <&dmac 7>;
		dma-names = "tx", "rx";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart3m1_xfer &uart3m1_cts &uart3m1_rts>;
		status = "disabled";
	};

	uart4: serial@ff170000 {
		compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff170000 0x0 0x100>;
		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
		clock-names = "baudclk", "apb_pclk";
		dmas = <&dmac 8>, <&dmac 9>;
		dma-names = "tx", "rx";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart4_xfer &uart4_cts &uart4_rts>;
		status = "disabled";
	};

	uart5: serial@ff178000 {
		compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
		reg = <0x0 0xff178000 0x0 0x100>;
		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
		clock-names = "baudclk", "apb_pclk";
		dmas = <&dmac 10>, <&dmac 11>;
		dma-names = "tx", "rx";
		reg-shift = <2>;
		reg-io-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart5_xfer &uart5_cts &uart5_rts>;
		status = "disabled";
	};

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

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

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

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

	spi0: spi@ff1d0000 {
		compatible = "rockchip,px30-spi", "rockchip,rk3066-spi";
		reg = <0x0 0xff1d0000 0x0 0x1000>;
		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
		clock-names = "spiclk", "apb_pclk";
		dmas = <&dmac 12>, <&dmac 13>;
		dma-names = "tx", "rx";
		pinctrl-names = "default";
		pinctrl-0 = <&spi0_clk &spi0_csn &spi0_miso &spi0_mosi>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	spi1: spi@ff1d8000 {
		compatible = "rockchip,px30-spi", "rockchip,rk3066-spi";
		reg = <0x0 0xff1d8000 0x0 0x1000>;
		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
		clock-names = "spiclk", "apb_pclk";
		dmas = <&dmac 14>, <&dmac 15>;
		dma-names = "tx", "rx";
		pinctrl-names = "default";
		pinctrl-0 = <&spi1_clk &spi1_csn0 &spi1_csn1 &spi1_miso &spi1_mosi>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	wdt: watchdog@ff1e0000 {
		compatible = "snps,dw-wdt";
		reg = <0x0 0xff1e0000 0x0 0x100>;
		clocks = <&cru PCLK_WDT_NS>;
		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
		status = "disabled";
	};

	pwm0: pwm@ff200000 {
		compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff200000 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@ff200010 {
		compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff200010 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@ff200020 {
		compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff200020 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@ff200030 {
		compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff200030 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";
	};

	pwm4: pwm@ff208000 {
		compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff208000 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@ff208010 {
		compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff208010 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@ff208020 {
		compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff208020 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@ff208030 {
		compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
		reg = <0x0 0xff208030 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";
	};

	rktimer: timer@ff210000 {
		compatible = "rockchip,px30-timer", "rockchip,rk3288-timer";
		reg = <0x0 0xff210000 0x0 0x1000>;
		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER0>;
		clock-names = "pclk", "timer";
	};

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

		dmac: dmac@ff240000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x0 0xff240000 0x0 0x4000>;
			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
				     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru ACLK_DMAC>;
			clock-names = "apb_pclk";
			#dma-cells = <1>;
		};
	};

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

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

		assigned-clocks = <&cru PLL_NPLL>;
		assigned-clock-rates = <1188000000>;
	};

	pmucru: clock-controller@ff2bc000 {
		compatible = "rockchip,px30-pmucru";
		reg = <0x0 0xff2bc000 0x0 0x1000>;
		rockchip,grf = <&grf>;
		#clock-cells = <1>;
		#reset-cells = <1>;

		assigned-clocks =
			<&pmucru PLL_GPLL>, <&pmucru PCLK_PMU_PRE>,
			<&pmucru SCLK_WIFI_PMU>, <&cru ARMCLK>,
			<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
			<&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
			<&cru PCLK_BUS_PRE>, <&cru SCLK_GPU>;
		assigned-clock-rates =
			<1200000000>, <100000000>,
			<26000000>, <600000000>,
			<200000000>, <200000000>,
			<150000000>, <150000000>,
			<100000000>, <200000000>;
	};

	usb20_otg: usb@ff300000 {
		compatible = "rockchip,px30-usb", "rockchip,rk3066-usb",
			     "snps,dwc2";
		reg = <0x0 0xff300000 0x0 0x40000>;
		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru HCLK_OTG>;
		clock-names = "otg";
		dr_mode = "otg";
		g-np-tx-fifo-size = <16>;
		g-rx-fifo-size = <280>;
		g-tx-fifo-size = <256 128 128 64 32 16>;
		g-use-dma;
		power-domains = <&power PX30_PD_USB>;
		status = "disabled";
	};

	usb_host0_ehci: usb@ff340000 {
		compatible = "generic-ehci";
		reg = <0x0 0xff340000 0x0 0x10000>;
		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru HCLK_HOST>;
		clock-names = "usbhost";
		power-domains = <&power PX30_PD_USB>;
		status = "disabled";
	};

	usb_host0_ohci: usb@ff350000 {
		compatible = "generic-ohci";
		reg = <0x0 0xff350000 0x0 0x10000>;
		interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru HCLK_HOST>;
		clock-names = "usbhost";
		power-domains = <&power PX30_PD_USB>;
		status = "disabled";
	};

	gmac: ethernet@ff360000 {
		compatible = "rockchip,px30-gmac";
		reg = <0x0 0xff360000 0x0 0x10000>;
		interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "macirq";
		clocks = <&cru SCLK_GMAC>, <&cru SCLK_GMAC_RX_TX>,
			 <&cru SCLK_GMAC_RX_TX>, <&cru SCLK_MAC_REF>,
			 <&cru SCLK_MAC_REFOUT>, <&cru ACLK_GMAC>,
			 <&cru PCLK_GMAC>, <&cru SCLK_GMAC_RMII>;
		clock-names = "stmmaceth", "mac_clk_rx",
			      "mac_clk_tx", "clk_mac_ref",
			      "clk_mac_refout", "aclk_mac",
			      "pclk_mac", "clk_mac_speed";
		rockchip,grf = <&grf>;
		phy-mode = "rmii";
		pinctrl-names = "default";
		pinctrl-0 = <&rmii_pins &mac_refclk_12ma>;
		power-domains = <&power PX30_PD_GMAC>;
		resets = <&cru SRST_GMAC_A>;
		reset-names = "stmmaceth";
		status = "disabled";
	};

	sdmmc: dwmmc@ff370000 {
		compatible = "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc";
		reg = <0x0 0xff370000 0x0 0x4000>;
		interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
		fifo-depth = <0x100>;
		max-frequency = <150000000>;
		pinctrl-names = "default";
		pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
		power-domains = <&power PX30_PD_SDCARD>;
		status = "disabled";
	};

	sdio: dwmmc@ff380000 {
		compatible = "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc";
		reg = <0x0 0xff380000 0x0 0x4000>;
		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
		fifo-depth = <0x100>;
		max-frequency = <150000000>;
		pinctrl-names = "default";
		pinctrl-0 = <&sdio_bus4 &sdio_cmd &sdio_clk>;
		power-domains = <&power PX30_PD_MMC_NAND>;
		status = "disabled";
	};

	emmc: dwmmc@ff390000 {
		compatible = "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc";
		reg = <0x0 0xff390000 0x0 0x4000>;
		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
		fifo-depth = <0x100>;
		max-frequency = <150000000>;
		power-domains = <&power PX30_PD_MMC_NAND>;
		status = "disabled";
	};

	vopb: vop@ff460000 {
		compatible = "rockchip,px30-vop-big";
		reg = <0x0 0xff460000 0x0 0xefc>;
		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru ACLK_VOPB>, <&cru DCLK_VOPB>,
			 <&cru HCLK_VOPB>;
		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
		resets = <&cru SRST_VOPB_A>, <&cru SRST_VOPB_H>, <&cru SRST_VOPB>;
		reset-names = "axi", "ahb", "dclk";
		iommus = <&vopb_mmu>;
		power-domains = <&power PX30_PD_VO>;
		rockchip,grf = <&grf>;
		status = "disabled";

		vopb_out: port {
			#address-cells = <1>;
			#size-cells = <0>;
		};
	};

	vopb_mmu: iommu@ff460f00 {
		compatible = "rockchip,iommu";
		reg = <0x0 0xff460f00 0x0 0x100>;
		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "vopb_mmu";
		clocks = <&cru ACLK_VOPB>, <&cru HCLK_VOPB>;
		clock-names = "aclk", "hclk";
		power-domains = <&power PX30_PD_VO>;
		#iommu-cells = <0>;
		status = "disabled";
	};

	vopl: vop@ff470000 {
		compatible = "rockchip,px30-vop-lit";
		reg = <0x0 0xff470000 0x0 0xefc>;
		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru ACLK_VOPL>, <&cru DCLK_VOPL>,
			 <&cru HCLK_VOPL>;
		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
		resets = <&cru SRST_VOPL_A>, <&cru SRST_VOPL_H>, <&cru SRST_VOPL>;
		reset-names = "axi", "ahb", "dclk";
		iommus = <&vopl_mmu>;
		power-domains = <&power PX30_PD_VO>;
		rockchip,grf = <&grf>;
		status = "disabled";

		vopl_out: port {
			#address-cells = <1>;
			#size-cells = <0>;
		};
	};

	vopl_mmu: iommu@ff470f00 {
		compatible = "rockchip,iommu";
		reg = <0x0 0xff470f00 0x0 0x100>;
		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "vopl_mmu";
		clocks = <&cru ACLK_VOPL>, <&cru HCLK_VOPL>;
		clock-names = "aclk", "hclk";
		power-domains = <&power PX30_PD_VO>;
		#iommu-cells = <0>;
		status = "disabled";
	};

	qos_gmac: qos@ff518000 {
		compatible = "syscon";
		reg = <0x0 0xff518000 0x0 0x20>;
	};

	qos_gpu: qos@ff520000 {
		compatible = "syscon";
		reg = <0x0 0xff520000 0x0 0x20>;
	};

	qos_sdmmc: qos@ff52c000 {
		compatible = "syscon";
		reg = <0x0 0xff52c000 0x0 0x20>;
	};

	qos_emmc: qos@ff538000 {
		compatible = "syscon";
		reg = <0x0 0xff538000 0x0 0x20>;
	};

	qos_nand: qos@ff538080 {
		compatible = "syscon";
		reg = <0x0 0xff538080 0x0 0x20>;
	};

	qos_sdio: qos@ff538100 {
		compatible = "syscon";
		reg = <0x0 0xff538100 0x0 0x20>;
	};

	qos_sfc: qos@ff538180 {
		compatible = "syscon";
		reg = <0x0 0xff538180 0x0 0x20>;
	};

	qos_usb_host: qos@ff540000 {
		compatible = "syscon";
		reg = <0x0 0xff540000 0x0 0x20>;
	};

	qos_usb_otg: qos@ff540080 {
		compatible = "syscon";
		reg = <0x0 0xff540080 0x0 0x20>;
	};

	qos_isp_128: qos@ff548000 {
		compatible = "syscon";
		reg = <0x0 0xff548000 0x0 0x20>;
	};

	qos_isp_rd: qos@ff548080 {
		compatible = "syscon";
		reg = <0x0 0xff548080 0x0 0x20>;
	};

	qos_isp_wr: qos@ff548100 {
		compatible = "syscon";
		reg = <0x0 0xff548100 0x0 0x20>;
	};

	qos_isp_m1: qos@ff548180 {
		compatible = "syscon";
		reg = <0x0 0xff548180 0x0 0x20>;
	};

	qos_vip: qos@ff548200 {
		compatible = "syscon";
		reg = <0x0 0xff548200 0x0 0x20>;
	};

	qos_rga_rd: qos@ff550000 {
		compatible = "syscon";
		reg = <0x0 0xff550000 0x0 0x20>;
	};

	qos_rga_wr: qos@ff550080 {
		compatible = "syscon";
		reg = <0x0 0xff550080 0x0 0x20>;
	};

	qos_vop_m0: qos@ff550100 {
		compatible = "syscon";
		reg = <0x0 0xff550100 0x0 0x20>;
	};

	qos_vop_m1: qos@ff550180 {
		compatible = "syscon";
		reg = <0x0 0xff550180 0x0 0x20>;
	};

	qos_vpu: qos@ff558000 {
		compatible = "syscon";
		reg = <0x0 0xff558000 0x0 0x20>;
	};

	qos_vpu_r128: qos@ff558080 {
		compatible = "syscon";
		reg = <0x0 0xff558080 0x0 0x20>;
	};

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

		gpio0: gpio0@ff040000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x0 0xff040000 0x0 0x100>;
			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&pmucru PCLK_GPIO0_PMU>;
			gpio-controller;
			#gpio-cells = <2>;

			interrupt-controller;
			#interrupt-cells = <2>;
		};

		gpio1: gpio1@ff250000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x0 0xff250000 0x0 0x100>;
			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru PCLK_GPIO1>;
			gpio-controller;
			#gpio-cells = <2>;

			interrupt-controller;
			#interrupt-cells = <2>;
		};

		gpio2: gpio2@ff260000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x0 0xff260000 0x0 0x100>;
			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru PCLK_GPIO2>;
			gpio-controller;
			#gpio-cells = <2>;

			interrupt-controller;
			#interrupt-cells = <2>;
		};

		gpio3: gpio3@ff270000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x0 0xff270000 0x0 0x100>;
			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cru PCLK_GPIO3>;
			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;
		};

		i2c0 {
			i2c0_xfer: i2c0-xfer {
				rockchip,pins =
					<0 RK_PB0 1 &pcfg_pull_none_smt>,
					<0 RK_PB1 1 &pcfg_pull_none_smt>;
			};
		};

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

		i2c2 {
			i2c2_xfer: i2c2-xfer {
				rockchip,pins =
					<2 RK_PB7 2 &pcfg_pull_none_smt>,
					<2 RK_PC0 2 &pcfg_pull_none_smt>;
			};
		};

		i2c3 {
			i2c3_xfer: i2c3-xfer {
				rockchip,pins =
					<1 RK_PB4 4 &pcfg_pull_none_smt>,
					<1 RK_PB5 4 &pcfg_pull_none_smt>;
			};
		};

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

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

		uart0 {
			uart0_xfer: uart0-xfer {
				rockchip,pins =
					<0 RK_PB2 1 &pcfg_pull_up>,
					<0 RK_PB3 1 &pcfg_pull_up>;
			};

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

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

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

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

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

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

			uart1_rts_gpio: uart1-rts-gpio {
				rockchip,pins =
					<1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
			};
		};

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

		uart2-m1 {
			uart2m1_xfer: uart2m1-xfer {
				rockchip,pins =
					<2 RK_PB4 2 &pcfg_pull_up>,
					<2 RK_PB6 2 &pcfg_pull_up>;
			};
		};

		uart3-m0 {
			uart3m0_xfer: uart3m0-xfer {
				rockchip,pins =
					<0 RK_PC0 2 &pcfg_pull_up>,
					<0 RK_PC1 2 &pcfg_pull_up>;
			};

			uart3m0_cts: uart3m0-cts {
				rockchip,pins =
					<0 RK_PC2 2 &pcfg_pull_none>;
			};

			uart3m0_rts: uart3m0-rts {
				rockchip,pins =
					<0 RK_PC3 2 &pcfg_pull_none>;
			};

			uart3m0_rts_gpio: uart3m0-rts-gpio {
				rockchip,pins =
					<0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
			};
		};

		uart3-m1 {
			uart3m1_xfer: uart3m1-xfer {
				rockchip,pins =
					<1 RK_PB6 2 &pcfg_pull_up>,
					<1 RK_PB7 2 &pcfg_pull_up>;
			};

			uart3m1_cts: uart3m1-cts {
				rockchip,pins =
					<1 RK_PB4 2 &pcfg_pull_none>;
			};

			uart3m1_rts: uart3m1-rts {
				rockchip,pins =
					<1 RK_PB5 2 &pcfg_pull_none>;
			};

			uart3m1_rts_gpio: uart3m1-rts-gpio {
				rockchip,pins =
					<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
			};
		};

		uart4 {
			uart4_xfer: uart4-xfer {
				rockchip,pins =
					<1 RK_PD4 2 &pcfg_pull_up>,
					<1 RK_PD5 2 &pcfg_pull_up>;
			};

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

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

		uart5 {
			uart5_xfer: uart5-xfer {
				rockchip,pins =
					<3 RK_PA2 4 &pcfg_pull_up>,
					<3 RK_PA1 4 &pcfg_pull_up>;
			};

			uart5_cts: uart5-cts {
				rockchip,pins =
					<3 RK_PA3 4 &pcfg_pull_none>;
			};

			uart5_rts: uart5-rts {
				rockchip,pins =
					<3 RK_PA5 4 &pcfg_pull_none>;
			};
		};

		spi0 {
			spi0_clk: spi0-clk {
				rockchip,pins =
					<1 RK_PB7 3 &pcfg_pull_up_4ma>;
			};

			spi0_csn: spi0-csn {
				rockchip,pins =
					<1 RK_PB6 3 &pcfg_pull_up_4ma>;
			};

			spi0_miso: spi0-miso {
				rockchip,pins =
					<1 RK_PB5 3 &pcfg_pull_up_4ma>;
			};

			spi0_mosi: spi0-mosi {
				rockchip,pins =
					<1 RK_PB4 3 &pcfg_pull_up_4ma>;
			};

			spi0_clk_hs: spi0-clk-hs {
				rockchip,pins =
					<1 RK_PB7 3 &pcfg_pull_up_8ma>;
			};

			spi0_miso_hs: spi0-miso-hs {
				rockchip,pins =
					<1 RK_PB5 3 &pcfg_pull_up_8ma>;
			};

			spi0_mosi_hs: spi0-mosi-hs {
				rockchip,pins =
					<1 RK_PB4 3 &pcfg_pull_up_8ma>;
			};
		};

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

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

			spi1_csn1: spi1-csn1 {
				rockchip,pins =
					<3 RK_PB2 2 &pcfg_pull_up_4ma>;
			};

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

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

			spi1_clk_hs: spi1-clk-hs {
				rockchip,pins =
					<3 RK_PB7 4 &pcfg_pull_up_8ma>;
			};

			spi1_miso_hs: spi1-miso-hs {
				rockchip,pins =
					<3 RK_PB6 4 &pcfg_pull_up_8ma>;
			};

			spi1_mosi_hs: spi1-mosi-hs {
				rockchip,pins =
					<3 RK_PB4 4 &pcfg_pull_up_8ma>;
			};
		};

		pdm {
			pdm_clk0m0: pdm-clk0m0 {
				rockchip,pins =
					<3 RK_PC6 2 &pcfg_pull_none>;
			};

			pdm_clk0m1: pdm-clk0m1 {
				rockchip,pins =
					<2 RK_PC6 1 &pcfg_pull_none>;
			};

			pdm_clk1: pdm-clk1 {
				rockchip,pins =
					<3 RK_PC7 2 &pcfg_pull_none>;
			};

			pdm_sdi0m0: pdm-sdi0m0 {
				rockchip,pins =
					<3 RK_PD3 2 &pcfg_pull_none>;
			};

			pdm_sdi0m1: pdm-sdi0m1 {
				rockchip,pins =
					<2 RK_PC5 2 &pcfg_pull_none>;
			};

			pdm_sdi1: pdm-sdi1 {
				rockchip,pins =
					<3 RK_PD0 2 &pcfg_pull_none>;
			};

			pdm_sdi2: pdm-sdi2 {
				rockchip,pins =
					<3 RK_PD1 2 &pcfg_pull_none>;
			};

			pdm_sdi3: pdm-sdi3 {
				rockchip,pins =
					<3 RK_PD2 2 &pcfg_pull_none>;
			};

			pdm_clk0m0_sleep: pdm-clk0m0-sleep {
				rockchip,pins =
					<3 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>;
			};

			pdm_clk0m_sleep1: pdm-clk0m1-sleep {
				rockchip,pins =
					<2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>;
			};

			pdm_clk1_sleep: pdm-clk1-sleep {
				rockchip,pins =
					<3 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>;
			};

			pdm_sdi0m0_sleep: pdm-sdi0m0-sleep {
				rockchip,pins =
					<3 RK_PD3 RK_FUNC_GPIO &pcfg_input_high>;
			};

			pdm_sdi0m1_sleep: pdm-sdi0m1-sleep {
				rockchip,pins =
					<2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>;
			};

			pdm_sdi1_sleep: pdm-sdi1-sleep {
				rockchip,pins =
					<3 RK_PD0 RK_FUNC_GPIO &pcfg_input_high>;
			};

			pdm_sdi2_sleep: pdm-sdi2-sleep {
				rockchip,pins =
					<3 RK_PD1 RK_FUNC_GPIO &pcfg_input_high>;
			};

			pdm_sdi3_sleep: pdm-sdi3-sleep {
				rockchip,pins =
					<3 RK_PD2 RK_FUNC_GPIO &pcfg_input_high>;
			};
		};

		i2s0 {
			i2s0_8ch_mclk: i2s0-8ch-mclk {
				rockchip,pins =
					<3 RK_PC1 2 &pcfg_pull_none>;
			};

			i2s0_8ch_sclktx: i2s0-8ch-sclktx {
				rockchip,pins =
					<3 RK_PC3 2 &pcfg_pull_none>;
			};

			i2s0_8ch_sclkrx: i2s0-8ch-sclkrx {
				rockchip,pins =
					<3 RK_PB4 2 &pcfg_pull_none>;
			};

			i2s0_8ch_lrcktx: i2s0-8ch-lrcktx {
				rockchip,pins =
					<3 RK_PC2 2 &pcfg_pull_none>;
			};

			i2s0_8ch_lrckrx: i2s0-8ch-lrckrx {
				rockchip,pins =
					<3 RK_PB5 2 &pcfg_pull_none>;
			};

			i2s0_8ch_sdo0: i2s0-8ch-sdo0 {
				rockchip,pins =
					<3 RK_PC4 2 &pcfg_pull_none>;
			};

			i2s0_8ch_sdo1: i2s0-8ch-sdo1 {
				rockchip,pins =
					<3 RK_PC0 2 &pcfg_pull_none>;
			};

			i2s0_8ch_sdo2: i2s0-8ch-sdo2 {
				rockchip,pins =
					<3 RK_PB7 2 &pcfg_pull_none>;
			};

			i2s0_8ch_sdo3: i2s0-8ch-sdo3 {
				rockchip,pins =
					<3 RK_PB6 2 &pcfg_pull_none>;
			};

			i2s0_8ch_sdi0: i2s0-8ch-sdi0 {
				rockchip,pins =
					<3 RK_PC5 2 &pcfg_pull_none>;
			};

			i2s0_8ch_sdi1: i2s0-8ch-sdi1 {
				rockchip,pins =
					<3 RK_PB3 2 &pcfg_pull_none>;
			};

			i2s0_8ch_sdi2: i2s0-8ch-sdi2 {
				rockchip,pins =
					<3 RK_PB1 2 &pcfg_pull_none>;
			};

			i2s0_8ch_sdi3: i2s0-8ch-sdi3 {
				rockchip,pins =
					<3 RK_PB0 2 &pcfg_pull_none>;
			};
		};

		i2s1 {
			i2s1_2ch_mclk: i2s1-2ch-mclk {
				rockchip,pins =
					<2 RK_PC3 1 &pcfg_pull_none>;
			};

			i2s1_2ch_sclk: i2s1-2ch-sclk {
				rockchip,pins =
					<2 RK_PC2 1 &pcfg_pull_none>;
			};

			i2s1_2ch_lrck: i2s1-2ch-lrck {
				rockchip,pins =
					<2 RK_PC1 1 &pcfg_pull_none>;
			};

			i2s1_2ch_sdi: i2s1-2ch-sdi {
				rockchip,pins =
					<2 RK_PC5 1 &pcfg_pull_none>;
			};

			i2s1_2ch_sdo: i2s1-2ch-sdo {
				rockchip,pins =
					<2 RK_PC4 1 &pcfg_pull_none>;
			};
		};

		i2s2 {
			i2s2_2ch_mclk: i2s2-2ch-mclk {
				rockchip,pins =
					<3 RK_PA1 2 &pcfg_pull_none>;
			};

			i2s2_2ch_sclk: i2s2-2ch-sclk {
				rockchip,pins =
					<3 RK_PA2 2 &pcfg_pull_none>;
			};

			i2s2_2ch_lrck: i2s2-2ch-lrck {
				rockchip,pins =
					<3 RK_PA3 2 &pcfg_pull_none>;
			};

			i2s2_2ch_sdi: i2s2-2ch-sdi {
				rockchip,pins =
					<3 RK_PA5 2 &pcfg_pull_none>;
			};

			i2s2_2ch_sdo: i2s2-2ch-sdo {
				rockchip,pins =
					<3 RK_PA7 2 &pcfg_pull_none>;
			};
		};

		sdmmc {
			sdmmc_clk: sdmmc-clk {
				rockchip,pins =
					<1 RK_PD6 1 &pcfg_pull_none_8ma>;
			};

			sdmmc_cmd: sdmmc-cmd {
				rockchip,pins =
					<1 RK_PD7 1 &pcfg_pull_up_8ma>;
			};

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

			sdmmc_bus1: sdmmc-bus1 {
				rockchip,pins =
					<1 RK_PD2 1 &pcfg_pull_up_8ma>;
			};

			sdmmc_bus4: sdmmc-bus4 {
				rockchip,pins =
					<1 RK_PD2 1 &pcfg_pull_up_8ma>,
					<1 RK_PD3 1 &pcfg_pull_up_8ma>,
					<1 RK_PD4 1 &pcfg_pull_up_8ma>,
					<1 RK_PD5 1 &pcfg_pull_up_8ma>;
			};

			sdmmc_gpio: sdmmc-gpio {
				rockchip,pins =
					<1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
					<1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
					<1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
					<1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
					<1 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
					<1 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
			};
		};

		sdio {
			sdio_clk: sdio-clk {
				rockchip,pins =
					<1 RK_PC5 1 &pcfg_pull_none>;
			};

			sdio_cmd: sdio-cmd {
				rockchip,pins =
					<1 RK_PC4 1 &pcfg_pull_up>;
			};

			sdio_bus4: sdio-bus4 {
				rockchip,pins =
					<1 RK_PC6 1 &pcfg_pull_up>,
					<1 RK_PC7 1 &pcfg_pull_up>,
					<1 RK_PD0 1 &pcfg_pull_up>,
					<1 RK_PD1 1 &pcfg_pull_up>;
			};

			sdio_gpio: sdio-gpio {
				rockchip,pins =
					<1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>,
					<1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>,
					<1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>,
					<1 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>,
					<1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>,
					<1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
			};
		};

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

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

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

			emmc_rstnout: emmc-rstnout {
				rockchip,pins =
					<1 RK_PB3 2 &pcfg_pull_none>;
			};

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

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

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

		flash {
			flash_cs0: flash-cs0 {
				rockchip,pins =
					<1 RK_PB0 1 &pcfg_pull_none>;
			};

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

			flash_dqs: flash-dqs {
				rockchip,pins =
					<1 RK_PB2 1 &pcfg_pull_none>;
			};

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

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

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

			flash_csl: flash-csl {
				rockchip,pins =
					<1 RK_PB6 1 &pcfg_pull_none>;
			};

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

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

		lcdc {
			lcdc_rgb_dclk_pin: lcdc-rgb-dclk-pin {
				rockchip,pins =
					<3 RK_PA0 1 &pcfg_pull_none_12ma>;
			};

			lcdc_rgb_m0_hsync_pin: lcdc-rgb-m0-hsync-pin {
				rockchip,pins =
					<3 RK_PA1 1 &pcfg_pull_none_12ma>;
			};

			lcdc_rgb_m0_vsync_pin: lcdc-rgb-m0-vsync-pin {
				rockchip,pins =
					<3 RK_PA2 1 &pcfg_pull_none_12ma>;
			};

			lcdc_rgb_m0_den_pin: lcdc-rgb-m0-den-pin {
				rockchip,pins =
					<3 RK_PA3 1 &pcfg_pull_none_12ma>;
			};

			lcdc_rgb888_m0_data_pins: lcdc-rgb888-m0-data-pins {
				rockchip,pins =
					<3 RK_PA7 1 &pcfg_pull_none_8ma>, /* lcdc_d3 */
					<3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
					<3 RK_PA5 1 &pcfg_pull_none_8ma>, /* lcdc_d1 */
					<3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
					<3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
					<3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
					<3 RK_PB1 1 &pcfg_pull_none_8ma>, /* lcdc_d5 */
					<3 RK_PB0 1 &pcfg_pull_none_8ma>, /* lcdc_d4 */
					<3 RK_PB7 1 &pcfg_pull_none_8ma>, /* lcdc_d11 */
					<3 RK_PB6 1 &pcfg_pull_none_8ma>, /* lcdc_d10 */
					<3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
					<3 RK_PB4 1 &pcfg_pull_none_8ma>, /* lcdc_d8 */
					<3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
					<3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
					<3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
					<3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
					<3 RK_PC7 1 &pcfg_pull_none_8ma>, /* lcdc_d19 */
					<3 RK_PC6 1 &pcfg_pull_none_8ma>, /* lcdc_d18 */
					<3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
					<3 RK_PC4 1 &pcfg_pull_none_8ma>, /* lcdc_d16 */
					<3 RK_PD3 1 &pcfg_pull_none_8ma>, /* lcdc_d23 */
					<3 RK_PD2 1 &pcfg_pull_none_8ma>, /* lcdc_d22 */
					<3 RK_PD1 1 &pcfg_pull_none_8ma>, /* lcdc_d21 */
					<3 RK_PD0 1 &pcfg_pull_none_8ma>; /* lcdc_d20 */
			};

			lcdc_rgb666_m0_data_pins: lcdc-rgb666-m0-data-pins {
				rockchip,pins =
					<3 RK_PA7 1 &pcfg_pull_none_8ma>, /* lcdc_d3 */
					<3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
					<3 RK_PA5 1 &pcfg_pull_none_8ma>, /* lcdc_d1 */
					<3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
					<3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
					<3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
					<3 RK_PB1 1 &pcfg_pull_none_8ma>, /* lcdc_d5 */
					<3 RK_PB0 1 &pcfg_pull_none_8ma>, /* lcdc_d4 */
					<3 RK_PB7 1 &pcfg_pull_none_8ma>, /* lcdc_d11 */
					<3 RK_PB6 1 &pcfg_pull_none_8ma>, /* lcdc_d10 */
					<3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
					<3 RK_PB4 1 &pcfg_pull_none_8ma>, /* lcdc_d8 */
					<3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
					<3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
					<3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
					<3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
					<3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
					<3 RK_PC4 1 &pcfg_pull_none_8ma>; /* lcdc_d16 */
			};

			lcdc_rgb565_m0_data_pins: lcdc-rgb565-m0-data-pins {
				rockchip,pins =
					<3 RK_PA7 1 &pcfg_pull_none_8ma>, /* lcdc_d3 */
					<3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
					<3 RK_PA5 1 &pcfg_pull_none_8ma>, /* lcdc_d1 */
					<3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
					<3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
					<3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
					<3 RK_PB1 1 &pcfg_pull_none_8ma>, /* lcdc_d5 */
					<3 RK_PB0 1 &pcfg_pull_none_8ma>, /* lcdc_d4 */
					<3 RK_PB7 1 &pcfg_pull_none_8ma>, /* lcdc_d11 */
					<3 RK_PB6 1 &pcfg_pull_none_8ma>, /* lcdc_d10 */
					<3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
					<3 RK_PB4 1 &pcfg_pull_none_8ma>, /* lcdc_d8 */
					<3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
					<3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
					<3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
					<3 RK_PC0 1 &pcfg_pull_none_8ma>; /* lcdc_d12 */
			};

			lcdc_rgb888_m1_data_pins: lcdc-rgb888-m1-data-pins {
				rockchip,pins =
					<3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
					<3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
					<3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
					<3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
					<3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
					<3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
					<3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
					<3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
					<3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
					<3 RK_PC7 1 &pcfg_pull_none_8ma>, /* lcdc_d19 */
					<3 RK_PC6 1 &pcfg_pull_none_8ma>, /* lcdc_d18 */
					<3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
					<3 RK_PC4 1 &pcfg_pull_none_8ma>, /* lcdc_d16 */
					<3 RK_PD3 1 &pcfg_pull_none_8ma>, /* lcdc_d23 */
					<3 RK_PD2 1 &pcfg_pull_none_8ma>, /* lcdc_d22 */
					<3 RK_PD1 1 &pcfg_pull_none_8ma>, /* lcdc_d21 */
					<3 RK_PD0 1 &pcfg_pull_none_8ma>; /* lcdc_d20 */
			};

			lcdc_rgb666_m1_data_pins: lcdc-rgb666-m1-data-pins {
				rockchip,pins =
					<3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
					<3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
					<3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
					<3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
					<3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
					<3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
					<3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
					<3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
					<3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
					<3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
					<3 RK_PC4 1 &pcfg_pull_none_8ma>; /* lcdc_d16 */
			};

			lcdc_rgb565_m1_data_pins: lcdc-rgb565-m1-data-pins {
				rockchip,pins =
					<3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
					<3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
					<3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
					<3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
					<3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
					<3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
					<3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
					<3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
					<3 RK_PC0 1 &pcfg_pull_none_8ma>; /* lcdc_d12 */
			};
		};

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

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

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

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

		pwm4 {
			pwm4_pin: pwm4-pin {
				rockchip,pins =
					<3 RK_PC2 3 &pcfg_pull_none>;
			};
		};

		pwm5 {
			pwm5_pin: pwm5-pin {
				rockchip,pins =
					<3 RK_PC3 3 &pcfg_pull_none>;
			};
		};

		pwm6 {
			pwm6_pin: pwm6-pin {
				rockchip,pins =
					<3 RK_PC4 3 &pcfg_pull_none>;
			};
		};

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

		gmac {
			rmii_pins: rmii-pins {
				rockchip,pins =
					<2 RK_PA0 2 &pcfg_pull_none_12ma>, /* mac_txen */
					<2 RK_PA1 2 &pcfg_pull_none_12ma>, /* mac_txd1 */
					<2 RK_PA2 2 &pcfg_pull_none_12ma>, /* mac_txd0 */
					<2 RK_PA3 2 &pcfg_pull_none>, /* mac_rxd0 */
					<2 RK_PA4 2 &pcfg_pull_none>, /* mac_rxd1 */
					<2 RK_PA5 2 &pcfg_pull_none>, /* mac_rxer */
					<2 RK_PA6 2 &pcfg_pull_none>, /* mac_rxdv */
					<2 RK_PA7 2 &pcfg_pull_none>, /* mac_mdio */
					<2 RK_PB1 2 &pcfg_pull_none>; /* mac_mdc */
			};

			mac_refclk_12ma: mac-refclk-12ma {
				rockchip,pins =
					<2 RK_PB2 2 &pcfg_pull_none_12ma>;
			};

			mac_refclk: mac-refclk {
				rockchip,pins =
					<2 RK_PB2 2 &pcfg_pull_none>;
			};
		};

		cif-m0 {
			cif_clkout_m0: cif-clkout-m0 {
				rockchip,pins =
					<2 RK_PB3 1 &pcfg_pull_none>;
			};

			dvp_d2d9_m0: dvp-d2d9-m0 {
				rockchip,pins =
					<2 RK_PA0 1 &pcfg_pull_none>, /* cif_data2 */
					<2 RK_PA1 1 &pcfg_pull_none>, /* cif_data3 */
					<2 RK_PA2 1 &pcfg_pull_none>, /* cif_data4 */
					<2 RK_PA3 1 &pcfg_pull_none>, /* cif_data5 */
					<2 RK_PA4 1 &pcfg_pull_none>, /* cif_data6 */
					<2 RK_PA5 1 &pcfg_pull_none>, /* cif_data7 */
					<2 RK_PA6 1 &pcfg_pull_none>, /* cif_data8 */
					<2 RK_PA7 1 &pcfg_pull_none>, /* cif_data9 */
					<2 RK_PB0 1 &pcfg_pull_none>, /* cif_sync */
					<2 RK_PB1 1 &pcfg_pull_none>, /* cif_href */
					<2 RK_PB2 1 &pcfg_pull_none>, /* cif_clkin */
					<2 RK_PB3 1 &pcfg_pull_none>; /* cif_clkout */
			};

			dvp_d0d1_m0: dvp-d0d1-m0 {
				rockchip,pins =
					<2 RK_PB4 1 &pcfg_pull_none>, /* cif_data0 */
					<2 RK_PB6 1 &pcfg_pull_none>; /* cif_data1 */
			};

			dvp_d10d11_m0:d10-d11-m0 {
				rockchip,pins =
					<2 RK_PB7 1 &pcfg_pull_none>, /* cif_data10 */
					<2 RK_PC0 1 &pcfg_pull_none>; /* cif_data11 */
			};
		};

		cif-m1 {
			cif_clkout_m1: cif-clkout-m1 {
				rockchip,pins =
					<3 RK_PD0 3 &pcfg_pull_none>;
			};

			dvp_d2d9_m1: dvp-d2d9-m1 {
				rockchip,pins =
					<3 RK_PA3 3 &pcfg_pull_none>, /* cif_data2 */
					<3 RK_PA5 3 &pcfg_pull_none>, /* cif_data3 */
					<3 RK_PA7 3 &pcfg_pull_none>, /* cif_data4 */
					<3 RK_PB0 3 &pcfg_pull_none>, /* cif_data5 */
					<3 RK_PB1 3 &pcfg_pull_none>, /* cif_data6 */
					<3 RK_PB4 3 &pcfg_pull_none>, /* cif_data7 */
					<3 RK_PB6 3 &pcfg_pull_none>, /* cif_data8 */
					<3 RK_PB7 3 &pcfg_pull_none>, /* cif_data9 */
					<3 RK_PD1 3 &pcfg_pull_none>, /* cif_sync */
					<3 RK_PD2 3 &pcfg_pull_none>, /* cif_href */
					<3 RK_PD3 3 &pcfg_pull_none>, /* cif_clkin */
					<3 RK_PD0 3 &pcfg_pull_none>; /* cif_clkout */
			};

			dvp_d0d1_m1: dvp-d0d1-m1 {
				rockchip,pins =
					<3 RK_PA1 3 &pcfg_pull_none>, /* cif_data0 */
					<3 RK_PA2 3 &pcfg_pull_none>; /* cif_data1 */
			};

			dvp_d10d11_m1:d10-d11-m1 {
				rockchip,pins =
					<3 RK_PC6 3 &pcfg_pull_none>, /* cif_data10 */
					<3 RK_PC7 3 &pcfg_pull_none>; /* cif_data11 */
			};
		};

		isp {
			isp_prelight: isp-prelight {
				rockchip,pins =
					<3 RK_PD1 4 &pcfg_pull_none>;
			};
		};
	};
};
