Home | History | Annotate | Line # | Download | only in rockchip
      1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2 /*
      3  * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
      4  */
      5 
      6 #include <dt-bindings/clock/rk3328-cru.h>
      7 #include <dt-bindings/gpio/gpio.h>
      8 #include <dt-bindings/interrupt-controller/arm-gic.h>
      9 #include <dt-bindings/interrupt-controller/irq.h>
     10 #include <dt-bindings/pinctrl/rockchip.h>
     11 #include <dt-bindings/power/rk3328-power.h>
     12 #include <dt-bindings/soc/rockchip,boot-mode.h>
     13 #include <dt-bindings/thermal/thermal.h>
     14 
     15 / {
     16 	compatible = "rockchip,rk3328";
     17 
     18 	interrupt-parent = <&gic>;
     19 	#address-cells = <2>;
     20 	#size-cells = <2>;
     21 
     22 	aliases {
     23 		serial0 = &uart0;
     24 		serial1 = &uart1;
     25 		serial2 = &uart2;
     26 		i2c0 = &i2c0;
     27 		i2c1 = &i2c1;
     28 		i2c2 = &i2c2;
     29 		i2c3 = &i2c3;
     30 		ethernet0 = &gmac2io;
     31 		ethernet1 = &gmac2phy;
     32 	};
     33 
     34 	cpus {
     35 		#address-cells = <2>;
     36 		#size-cells = <0>;
     37 
     38 		cpu0: cpu@0 {
     39 			device_type = "cpu";
     40 			compatible = "arm,cortex-a53";
     41 			reg = <0x0 0x0>;
     42 			clocks = <&cru ARMCLK>;
     43 			#cooling-cells = <2>;
     44 			cpu-idle-states = <&CPU_SLEEP>;
     45 			dynamic-power-coefficient = <120>;
     46 			enable-method = "psci";
     47 			next-level-cache = <&l2>;
     48 			operating-points-v2 = <&cpu0_opp_table>;
     49 		};
     50 
     51 		cpu1: cpu@1 {
     52 			device_type = "cpu";
     53 			compatible = "arm,cortex-a53";
     54 			reg = <0x0 0x1>;
     55 			clocks = <&cru ARMCLK>;
     56 			#cooling-cells = <2>;
     57 			cpu-idle-states = <&CPU_SLEEP>;
     58 			dynamic-power-coefficient = <120>;
     59 			enable-method = "psci";
     60 			next-level-cache = <&l2>;
     61 			operating-points-v2 = <&cpu0_opp_table>;
     62 		};
     63 
     64 		cpu2: cpu@2 {
     65 			device_type = "cpu";
     66 			compatible = "arm,cortex-a53";
     67 			reg = <0x0 0x2>;
     68 			clocks = <&cru ARMCLK>;
     69 			#cooling-cells = <2>;
     70 			cpu-idle-states = <&CPU_SLEEP>;
     71 			dynamic-power-coefficient = <120>;
     72 			enable-method = "psci";
     73 			next-level-cache = <&l2>;
     74 			operating-points-v2 = <&cpu0_opp_table>;
     75 		};
     76 
     77 		cpu3: cpu@3 {
     78 			device_type = "cpu";
     79 			compatible = "arm,cortex-a53";
     80 			reg = <0x0 0x3>;
     81 			clocks = <&cru ARMCLK>;
     82 			#cooling-cells = <2>;
     83 			cpu-idle-states = <&CPU_SLEEP>;
     84 			dynamic-power-coefficient = <120>;
     85 			enable-method = "psci";
     86 			next-level-cache = <&l2>;
     87 			operating-points-v2 = <&cpu0_opp_table>;
     88 		};
     89 
     90 		idle-states {
     91 			entry-method = "psci";
     92 
     93 			CPU_SLEEP: cpu-sleep {
     94 				compatible = "arm,idle-state";
     95 				local-timer-stop;
     96 				arm,psci-suspend-param = <0x0010000>;
     97 				entry-latency-us = <120>;
     98 				exit-latency-us = <250>;
     99 				min-residency-us = <900>;
    100 			};
    101 		};
    102 
    103 		l2: l2-cache0 {
    104 			compatible = "cache";
    105 		};
    106 	};
    107 
    108 	cpu0_opp_table: opp_table0 {
    109 		compatible = "operating-points-v2";
    110 		opp-shared;
    111 
    112 		opp-408000000 {
    113 			opp-hz = /bits/ 64 <408000000>;
    114 			opp-microvolt = <950000>;
    115 			clock-latency-ns = <40000>;
    116 			opp-suspend;
    117 		};
    118 		opp-600000000 {
    119 			opp-hz = /bits/ 64 <600000000>;
    120 			opp-microvolt = <950000>;
    121 			clock-latency-ns = <40000>;
    122 		};
    123 		opp-816000000 {
    124 			opp-hz = /bits/ 64 <816000000>;
    125 			opp-microvolt = <1000000>;
    126 			clock-latency-ns = <40000>;
    127 		};
    128 		opp-1008000000 {
    129 			opp-hz = /bits/ 64 <1008000000>;
    130 			opp-microvolt = <1100000>;
    131 			clock-latency-ns = <40000>;
    132 		};
    133 		opp-1200000000 {
    134 			opp-hz = /bits/ 64 <1200000000>;
    135 			opp-microvolt = <1225000>;
    136 			clock-latency-ns = <40000>;
    137 		};
    138 		opp-1296000000 {
    139 			opp-hz = /bits/ 64 <1296000000>;
    140 			opp-microvolt = <1300000>;
    141 			clock-latency-ns = <40000>;
    142 		};
    143 	};
    144 
    145 	analog_sound: analog-sound {
    146 		compatible = "simple-audio-card";
    147 		simple-audio-card,format = "i2s";
    148 		simple-audio-card,mclk-fs = <256>;
    149 		simple-audio-card,name = "Analog";
    150 		status = "disabled";
    151 
    152 		simple-audio-card,cpu {
    153 			sound-dai = <&i2s1>;
    154 		};
    155 
    156 		simple-audio-card,codec {
    157 			sound-dai = <&codec>;
    158 		};
    159 	};
    160 
    161 	arm-pmu {
    162 		compatible = "arm,cortex-a53-pmu";
    163 		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
    164 			     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
    165 			     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
    166 			     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
    167 		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
    168 	};
    169 
    170 	display_subsystem: display-subsystem {
    171 		compatible = "rockchip,display-subsystem";
    172 		ports = <&vop_out>;
    173 	};
    174 
    175 	hdmi_sound: hdmi-sound {
    176 		compatible = "simple-audio-card";
    177 		simple-audio-card,format = "i2s";
    178 		simple-audio-card,mclk-fs = <128>;
    179 		simple-audio-card,name = "HDMI";
    180 		status = "disabled";
    181 
    182 		simple-audio-card,cpu {
    183 			sound-dai = <&i2s0>;
    184 		};
    185 
    186 		simple-audio-card,codec {
    187 			sound-dai = <&hdmi>;
    188 		};
    189 	};
    190 
    191 	psci {
    192 		compatible = "arm,psci-1.0", "arm,psci-0.2";
    193 		method = "smc";
    194 	};
    195 
    196 	timer {
    197 		compatible = "arm,armv8-timer";
    198 		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
    199 			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
    200 			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
    201 			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
    202 	};
    203 
    204 	xin24m: xin24m {
    205 		compatible = "fixed-clock";
    206 		#clock-cells = <0>;
    207 		clock-frequency = <24000000>;
    208 		clock-output-names = "xin24m";
    209 	};
    210 
    211 	i2s0: i2s@ff000000 {
    212 		compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
    213 		reg = <0x0 0xff000000 0x0 0x1000>;
    214 		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
    215 		clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>;
    216 		clock-names = "i2s_clk", "i2s_hclk";
    217 		dmas = <&dmac 11>, <&dmac 12>;
    218 		dma-names = "tx", "rx";
    219 		#sound-dai-cells = <0>;
    220 		status = "disabled";
    221 	};
    222 
    223 	i2s1: i2s@ff010000 {
    224 		compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
    225 		reg = <0x0 0xff010000 0x0 0x1000>;
    226 		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
    227 		clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>;
    228 		clock-names = "i2s_clk", "i2s_hclk";
    229 		dmas = <&dmac 14>, <&dmac 15>;
    230 		dma-names = "tx", "rx";
    231 		#sound-dai-cells = <0>;
    232 		status = "disabled";
    233 	};
    234 
    235 	i2s2: i2s@ff020000 {
    236 		compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
    237 		reg = <0x0 0xff020000 0x0 0x1000>;
    238 		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
    239 		clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>;
    240 		clock-names = "i2s_clk", "i2s_hclk";
    241 		dmas = <&dmac 0>, <&dmac 1>;
    242 		dma-names = "tx", "rx";
    243 		#sound-dai-cells = <0>;
    244 		status = "disabled";
    245 	};
    246 
    247 	spdif: spdif@ff030000 {
    248 		compatible = "rockchip,rk3328-spdif";
    249 		reg = <0x0 0xff030000 0x0 0x1000>;
    250 		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
    251 		clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>;
    252 		clock-names = "mclk", "hclk";
    253 		dmas = <&dmac 10>;
    254 		dma-names = "tx";
    255 		pinctrl-names = "default";
    256 		pinctrl-0 = <&spdifm2_tx>;
    257 		#sound-dai-cells = <0>;
    258 		status = "disabled";
    259 	};
    260 
    261 	pdm: pdm@ff040000 {
    262 		compatible = "rockchip,pdm";
    263 		reg = <0x0 0xff040000 0x0 0x1000>;
    264 		clocks = <&cru SCLK_PDM>, <&cru HCLK_PDM>;
    265 		clock-names = "pdm_clk", "pdm_hclk";
    266 		dmas = <&dmac 16>;
    267 		dma-names = "rx";
    268 		pinctrl-names = "default", "sleep";
    269 		pinctrl-0 = <&pdmm0_clk
    270 			     &pdmm0_sdi0
    271 			     &pdmm0_sdi1
    272 			     &pdmm0_sdi2
    273 			     &pdmm0_sdi3>;
    274 		pinctrl-1 = <&pdmm0_clk_sleep
    275 			     &pdmm0_sdi0_sleep
    276 			     &pdmm0_sdi1_sleep
    277 			     &pdmm0_sdi2_sleep
    278 			     &pdmm0_sdi3_sleep>;
    279 		status = "disabled";
    280 	};
    281 
    282 	grf: syscon@ff100000 {
    283 		compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd";
    284 		reg = <0x0 0xff100000 0x0 0x1000>;
    285 
    286 		io_domains: io-domains {
    287 			compatible = "rockchip,rk3328-io-voltage-domain";
    288 			status = "disabled";
    289 		};
    290 
    291 		grf_gpio: gpio {
    292 			compatible = "rockchip,rk3328-grf-gpio";
    293 			gpio-controller;
    294 			#gpio-cells = <2>;
    295 		};
    296 
    297 		power: power-controller {
    298 			compatible = "rockchip,rk3328-power-controller";
    299 			#power-domain-cells = <1>;
    300 			#address-cells = <1>;
    301 			#size-cells = <0>;
    302 
    303 			power-domain@RK3328_PD_HEVC {
    304 				reg = <RK3328_PD_HEVC>;
    305 				#power-domain-cells = <0>;
    306 			};
    307 			power-domain@RK3328_PD_VIDEO {
    308 				reg = <RK3328_PD_VIDEO>;
    309 				#power-domain-cells = <0>;
    310 			};
    311 			power-domain@RK3328_PD_VPU {
    312 				reg = <RK3328_PD_VPU>;
    313 				clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
    314 				#power-domain-cells = <0>;
    315 			};
    316 		};
    317 
    318 		reboot-mode {
    319 			compatible = "syscon-reboot-mode";
    320 			offset = <0x5c8>;
    321 			mode-normal = <BOOT_NORMAL>;
    322 			mode-recovery = <BOOT_RECOVERY>;
    323 			mode-bootloader = <BOOT_FASTBOOT>;
    324 			mode-loader = <BOOT_BL_DOWNLOAD>;
    325 		};
    326 	};
    327 
    328 	uart0: serial@ff110000 {
    329 		compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
    330 		reg = <0x0 0xff110000 0x0 0x100>;
    331 		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
    332 		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
    333 		clock-names = "baudclk", "apb_pclk";
    334 		dmas = <&dmac 2>, <&dmac 3>;
    335 		dma-names = "tx", "rx";
    336 		pinctrl-names = "default";
    337 		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
    338 		reg-io-width = <4>;
    339 		reg-shift = <2>;
    340 		status = "disabled";
    341 	};
    342 
    343 	uart1: serial@ff120000 {
    344 		compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
    345 		reg = <0x0 0xff120000 0x0 0x100>;
    346 		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
    347 		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
    348 		clock-names = "baudclk", "apb_pclk";
    349 		dmas = <&dmac 4>, <&dmac 5>;
    350 		dma-names = "tx", "rx";
    351 		pinctrl-names = "default";
    352 		pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
    353 		reg-io-width = <4>;
    354 		reg-shift = <2>;
    355 		status = "disabled";
    356 	};
    357 
    358 	uart2: serial@ff130000 {
    359 		compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
    360 		reg = <0x0 0xff130000 0x0 0x100>;
    361 		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
    362 		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
    363 		clock-names = "baudclk", "apb_pclk";
    364 		dmas = <&dmac 6>, <&dmac 7>;
    365 		dma-names = "tx", "rx";
    366 		pinctrl-names = "default";
    367 		pinctrl-0 = <&uart2m1_xfer>;
    368 		reg-io-width = <4>;
    369 		reg-shift = <2>;
    370 		status = "disabled";
    371 	};
    372 
    373 	i2c0: i2c@ff150000 {
    374 		compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
    375 		reg = <0x0 0xff150000 0x0 0x1000>;
    376 		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
    377 		#address-cells = <1>;
    378 		#size-cells = <0>;
    379 		clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>;
    380 		clock-names = "i2c", "pclk";
    381 		pinctrl-names = "default";
    382 		pinctrl-0 = <&i2c0_xfer>;
    383 		status = "disabled";
    384 	};
    385 
    386 	i2c1: i2c@ff160000 {
    387 		compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
    388 		reg = <0x0 0xff160000 0x0 0x1000>;
    389 		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
    390 		#address-cells = <1>;
    391 		#size-cells = <0>;
    392 		clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
    393 		clock-names = "i2c", "pclk";
    394 		pinctrl-names = "default";
    395 		pinctrl-0 = <&i2c1_xfer>;
    396 		status = "disabled";
    397 	};
    398 
    399 	i2c2: i2c@ff170000 {
    400 		compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
    401 		reg = <0x0 0xff170000 0x0 0x1000>;
    402 		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
    403 		#address-cells = <1>;
    404 		#size-cells = <0>;
    405 		clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
    406 		clock-names = "i2c", "pclk";
    407 		pinctrl-names = "default";
    408 		pinctrl-0 = <&i2c2_xfer>;
    409 		status = "disabled";
    410 	};
    411 
    412 	i2c3: i2c@ff180000 {
    413 		compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
    414 		reg = <0x0 0xff180000 0x0 0x1000>;
    415 		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
    416 		#address-cells = <1>;
    417 		#size-cells = <0>;
    418 		clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
    419 		clock-names = "i2c", "pclk";
    420 		pinctrl-names = "default";
    421 		pinctrl-0 = <&i2c3_xfer>;
    422 		status = "disabled";
    423 	};
    424 
    425 	spi0: spi@ff190000 {
    426 		compatible = "rockchip,rk3328-spi", "rockchip,rk3066-spi";
    427 		reg = <0x0 0xff190000 0x0 0x1000>;
    428 		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
    429 		#address-cells = <1>;
    430 		#size-cells = <0>;
    431 		clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>;
    432 		clock-names = "spiclk", "apb_pclk";
    433 		dmas = <&dmac 8>, <&dmac 9>;
    434 		dma-names = "tx", "rx";
    435 		pinctrl-names = "default";
    436 		pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx &spi0m2_cs0>;
    437 		status = "disabled";
    438 	};
    439 
    440 	wdt: watchdog@ff1a0000 {
    441 		compatible = "rockchip,rk3328-wdt", "snps,dw-wdt";
    442 		reg = <0x0 0xff1a0000 0x0 0x100>;
    443 		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
    444 		clocks = <&cru PCLK_WDT>;
    445 	};
    446 
    447 	pwm0: pwm@ff1b0000 {
    448 		compatible = "rockchip,rk3328-pwm";
    449 		reg = <0x0 0xff1b0000 0x0 0x10>;
    450 		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
    451 		clock-names = "pwm", "pclk";
    452 		pinctrl-names = "default";
    453 		pinctrl-0 = <&pwm0_pin>;
    454 		#pwm-cells = <3>;
    455 		status = "disabled";
    456 	};
    457 
    458 	pwm1: pwm@ff1b0010 {
    459 		compatible = "rockchip,rk3328-pwm";
    460 		reg = <0x0 0xff1b0010 0x0 0x10>;
    461 		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
    462 		clock-names = "pwm", "pclk";
    463 		pinctrl-names = "default";
    464 		pinctrl-0 = <&pwm1_pin>;
    465 		#pwm-cells = <3>;
    466 		status = "disabled";
    467 	};
    468 
    469 	pwm2: pwm@ff1b0020 {
    470 		compatible = "rockchip,rk3328-pwm";
    471 		reg = <0x0 0xff1b0020 0x0 0x10>;
    472 		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
    473 		clock-names = "pwm", "pclk";
    474 		pinctrl-names = "default";
    475 		pinctrl-0 = <&pwm2_pin>;
    476 		#pwm-cells = <3>;
    477 		status = "disabled";
    478 	};
    479 
    480 	pwm3: pwm@ff1b0030 {
    481 		compatible = "rockchip,rk3328-pwm";
    482 		reg = <0x0 0xff1b0030 0x0 0x10>;
    483 		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
    484 		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
    485 		clock-names = "pwm", "pclk";
    486 		pinctrl-names = "default";
    487 		pinctrl-0 = <&pwmir_pin>;
    488 		#pwm-cells = <3>;
    489 		status = "disabled";
    490 	};
    491 
    492 	dmac: dmac@ff1f0000 {
    493 		compatible = "arm,pl330", "arm,primecell";
    494 		reg = <0x0 0xff1f0000 0x0 0x4000>;
    495 		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
    496 			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
    497 		arm,pl330-periph-burst;
    498 		clocks = <&cru ACLK_DMAC>;
    499 		clock-names = "apb_pclk";
    500 		#dma-cells = <1>;
    501 	};
    502 
    503 	thermal-zones {
    504 		soc_thermal: soc-thermal {
    505 			polling-delay-passive = <20>;
    506 			polling-delay = <1000>;
    507 			sustainable-power = <1000>;
    508 
    509 			thermal-sensors = <&tsadc 0>;
    510 
    511 			trips {
    512 				threshold: trip-point0 {
    513 					temperature = <70000>;
    514 					hysteresis = <2000>;
    515 					type = "passive";
    516 				};
    517 				target: trip-point1 {
    518 					temperature = <85000>;
    519 					hysteresis = <2000>;
    520 					type = "passive";
    521 				};
    522 				soc_crit: soc-crit {
    523 					temperature = <95000>;
    524 					hysteresis = <2000>;
    525 					type = "critical";
    526 				};
    527 			};
    528 
    529 			cooling-maps {
    530 				map0 {
    531 					trip = <&target>;
    532 					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
    533 							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
    534 							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
    535 							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
    536 					contribution = <4096>;
    537 				};
    538 			};
    539 		};
    540 
    541 	};
    542 
    543 	tsadc: tsadc@ff250000 {
    544 		compatible = "rockchip,rk3328-tsadc";
    545 		reg = <0x0 0xff250000 0x0 0x100>;
    546 		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
    547 		assigned-clocks = <&cru SCLK_TSADC>;
    548 		assigned-clock-rates = <50000>;
    549 		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
    550 		clock-names = "tsadc", "apb_pclk";
    551 		pinctrl-names = "init", "default", "sleep";
    552 		pinctrl-0 = <&otp_pin>;
    553 		pinctrl-1 = <&otp_out>;
    554 		pinctrl-2 = <&otp_pin>;
    555 		resets = <&cru SRST_TSADC>;
    556 		reset-names = "tsadc-apb";
    557 		rockchip,grf = <&grf>;
    558 		rockchip,hw-tshut-temp = <100000>;
    559 		#thermal-sensor-cells = <1>;
    560 		status = "disabled";
    561 	};
    562 
    563 	efuse: efuse@ff260000 {
    564 		compatible = "rockchip,rk3328-efuse";
    565 		reg = <0x0 0xff260000 0x0 0x50>;
    566 		#address-cells = <1>;
    567 		#size-cells = <1>;
    568 		clocks = <&cru SCLK_EFUSE>;
    569 		clock-names = "pclk_efuse";
    570 		rockchip,efuse-size = <0x20>;
    571 
    572 		/* Data cells */
    573 		efuse_id: id@7 {
    574 			reg = <0x07 0x10>;
    575 		};
    576 		cpu_leakage: cpu-leakage@17 {
    577 			reg = <0x17 0x1>;
    578 		};
    579 		logic_leakage: logic-leakage@19 {
    580 			reg = <0x19 0x1>;
    581 		};
    582 		efuse_cpu_version: cpu-version@1a {
    583 			reg = <0x1a 0x1>;
    584 			bits = <3 3>;
    585 		};
    586 	};
    587 
    588 	saradc: adc@ff280000 {
    589 		compatible = "rockchip,rk3328-saradc", "rockchip,rk3399-saradc";
    590 		reg = <0x0 0xff280000 0x0 0x100>;
    591 		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
    592 		#io-channel-cells = <1>;
    593 		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
    594 		clock-names = "saradc", "apb_pclk";
    595 		resets = <&cru SRST_SARADC_P>;
    596 		reset-names = "saradc-apb";
    597 		status = "disabled";
    598 	};
    599 
    600 	gpu: gpu@ff300000 {
    601 		compatible = "rockchip,rk3328-mali", "arm,mali-450";
    602 		reg = <0x0 0xff300000 0x0 0x40000>;
    603 		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
    604 			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
    605 			     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
    606 			     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
    607 			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
    608 			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
    609 			     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
    610 		interrupt-names = "gp",
    611 				  "gpmmu",
    612 				  "pp",
    613 				  "pp0",
    614 				  "ppmmu0",
    615 				  "pp1",
    616 				  "ppmmu1";
    617 		clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
    618 		clock-names = "bus", "core";
    619 		resets = <&cru SRST_GPU_A>;
    620 	};
    621 
    622 	h265e_mmu: iommu@ff330200 {
    623 		compatible = "rockchip,iommu";
    624 		reg = <0x0 0xff330200 0 0x100>;
    625 		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
    626 		interrupt-names = "h265e_mmu";
    627 		clocks = <&cru ACLK_H265>, <&cru PCLK_H265>;
    628 		clock-names = "aclk", "iface";
    629 		#iommu-cells = <0>;
    630 		status = "disabled";
    631 	};
    632 
    633 	vepu_mmu: iommu@ff340800 {
    634 		compatible = "rockchip,iommu";
    635 		reg = <0x0 0xff340800 0x0 0x40>;
    636 		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
    637 		interrupt-names = "vepu_mmu";
    638 		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
    639 		clock-names = "aclk", "iface";
    640 		#iommu-cells = <0>;
    641 		status = "disabled";
    642 	};
    643 
    644 	vpu: video-codec@ff350000 {
    645 		compatible = "rockchip,rk3328-vpu";
    646 		reg = <0x0 0xff350000 0x0 0x800>;
    647 		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
    648 		interrupt-names = "vdpu";
    649 		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
    650 		clock-names = "aclk", "hclk";
    651 		iommus = <&vpu_mmu>;
    652 		power-domains = <&power RK3328_PD_VPU>;
    653 	};
    654 
    655 	vpu_mmu: iommu@ff350800 {
    656 		compatible = "rockchip,iommu";
    657 		reg = <0x0 0xff350800 0x0 0x40>;
    658 		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
    659 		interrupt-names = "vpu_mmu";
    660 		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
    661 		clock-names = "aclk", "iface";
    662 		#iommu-cells = <0>;
    663 		power-domains = <&power RK3328_PD_VPU>;
    664 	};
    665 
    666 	rkvdec_mmu: iommu@ff360480 {
    667 		compatible = "rockchip,iommu";
    668 		reg = <0x0 0xff360480 0x0 0x40>, <0x0 0xff3604c0 0x0 0x40>;
    669 		interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
    670 		interrupt-names = "rkvdec_mmu";
    671 		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>;
    672 		clock-names = "aclk", "iface";
    673 		#iommu-cells = <0>;
    674 		status = "disabled";
    675 	};
    676 
    677 	vop: vop@ff370000 {
    678 		compatible = "rockchip,rk3328-vop";
    679 		reg = <0x0 0xff370000 0x0 0x3efc>;
    680 		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
    681 		clocks = <&cru ACLK_VOP>, <&cru DCLK_LCDC>, <&cru HCLK_VOP>;
    682 		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
    683 		resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
    684 		reset-names = "axi", "ahb", "dclk";
    685 		iommus = <&vop_mmu>;
    686 		status = "disabled";
    687 
    688 		vop_out: port {
    689 			#address-cells = <1>;
    690 			#size-cells = <0>;
    691 
    692 			vop_out_hdmi: endpoint@0 {
    693 				reg = <0>;
    694 				remote-endpoint = <&hdmi_in_vop>;
    695 			};
    696 		};
    697 	};
    698 
    699 	vop_mmu: iommu@ff373f00 {
    700 		compatible = "rockchip,iommu";
    701 		reg = <0x0 0xff373f00 0x0 0x100>;
    702 		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
    703 		interrupt-names = "vop_mmu";
    704 		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
    705 		clock-names = "aclk", "iface";
    706 		#iommu-cells = <0>;
    707 		status = "disabled";
    708 	};
    709 
    710 	hdmi: hdmi@ff3c0000 {
    711 		compatible = "rockchip,rk3328-dw-hdmi";
    712 		reg = <0x0 0xff3c0000 0x0 0x20000>;
    713 		reg-io-width = <4>;
    714 		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
    715 			     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
    716 		clocks = <&cru PCLK_HDMI>,
    717 			 <&cru SCLK_HDMI_SFC>,
    718 			 <&cru SCLK_RTC32K>;
    719 		clock-names = "iahb",
    720 			      "isfr",
    721 			      "cec";
    722 		phys = <&hdmiphy>;
    723 		phy-names = "hdmi";
    724 		pinctrl-names = "default";
    725 		pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>;
    726 		rockchip,grf = <&grf>;
    727 		#sound-dai-cells = <0>;
    728 		status = "disabled";
    729 
    730 		ports {
    731 			hdmi_in: port {
    732 				hdmi_in_vop: endpoint {
    733 					remote-endpoint = <&vop_out_hdmi>;
    734 				};
    735 			};
    736 		};
    737 	};
    738 
    739 	codec: codec@ff410000 {
    740 		compatible = "rockchip,rk3328-codec";
    741 		reg = <0x0 0xff410000 0x0 0x1000>;
    742 		clocks = <&cru PCLK_ACODECPHY>, <&cru SCLK_I2S1>;
    743 		clock-names = "pclk", "mclk";
    744 		rockchip,grf = <&grf>;
    745 		#sound-dai-cells = <0>;
    746 		status = "disabled";
    747 	};
    748 
    749 	hdmiphy: phy@ff430000 {
    750 		compatible = "rockchip,rk3328-hdmi-phy";
    751 		reg = <0x0 0xff430000 0x0 0x10000>;
    752 		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
    753 		clocks = <&cru PCLK_HDMIPHY>, <&xin24m>, <&cru DCLK_HDMIPHY>;
    754 		clock-names = "sysclk", "refoclk", "refpclk";
    755 		clock-output-names = "hdmi_phy";
    756 		#clock-cells = <0>;
    757 		nvmem-cells = <&efuse_cpu_version>;
    758 		nvmem-cell-names = "cpu-version";
    759 		#phy-cells = <0>;
    760 		status = "disabled";
    761 	};
    762 
    763 	cru: clock-controller@ff440000 {
    764 		compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon";
    765 		reg = <0x0 0xff440000 0x0 0x1000>;
    766 		rockchip,grf = <&grf>;
    767 		#clock-cells = <1>;
    768 		#reset-cells = <1>;
    769 		assigned-clocks =
    770 			/*
    771 			 * CPLL should run at 1200, but that is to high for
    772 			 * the initial dividers of most of its children.
    773 			 * We need set cpll child clk div first,
    774 			 * and then set the cpll frequency.
    775 			 */
    776 			<&cru DCLK_LCDC>, <&cru SCLK_PDM>,
    777 			<&cru SCLK_RTC32K>, <&cru SCLK_UART0>,
    778 			<&cru SCLK_UART1>, <&cru SCLK_UART2>,
    779 			<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
    780 			<&cru ACLK_VIO_PRE>, <&cru ACLK_RGA_PRE>,
    781 			<&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
    782 			<&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
    783 			<&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
    784 			<&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
    785 			<&cru SCLK_SDIO>, <&cru SCLK_TSP>,
    786 			<&cru SCLK_WIFI>, <&cru ARMCLK>,
    787 			<&cru PLL_GPLL>, <&cru PLL_CPLL>,
    788 			<&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>,
    789 			<&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
    790 			<&cru HCLK_PERI>, <&cru PCLK_PERI>,
    791 			<&cru SCLK_RTC32K>;
    792 		assigned-clock-parents =
    793 			<&cru HDMIPHY>, <&cru PLL_APLL>,
    794 			<&cru PLL_GPLL>, <&xin24m>,
    795 			<&xin24m>, <&xin24m>;
    796 		assigned-clock-rates =
    797 			<0>, <61440000>,
    798 			<0>, <24000000>,
    799 			<24000000>, <24000000>,
    800 			<15000000>, <15000000>,
    801 			<100000000>, <100000000>,
    802 			<100000000>, <100000000>,
    803 			<50000000>, <100000000>,
    804 			<100000000>, <100000000>,
    805 			<50000000>, <50000000>,
    806 			<50000000>, <50000000>,
    807 			<24000000>, <600000000>,
    808 			<491520000>, <1200000000>,
    809 			<150000000>, <75000000>,
    810 			<75000000>, <150000000>,
    811 			<75000000>, <75000000>,
    812 			<32768>;
    813 	};
    814 
    815 	usb2phy_grf: syscon@ff450000 {
    816 		compatible = "rockchip,rk3328-usb2phy-grf", "syscon",
    817 			     "simple-mfd";
    818 		reg = <0x0 0xff450000 0x0 0x10000>;
    819 		#address-cells = <1>;
    820 		#size-cells = <1>;
    821 
    822 		u2phy: usb2phy@100 {
    823 			compatible = "rockchip,rk3328-usb2phy";
    824 			reg = <0x100 0x10>;
    825 			clocks = <&xin24m>;
    826 			clock-names = "phyclk";
    827 			clock-output-names = "usb480m_phy";
    828 			#clock-cells = <0>;
    829 			assigned-clocks = <&cru USB480M>;
    830 			assigned-clock-parents = <&u2phy>;
    831 			status = "disabled";
    832 
    833 			u2phy_otg: otg-port {
    834 				#phy-cells = <0>;
    835 				interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
    836 					     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
    837 					     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
    838 				interrupt-names = "otg-bvalid", "otg-id",
    839 						  "linestate";
    840 				status = "disabled";
    841 			};
    842 
    843 			u2phy_host: host-port {
    844 				#phy-cells = <0>;
    845 				interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
    846 				interrupt-names = "linestate";
    847 				status = "disabled";
    848 			};
    849 		};
    850 	};
    851 
    852 	sdmmc: mmc@ff500000 {
    853 		compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
    854 		reg = <0x0 0xff500000 0x0 0x4000>;
    855 		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
    856 		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
    857 			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
    858 		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
    859 		fifo-depth = <0x100>;
    860 		max-frequency = <150000000>;
    861 		status = "disabled";
    862 	};
    863 
    864 	sdio: mmc@ff510000 {
    865 		compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
    866 		reg = <0x0 0xff510000 0x0 0x4000>;
    867 		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
    868 		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
    869 			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
    870 		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
    871 		fifo-depth = <0x100>;
    872 		max-frequency = <150000000>;
    873 		status = "disabled";
    874 	};
    875 
    876 	emmc: mmc@ff520000 {
    877 		compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
    878 		reg = <0x0 0xff520000 0x0 0x4000>;
    879 		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
    880 		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
    881 			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
    882 		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
    883 		fifo-depth = <0x100>;
    884 		max-frequency = <150000000>;
    885 		status = "disabled";
    886 	};
    887 
    888 	gmac2io: ethernet@ff540000 {
    889 		compatible = "rockchip,rk3328-gmac";
    890 		reg = <0x0 0xff540000 0x0 0x10000>;
    891 		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
    892 		interrupt-names = "macirq";
    893 		clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_RX>,
    894 			 <&cru SCLK_MAC2IO_TX>, <&cru SCLK_MAC2IO_REF>,
    895 			 <&cru SCLK_MAC2IO_REFOUT>, <&cru ACLK_MAC2IO>,
    896 			 <&cru PCLK_MAC2IO>;
    897 		clock-names = "stmmaceth", "mac_clk_rx",
    898 			      "mac_clk_tx", "clk_mac_ref",
    899 			      "clk_mac_refout", "aclk_mac",
    900 			      "pclk_mac";
    901 		resets = <&cru SRST_GMAC2IO_A>;
    902 		reset-names = "stmmaceth";
    903 		rockchip,grf = <&grf>;
    904 		snps,txpbl = <0x4>;
    905 		status = "disabled";
    906 	};
    907 
    908 	gmac2phy: ethernet@ff550000 {
    909 		compatible = "rockchip,rk3328-gmac";
    910 		reg = <0x0 0xff550000 0x0 0x10000>;
    911 		rockchip,grf = <&grf>;
    912 		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
    913 		interrupt-names = "macirq";
    914 		clocks = <&cru SCLK_MAC2PHY_SRC>, <&cru SCLK_MAC2PHY_RXTX>,
    915 			 <&cru SCLK_MAC2PHY_RXTX>, <&cru SCLK_MAC2PHY_REF>,
    916 			 <&cru ACLK_MAC2PHY>, <&cru PCLK_MAC2PHY>,
    917 			 <&cru SCLK_MAC2PHY_OUT>;
    918 		clock-names = "stmmaceth", "mac_clk_rx",
    919 			      "mac_clk_tx", "clk_mac_ref",
    920 			      "aclk_mac", "pclk_mac",
    921 			      "clk_macphy";
    922 		resets = <&cru SRST_GMAC2PHY_A>;
    923 		reset-names = "stmmaceth";
    924 		phy-mode = "rmii";
    925 		phy-handle = <&phy>;
    926 		snps,txpbl = <0x4>;
    927 		clock_in_out = "output";
    928 		status = "disabled";
    929 
    930 		mdio {
    931 			compatible = "snps,dwmac-mdio";
    932 			#address-cells = <1>;
    933 			#size-cells = <0>;
    934 
    935 			phy: ethernet-phy@0 {
    936 				compatible = "ethernet-phy-id1234.d400", "ethernet-phy-ieee802.3-c22";
    937 				reg = <0>;
    938 				clocks = <&cru SCLK_MAC2PHY_OUT>;
    939 				resets = <&cru SRST_MACPHY>;
    940 				pinctrl-names = "default";
    941 				pinctrl-0 = <&fephyled_rxm1 &fephyled_linkm1>;
    942 				phy-is-integrated;
    943 			};
    944 		};
    945 	};
    946 
    947 	usb20_otg: usb@ff580000 {
    948 		compatible = "rockchip,rk3328-usb", "rockchip,rk3066-usb",
    949 			     "snps,dwc2";
    950 		reg = <0x0 0xff580000 0x0 0x40000>;
    951 		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
    952 		clocks = <&cru HCLK_OTG>;
    953 		clock-names = "otg";
    954 		dr_mode = "otg";
    955 		g-np-tx-fifo-size = <16>;
    956 		g-rx-fifo-size = <280>;
    957 		g-tx-fifo-size = <256 128 128 64 32 16>;
    958 		phys = <&u2phy_otg>;
    959 		phy-names = "usb2-phy";
    960 		status = "disabled";
    961 	};
    962 
    963 	usb_host0_ehci: usb@ff5c0000 {
    964 		compatible = "generic-ehci";
    965 		reg = <0x0 0xff5c0000 0x0 0x10000>;
    966 		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
    967 		clocks = <&cru HCLK_HOST0>, <&u2phy>;
    968 		phys = <&u2phy_host>;
    969 		phy-names = "usb";
    970 		status = "disabled";
    971 	};
    972 
    973 	usb_host0_ohci: usb@ff5d0000 {
    974 		compatible = "generic-ohci";
    975 		reg = <0x0 0xff5d0000 0x0 0x10000>;
    976 		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
    977 		clocks = <&cru HCLK_HOST0>, <&u2phy>;
    978 		phys = <&u2phy_host>;
    979 		phy-names = "usb";
    980 		status = "disabled";
    981 	};
    982 
    983 	usbdrd3: usb@ff600000 {
    984 		compatible = "rockchip,rk3328-dwc3", "snps,dwc3";
    985 		reg = <0x0 0xff600000 0x0 0x100000>;
    986 		interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
    987 		clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>,
    988 			 <&cru ACLK_USB3OTG>;
    989 		clock-names = "ref_clk", "suspend_clk",
    990 			      "bus_clk";
    991 		dr_mode = "otg";
    992 		phy_type = "utmi_wide";
    993 		snps,dis-del-phy-power-chg-quirk;
    994 		snps,dis_enblslpm_quirk;
    995 		snps,dis-tx-ipgap-linecheck-quirk;
    996 		snps,dis-u2-freeclk-exists-quirk;
    997 		snps,dis_u2_susphy_quirk;
    998 		snps,dis_u3_susphy_quirk;
    999 		status = "disabled";
   1000 	};
   1001 
   1002 	gic: interrupt-controller@ff811000 {
   1003 		compatible = "arm,gic-400";
   1004 		#interrupt-cells = <3>;
   1005 		#address-cells = <0>;
   1006 		interrupt-controller;
   1007 		reg = <0x0 0xff811000 0 0x1000>,
   1008 		      <0x0 0xff812000 0 0x2000>,
   1009 		      <0x0 0xff814000 0 0x2000>,
   1010 		      <0x0 0xff816000 0 0x2000>;
   1011 		interrupts = <GIC_PPI 9
   1012 		      (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
   1013 	};
   1014 
   1015 	pinctrl: pinctrl {
   1016 		compatible = "rockchip,rk3328-pinctrl";
   1017 		rockchip,grf = <&grf>;
   1018 		#address-cells = <2>;
   1019 		#size-cells = <2>;
   1020 		ranges;
   1021 
   1022 		gpio0: gpio0@ff210000 {
   1023 			compatible = "rockchip,gpio-bank";
   1024 			reg = <0x0 0xff210000 0x0 0x100>;
   1025 			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
   1026 			clocks = <&cru PCLK_GPIO0>;
   1027 
   1028 			gpio-controller;
   1029 			#gpio-cells = <2>;
   1030 
   1031 			interrupt-controller;
   1032 			#interrupt-cells = <2>;
   1033 		};
   1034 
   1035 		gpio1: gpio1@ff220000 {
   1036 			compatible = "rockchip,gpio-bank";
   1037 			reg = <0x0 0xff220000 0x0 0x100>;
   1038 			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
   1039 			clocks = <&cru PCLK_GPIO1>;
   1040 
   1041 			gpio-controller;
   1042 			#gpio-cells = <2>;
   1043 
   1044 			interrupt-controller;
   1045 			#interrupt-cells = <2>;
   1046 		};
   1047 
   1048 		gpio2: gpio2@ff230000 {
   1049 			compatible = "rockchip,gpio-bank";
   1050 			reg = <0x0 0xff230000 0x0 0x100>;
   1051 			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
   1052 			clocks = <&cru PCLK_GPIO2>;
   1053 
   1054 			gpio-controller;
   1055 			#gpio-cells = <2>;
   1056 
   1057 			interrupt-controller;
   1058 			#interrupt-cells = <2>;
   1059 		};
   1060 
   1061 		gpio3: gpio3@ff240000 {
   1062 			compatible = "rockchip,gpio-bank";
   1063 			reg = <0x0 0xff240000 0x0 0x100>;
   1064 			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
   1065 			clocks = <&cru PCLK_GPIO3>;
   1066 
   1067 			gpio-controller;
   1068 			#gpio-cells = <2>;
   1069 
   1070 			interrupt-controller;
   1071 			#interrupt-cells = <2>;
   1072 		};
   1073 
   1074 		pcfg_pull_up: pcfg-pull-up {
   1075 			bias-pull-up;
   1076 		};
   1077 
   1078 		pcfg_pull_down: pcfg-pull-down {
   1079 			bias-pull-down;
   1080 		};
   1081 
   1082 		pcfg_pull_none: pcfg-pull-none {
   1083 			bias-disable;
   1084 		};
   1085 
   1086 		pcfg_pull_none_2ma: pcfg-pull-none-2ma {
   1087 			bias-disable;
   1088 			drive-strength = <2>;
   1089 		};
   1090 
   1091 		pcfg_pull_up_2ma: pcfg-pull-up-2ma {
   1092 			bias-pull-up;
   1093 			drive-strength = <2>;
   1094 		};
   1095 
   1096 		pcfg_pull_up_4ma: pcfg-pull-up-4ma {
   1097 			bias-pull-up;
   1098 			drive-strength = <4>;
   1099 		};
   1100 
   1101 		pcfg_pull_none_4ma: pcfg-pull-none-4ma {
   1102 			bias-disable;
   1103 			drive-strength = <4>;
   1104 		};
   1105 
   1106 		pcfg_pull_down_4ma: pcfg-pull-down-4ma {
   1107 			bias-pull-down;
   1108 			drive-strength = <4>;
   1109 		};
   1110 
   1111 		pcfg_pull_none_8ma: pcfg-pull-none-8ma {
   1112 			bias-disable;
   1113 			drive-strength = <8>;
   1114 		};
   1115 
   1116 		pcfg_pull_up_8ma: pcfg-pull-up-8ma {
   1117 			bias-pull-up;
   1118 			drive-strength = <8>;
   1119 		};
   1120 
   1121 		pcfg_pull_none_12ma: pcfg-pull-none-12ma {
   1122 			bias-disable;
   1123 			drive-strength = <12>;
   1124 		};
   1125 
   1126 		pcfg_pull_up_12ma: pcfg-pull-up-12ma {
   1127 			bias-pull-up;
   1128 			drive-strength = <12>;
   1129 		};
   1130 
   1131 		pcfg_output_high: pcfg-output-high {
   1132 			output-high;
   1133 		};
   1134 
   1135 		pcfg_output_low: pcfg-output-low {
   1136 			output-low;
   1137 		};
   1138 
   1139 		pcfg_input_high: pcfg-input-high {
   1140 			bias-pull-up;
   1141 			input-enable;
   1142 		};
   1143 
   1144 		pcfg_input: pcfg-input {
   1145 			input-enable;
   1146 		};
   1147 
   1148 		i2c0 {
   1149 			i2c0_xfer: i2c0-xfer {
   1150 				rockchip,pins = <2 RK_PD0 1 &pcfg_pull_none>,
   1151 						<2 RK_PD1 1 &pcfg_pull_none>;
   1152 			};
   1153 		};
   1154 
   1155 		i2c1 {
   1156 			i2c1_xfer: i2c1-xfer {
   1157 				rockchip,pins = <2 RK_PA4 2 &pcfg_pull_none>,
   1158 						<2 RK_PA5 2 &pcfg_pull_none>;
   1159 			};
   1160 		};
   1161 
   1162 		i2c2 {
   1163 			i2c2_xfer: i2c2-xfer {
   1164 				rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>,
   1165 						<2 RK_PB6 1 &pcfg_pull_none>;
   1166 			};
   1167 		};
   1168 
   1169 		i2c3 {
   1170 			i2c3_xfer: i2c3-xfer {
   1171 				rockchip,pins = <0 RK_PA5 2 &pcfg_pull_none>,
   1172 						<0 RK_PA6 2 &pcfg_pull_none>;
   1173 			};
   1174 			i2c3_pins: i2c3-pins {
   1175 				rockchip,pins =
   1176 					<0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>,
   1177 					<0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
   1178 			};
   1179 		};
   1180 
   1181 		hdmi_i2c {
   1182 			hdmii2c_xfer: hdmii2c-xfer {
   1183 				rockchip,pins = <0 RK_PA5 1 &pcfg_pull_none>,
   1184 						<0 RK_PA6 1 &pcfg_pull_none>;
   1185 			};
   1186 		};
   1187 
   1188 		pdm-0 {
   1189 			pdmm0_clk: pdmm0-clk {
   1190 				rockchip,pins = <2 RK_PC2 2 &pcfg_pull_none>;
   1191 			};
   1192 
   1193 			pdmm0_fsync: pdmm0-fsync {
   1194 				rockchip,pins = <2 RK_PC7 2 &pcfg_pull_none>;
   1195 			};
   1196 
   1197 			pdmm0_sdi0: pdmm0-sdi0 {
   1198 				rockchip,pins = <2 RK_PC3 2 &pcfg_pull_none>;
   1199 			};
   1200 
   1201 			pdmm0_sdi1: pdmm0-sdi1 {
   1202 				rockchip,pins = <2 RK_PC4 2 &pcfg_pull_none>;
   1203 			};
   1204 
   1205 			pdmm0_sdi2: pdmm0-sdi2 {
   1206 				rockchip,pins = <2 RK_PC5 2 &pcfg_pull_none>;
   1207 			};
   1208 
   1209 			pdmm0_sdi3: pdmm0-sdi3 {
   1210 				rockchip,pins = <2 RK_PC6 2 &pcfg_pull_none>;
   1211 			};
   1212 
   1213 			pdmm0_clk_sleep: pdmm0-clk-sleep {
   1214 				rockchip,pins =
   1215 					<2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>;
   1216 			};
   1217 
   1218 			pdmm0_sdi0_sleep: pdmm0-sdi0-sleep {
   1219 				rockchip,pins =
   1220 					<2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>;
   1221 			};
   1222 
   1223 			pdmm0_sdi1_sleep: pdmm0-sdi1-sleep {
   1224 				rockchip,pins =
   1225 					<2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>;
   1226 			};
   1227 
   1228 			pdmm0_sdi2_sleep: pdmm0-sdi2-sleep {
   1229 				rockchip,pins =
   1230 					<2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>;
   1231 			};
   1232 
   1233 			pdmm0_sdi3_sleep: pdmm0-sdi3-sleep {
   1234 				rockchip,pins =
   1235 					<2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>;
   1236 			};
   1237 
   1238 			pdmm0_fsync_sleep: pdmm0-fsync-sleep {
   1239 				rockchip,pins =
   1240 					<2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>;
   1241 			};
   1242 		};
   1243 
   1244 		tsadc {
   1245 			otp_pin: otp-pin {
   1246 				rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
   1247 			};
   1248 
   1249 			otp_out: otp-out {
   1250 				rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>;
   1251 			};
   1252 		};
   1253 
   1254 		uart0 {
   1255 			uart0_xfer: uart0-xfer {
   1256 				rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>,
   1257 						<1 RK_PB0 1 &pcfg_pull_up>;
   1258 			};
   1259 
   1260 			uart0_cts: uart0-cts {
   1261 				rockchip,pins = <1 RK_PB3 1 &pcfg_pull_none>;
   1262 			};
   1263 
   1264 			uart0_rts: uart0-rts {
   1265 				rockchip,pins = <1 RK_PB2 1 &pcfg_pull_none>;
   1266 			};
   1267 
   1268 			uart0_rts_pin: uart0-rts-pin {
   1269 				rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
   1270 			};
   1271 		};
   1272 
   1273 		uart1 {
   1274 			uart1_xfer: uart1-xfer {
   1275 				rockchip,pins = <3 RK_PA4 4 &pcfg_pull_none>,
   1276 						<3 RK_PA6 4 &pcfg_pull_up>;
   1277 			};
   1278 
   1279 			uart1_cts: uart1-cts {
   1280 				rockchip,pins = <3 RK_PA7 4 &pcfg_pull_none>;
   1281 			};
   1282 
   1283 			uart1_rts: uart1-rts {
   1284 				rockchip,pins = <3 RK_PA5 4 &pcfg_pull_none>;
   1285 			};
   1286 
   1287 			uart1_rts_pin: uart1-rts-pin {
   1288 				rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
   1289 			};
   1290 		};
   1291 
   1292 		uart2-0 {
   1293 			uart2m0_xfer: uart2m0-xfer {
   1294 				rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>,
   1295 						<1 RK_PA1 2 &pcfg_pull_up>;
   1296 			};
   1297 		};
   1298 
   1299 		uart2-1 {
   1300 			uart2m1_xfer: uart2m1-xfer {
   1301 				rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>,
   1302 						<2 RK_PA1 1 &pcfg_pull_up>;
   1303 			};
   1304 		};
   1305 
   1306 		spi0-0 {
   1307 			spi0m0_clk: spi0m0-clk {
   1308 				rockchip,pins = <2 RK_PB0 1 &pcfg_pull_up>;
   1309 			};
   1310 
   1311 			spi0m0_cs0: spi0m0-cs0 {
   1312 				rockchip,pins = <2 RK_PB3 1 &pcfg_pull_up>;
   1313 			};
   1314 
   1315 			spi0m0_tx: spi0m0-tx {
   1316 				rockchip,pins = <2 RK_PB1 1 &pcfg_pull_up>;
   1317 			};
   1318 
   1319 			spi0m0_rx: spi0m0-rx {
   1320 				rockchip,pins = <2 RK_PB2 1 &pcfg_pull_up>;
   1321 			};
   1322 
   1323 			spi0m0_cs1: spi0m0-cs1 {
   1324 				rockchip,pins = <2 RK_PB4 1 &pcfg_pull_up>;
   1325 			};
   1326 		};
   1327 
   1328 		spi0-1 {
   1329 			spi0m1_clk: spi0m1-clk {
   1330 				rockchip,pins = <3 RK_PC7 2 &pcfg_pull_up>;
   1331 			};
   1332 
   1333 			spi0m1_cs0: spi0m1-cs0 {
   1334 				rockchip,pins = <3 RK_PD2 2 &pcfg_pull_up>;
   1335 			};
   1336 
   1337 			spi0m1_tx: spi0m1-tx {
   1338 				rockchip,pins = <3 RK_PD1 2 &pcfg_pull_up>;
   1339 			};
   1340 
   1341 			spi0m1_rx: spi0m1-rx {
   1342 				rockchip,pins = <3 RK_PD0 2 &pcfg_pull_up>;
   1343 			};
   1344 
   1345 			spi0m1_cs1: spi0m1-cs1 {
   1346 				rockchip,pins = <3 RK_PD3 2 &pcfg_pull_up>;
   1347 			};
   1348 		};
   1349 
   1350 		spi0-2 {
   1351 			spi0m2_clk: spi0m2-clk {
   1352 				rockchip,pins = <3 RK_PA0 4 &pcfg_pull_up>;
   1353 			};
   1354 
   1355 			spi0m2_cs0: spi0m2-cs0 {
   1356 				rockchip,pins = <3 RK_PB0 3 &pcfg_pull_up>;
   1357 			};
   1358 
   1359 			spi0m2_tx: spi0m2-tx {
   1360 				rockchip,pins = <3 RK_PA1 4 &pcfg_pull_up>;
   1361 			};
   1362 
   1363 			spi0m2_rx: spi0m2-rx {
   1364 				rockchip,pins = <3 RK_PA2 4 &pcfg_pull_up>;
   1365 			};
   1366 		};
   1367 
   1368 		i2s1 {
   1369 			i2s1_mclk: i2s1-mclk {
   1370 				rockchip,pins = <2 RK_PB7 1 &pcfg_pull_none>;
   1371 			};
   1372 
   1373 			i2s1_sclk: i2s1-sclk {
   1374 				rockchip,pins = <2 RK_PC2 1 &pcfg_pull_none>;
   1375 			};
   1376 
   1377 			i2s1_lrckrx: i2s1-lrckrx {
   1378 				rockchip,pins = <2 RK_PC0 1 &pcfg_pull_none>;
   1379 			};
   1380 
   1381 			i2s1_lrcktx: i2s1-lrcktx {
   1382 				rockchip,pins = <2 RK_PC1 1 &pcfg_pull_none>;
   1383 			};
   1384 
   1385 			i2s1_sdi: i2s1-sdi {
   1386 				rockchip,pins = <2 RK_PC3 1 &pcfg_pull_none>;
   1387 			};
   1388 
   1389 			i2s1_sdo: i2s1-sdo {
   1390 				rockchip,pins = <2 RK_PC7 1 &pcfg_pull_none>;
   1391 			};
   1392 
   1393 			i2s1_sdio1: i2s1-sdio1 {
   1394 				rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>;
   1395 			};
   1396 
   1397 			i2s1_sdio2: i2s1-sdio2 {
   1398 				rockchip,pins = <2 RK_PC5 1 &pcfg_pull_none>;
   1399 			};
   1400 
   1401 			i2s1_sdio3: i2s1-sdio3 {
   1402 				rockchip,pins = <2 RK_PC6 1 &pcfg_pull_none>;
   1403 			};
   1404 
   1405 			i2s1_sleep: i2s1-sleep {
   1406 				rockchip,pins =
   1407 					<2 RK_PB7 RK_FUNC_GPIO &pcfg_input_high>,
   1408 					<2 RK_PC0 RK_FUNC_GPIO &pcfg_input_high>,
   1409 					<2 RK_PC1 RK_FUNC_GPIO &pcfg_input_high>,
   1410 					<2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>,
   1411 					<2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>,
   1412 					<2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>,
   1413 					<2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>,
   1414 					<2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>,
   1415 					<2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>;
   1416 			};
   1417 		};
   1418 
   1419 		i2s2-0 {
   1420 			i2s2m0_mclk: i2s2m0-mclk {
   1421 				rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>;
   1422 			};
   1423 
   1424 			i2s2m0_sclk: i2s2m0-sclk {
   1425 				rockchip,pins = <1 RK_PC6 1 &pcfg_pull_none>;
   1426 			};
   1427 
   1428 			i2s2m0_lrckrx: i2s2m0-lrckrx {
   1429 				rockchip,pins = <1 RK_PD2 1 &pcfg_pull_none>;
   1430 			};
   1431 
   1432 			i2s2m0_lrcktx: i2s2m0-lrcktx {
   1433 				rockchip,pins = <1 RK_PC7 1 &pcfg_pull_none>;
   1434 			};
   1435 
   1436 			i2s2m0_sdi: i2s2m0-sdi {
   1437 				rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>;
   1438 			};
   1439 
   1440 			i2s2m0_sdo: i2s2m0-sdo {
   1441 				rockchip,pins = <1 RK_PD1 1 &pcfg_pull_none>;
   1442 			};
   1443 
   1444 			i2s2m0_sleep: i2s2m0-sleep {
   1445 				rockchip,pins =
   1446 					<1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>,
   1447 					<1 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>,
   1448 					<1 RK_PD2 RK_FUNC_GPIO &pcfg_input_high>,
   1449 					<1 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>,
   1450 					<1 RK_PD0 RK_FUNC_GPIO &pcfg_input_high>,
   1451 					<1 RK_PD1 RK_FUNC_GPIO &pcfg_input_high>;
   1452 			};
   1453 		};
   1454 
   1455 		i2s2-1 {
   1456 			i2s2m1_mclk: i2s2m1-mclk {
   1457 				rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>;
   1458 			};
   1459 
   1460 			i2s2m1_sclk: i2s2m1-sclk {
   1461 				rockchip,pins = <3 RK_PA0 6 &pcfg_pull_none>;
   1462 			};
   1463 
   1464 			i2s2m1_lrckrx: i2sm1-lrckrx {
   1465 				rockchip,pins = <3 RK_PB0 6 &pcfg_pull_none>;
   1466 			};
   1467 
   1468 			i2s2m1_lrcktx: i2s2m1-lrcktx {
   1469 				rockchip,pins = <3 RK_PB0 4 &pcfg_pull_none>;
   1470 			};
   1471 
   1472 			i2s2m1_sdi: i2s2m1-sdi {
   1473 				rockchip,pins = <3 RK_PA2 6 &pcfg_pull_none>;
   1474 			};
   1475 
   1476 			i2s2m1_sdo: i2s2m1-sdo {
   1477 				rockchip,pins = <3 RK_PA1 6 &pcfg_pull_none>;
   1478 			};
   1479 
   1480 			i2s2m1_sleep: i2s2m1-sleep {
   1481 				rockchip,pins =
   1482 					<1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>,
   1483 					<3 RK_PA0 RK_FUNC_GPIO &pcfg_input_high>,
   1484 					<3 RK_PB0 RK_FUNC_GPIO &pcfg_input_high>,
   1485 					<3 RK_PA2 RK_FUNC_GPIO &pcfg_input_high>,
   1486 					<3 RK_PA1 RK_FUNC_GPIO &pcfg_input_high>;
   1487 			};
   1488 		};
   1489 
   1490 		spdif-0 {
   1491 			spdifm0_tx: spdifm0-tx {
   1492 				rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>;
   1493 			};
   1494 		};
   1495 
   1496 		spdif-1 {
   1497 			spdifm1_tx: spdifm1-tx {
   1498 				rockchip,pins = <2 RK_PC1 2 &pcfg_pull_none>;
   1499 			};
   1500 		};
   1501 
   1502 		spdif-2 {
   1503 			spdifm2_tx: spdifm2-tx {
   1504 				rockchip,pins = <0 RK_PA2 2 &pcfg_pull_none>;
   1505 			};
   1506 		};
   1507 
   1508 		sdmmc0-0 {
   1509 			sdmmc0m0_pwren: sdmmc0m0-pwren {
   1510 				rockchip,pins = <2 RK_PA7 1 &pcfg_pull_up_4ma>;
   1511 			};
   1512 
   1513 			sdmmc0m0_pin: sdmmc0m0-pin {
   1514 				rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
   1515 			};
   1516 		};
   1517 
   1518 		sdmmc0-1 {
   1519 			sdmmc0m1_pwren: sdmmc0m1-pwren {
   1520 				rockchip,pins = <0 RK_PD6 3 &pcfg_pull_up_4ma>;
   1521 			};
   1522 
   1523 			sdmmc0m1_pin: sdmmc0m1-pin {
   1524 				rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
   1525 			};
   1526 		};
   1527 
   1528 		sdmmc0 {
   1529 			sdmmc0_clk: sdmmc0-clk {
   1530 				rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none_8ma>;
   1531 			};
   1532 
   1533 			sdmmc0_cmd: sdmmc0-cmd {
   1534 				rockchip,pins = <1 RK_PA4 1 &pcfg_pull_up_8ma>;
   1535 			};
   1536 
   1537 			sdmmc0_dectn: sdmmc0-dectn {
   1538 				rockchip,pins = <1 RK_PA5 1 &pcfg_pull_up_4ma>;
   1539 			};
   1540 
   1541 			sdmmc0_wrprt: sdmmc0-wrprt {
   1542 				rockchip,pins = <1 RK_PA7 1 &pcfg_pull_up_4ma>;
   1543 			};
   1544 
   1545 			sdmmc0_bus1: sdmmc0-bus1 {
   1546 				rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_8ma>;
   1547 			};
   1548 
   1549 			sdmmc0_bus4: sdmmc0-bus4 {
   1550 				rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_8ma>,
   1551 						<1 RK_PA1 1 &pcfg_pull_up_8ma>,
   1552 						<1 RK_PA2 1 &pcfg_pull_up_8ma>,
   1553 						<1 RK_PA3 1 &pcfg_pull_up_8ma>;
   1554 			};
   1555 
   1556 			sdmmc0_pins: sdmmc0-pins {
   1557 				rockchip,pins =
   1558 					<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1559 					<1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1560 					<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1561 					<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1562 					<1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1563 					<1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1564 					<1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1565 					<1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
   1566 			};
   1567 		};
   1568 
   1569 		sdmmc0ext {
   1570 			sdmmc0ext_clk: sdmmc0ext-clk {
   1571 				rockchip,pins = <3 RK_PA2 3 &pcfg_pull_none_4ma>;
   1572 			};
   1573 
   1574 			sdmmc0ext_cmd: sdmmc0ext-cmd {
   1575 				rockchip,pins = <3 RK_PA0 3 &pcfg_pull_up_4ma>;
   1576 			};
   1577 
   1578 			sdmmc0ext_wrprt: sdmmc0ext-wrprt {
   1579 				rockchip,pins = <3 RK_PA3 3 &pcfg_pull_up_4ma>;
   1580 			};
   1581 
   1582 			sdmmc0ext_dectn: sdmmc0ext-dectn {
   1583 				rockchip,pins = <3 RK_PA1 3 &pcfg_pull_up_4ma>;
   1584 			};
   1585 
   1586 			sdmmc0ext_bus1: sdmmc0ext-bus1 {
   1587 				rockchip,pins = <3 RK_PA4 3 &pcfg_pull_up_4ma>;
   1588 			};
   1589 
   1590 			sdmmc0ext_bus4: sdmmc0ext-bus4 {
   1591 				rockchip,pins =
   1592 					<3 RK_PA4 3 &pcfg_pull_up_4ma>,
   1593 					<3 RK_PA5 3 &pcfg_pull_up_4ma>,
   1594 					<3 RK_PA6 3 &pcfg_pull_up_4ma>,
   1595 					<3 RK_PA7 3 &pcfg_pull_up_4ma>;
   1596 			};
   1597 
   1598 			sdmmc0ext_pins: sdmmc0ext-pins {
   1599 				rockchip,pins =
   1600 					<3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1601 					<3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1602 					<3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1603 					<3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1604 					<3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1605 					<3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1606 					<3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1607 					<3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
   1608 			};
   1609 		};
   1610 
   1611 		sdmmc1 {
   1612 			sdmmc1_clk: sdmmc1-clk {
   1613 				rockchip,pins = <1 RK_PB4 1 &pcfg_pull_none_8ma>;
   1614 			};
   1615 
   1616 			sdmmc1_cmd: sdmmc1-cmd {
   1617 				rockchip,pins = <1 RK_PB5 1 &pcfg_pull_up_8ma>;
   1618 			};
   1619 
   1620 			sdmmc1_pwren: sdmmc1-pwren {
   1621 				rockchip,pins = <1 RK_PC2 1 &pcfg_pull_up_8ma>;
   1622 			};
   1623 
   1624 			sdmmc1_wrprt: sdmmc1-wrprt {
   1625 				rockchip,pins = <1 RK_PC4 1 &pcfg_pull_up_8ma>;
   1626 			};
   1627 
   1628 			sdmmc1_dectn: sdmmc1-dectn {
   1629 				rockchip,pins = <1 RK_PC3 1 &pcfg_pull_up_8ma>;
   1630 			};
   1631 
   1632 			sdmmc1_bus1: sdmmc1-bus1 {
   1633 				rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>;
   1634 			};
   1635 
   1636 			sdmmc1_bus4: sdmmc1-bus4 {
   1637 				rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>,
   1638 						<1 RK_PB7 1 &pcfg_pull_up_8ma>,
   1639 						<1 RK_PC0 1 &pcfg_pull_up_8ma>,
   1640 						<1 RK_PC1 1 &pcfg_pull_up_8ma>;
   1641 			};
   1642 
   1643 			sdmmc1_pins: sdmmc1-pins {
   1644 				rockchip,pins =
   1645 					<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1646 					<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1647 					<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1648 					<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1649 					<1 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1650 					<1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1651 					<1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1652 					<1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
   1653 					<1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
   1654 			};
   1655 		};
   1656 
   1657 		emmc {
   1658 			emmc_clk: emmc-clk {
   1659 				rockchip,pins = <3 RK_PC5 2 &pcfg_pull_none_12ma>;
   1660 			};
   1661 
   1662 			emmc_cmd: emmc-cmd {
   1663 				rockchip,pins = <3 RK_PC3 2 &pcfg_pull_up_12ma>;
   1664 			};
   1665 
   1666 			emmc_pwren: emmc-pwren {
   1667 				rockchip,pins = <3 RK_PC6 2 &pcfg_pull_none>;
   1668 			};
   1669 
   1670 			emmc_rstnout: emmc-rstnout {
   1671 				rockchip,pins = <3 RK_PC4 2 &pcfg_pull_none>;
   1672 			};
   1673 
   1674 			emmc_bus1: emmc-bus1 {
   1675 				rockchip,pins = <0 RK_PA7 2 &pcfg_pull_up_12ma>;
   1676 			};
   1677 
   1678 			emmc_bus4: emmc-bus4 {
   1679 				rockchip,pins =
   1680 					<0 RK_PA7 2 &pcfg_pull_up_12ma>,
   1681 					<2 RK_PD4 2 &pcfg_pull_up_12ma>,
   1682 					<2 RK_PD5 2 &pcfg_pull_up_12ma>,
   1683 					<2 RK_PD6 2 &pcfg_pull_up_12ma>;
   1684 			};
   1685 
   1686 			emmc_bus8: emmc-bus8 {
   1687 				rockchip,pins =
   1688 					<0 RK_PA7 2 &pcfg_pull_up_12ma>,
   1689 					<2 RK_PD4 2 &pcfg_pull_up_12ma>,
   1690 					<2 RK_PD5 2 &pcfg_pull_up_12ma>,
   1691 					<2 RK_PD6 2 &pcfg_pull_up_12ma>,
   1692 					<2 RK_PD7 2 &pcfg_pull_up_12ma>,
   1693 					<3 RK_PC0 2 &pcfg_pull_up_12ma>,
   1694 					<3 RK_PC1 2 &pcfg_pull_up_12ma>,
   1695 					<3 RK_PC2 2 &pcfg_pull_up_12ma>;
   1696 			};
   1697 		};
   1698 
   1699 		pwm0 {
   1700 			pwm0_pin: pwm0-pin {
   1701 				rockchip,pins = <2 RK_PA4 1 &pcfg_pull_none>;
   1702 			};
   1703 		};
   1704 
   1705 		pwm1 {
   1706 			pwm1_pin: pwm1-pin {
   1707 				rockchip,pins = <2 RK_PA5 1 &pcfg_pull_none>;
   1708 			};
   1709 		};
   1710 
   1711 		pwm2 {
   1712 			pwm2_pin: pwm2-pin {
   1713 				rockchip,pins = <2 RK_PA6 1 &pcfg_pull_none>;
   1714 			};
   1715 		};
   1716 
   1717 		pwmir {
   1718 			pwmir_pin: pwmir-pin {
   1719 				rockchip,pins = <2 RK_PA2 1 &pcfg_pull_none>;
   1720 			};
   1721 		};
   1722 
   1723 		gmac-1 {
   1724 			rgmiim1_pins: rgmiim1-pins {
   1725 				rockchip,pins =
   1726 					/* mac_txclk */
   1727 					<1 RK_PB4 2 &pcfg_pull_none_8ma>,
   1728 					/* mac_rxclk */
   1729 					<1 RK_PB5 2 &pcfg_pull_none_4ma>,
   1730 					/* mac_mdio */
   1731 					<1 RK_PC3 2 &pcfg_pull_none_4ma>,
   1732 					/* mac_txen */
   1733 					<1 RK_PD1 2 &pcfg_pull_none_8ma>,
   1734 					/* mac_clk */
   1735 					<1 RK_PC5 2 &pcfg_pull_none_4ma>,
   1736 					/* mac_rxdv */
   1737 					<1 RK_PC6 2 &pcfg_pull_none_4ma>,
   1738 					/* mac_mdc */
   1739 					<1 RK_PC7 2 &pcfg_pull_none_4ma>,
   1740 					/* mac_rxd1 */
   1741 					<1 RK_PB2 2 &pcfg_pull_none_4ma>,
   1742 					/* mac_rxd0 */
   1743 					<1 RK_PB3 2 &pcfg_pull_none_4ma>,
   1744 					/* mac_txd1 */
   1745 					<1 RK_PB0 2 &pcfg_pull_none_8ma>,
   1746 					/* mac_txd0 */
   1747 					<1 RK_PB1 2 &pcfg_pull_none_8ma>,
   1748 					/* mac_rxd3 */
   1749 					<1 RK_PB6 2 &pcfg_pull_none_4ma>,
   1750 					/* mac_rxd2 */
   1751 					<1 RK_PB7 2 &pcfg_pull_none_4ma>,
   1752 					/* mac_txd3 */
   1753 					<1 RK_PC0 2 &pcfg_pull_none_8ma>,
   1754 					/* mac_txd2 */
   1755 					<1 RK_PC1 2 &pcfg_pull_none_8ma>,
   1756 
   1757 					/* mac_txclk */
   1758 					<0 RK_PB0 1 &pcfg_pull_none_8ma>,
   1759 					/* mac_txen */
   1760 					<0 RK_PB4 1 &pcfg_pull_none_8ma>,
   1761 					/* mac_clk */
   1762 					<0 RK_PD0 1 &pcfg_pull_none_4ma>,
   1763 					/* mac_txd1 */
   1764 					<0 RK_PC0 1 &pcfg_pull_none_8ma>,
   1765 					/* mac_txd0 */
   1766 					<0 RK_PC1 1 &pcfg_pull_none_8ma>,
   1767 					/* mac_txd3 */
   1768 					<0 RK_PC7 1 &pcfg_pull_none_8ma>,
   1769 					/* mac_txd2 */
   1770 					<0 RK_PC6 1 &pcfg_pull_none_8ma>;
   1771 			};
   1772 
   1773 			rmiim1_pins: rmiim1-pins {
   1774 				rockchip,pins =
   1775 					/* mac_mdio */
   1776 					<1 RK_PC3 2 &pcfg_pull_none_2ma>,
   1777 					/* mac_txen */
   1778 					<1 RK_PD1 2 &pcfg_pull_none_12ma>,
   1779 					/* mac_clk */
   1780 					<1 RK_PC5 2 &pcfg_pull_none_2ma>,
   1781 					/* mac_rxer */
   1782 					<1 RK_PD0 2 &pcfg_pull_none_2ma>,
   1783 					/* mac_rxdv */
   1784 					<1 RK_PC6 2 &pcfg_pull_none_2ma>,
   1785 					/* mac_mdc */
   1786 					<1 RK_PC7 2 &pcfg_pull_none_2ma>,
   1787 					/* mac_rxd1 */
   1788 					<1 RK_PB2 2 &pcfg_pull_none_2ma>,
   1789 					/* mac_rxd0 */
   1790 					<1 RK_PB3 2 &pcfg_pull_none_2ma>,
   1791 					/* mac_txd1 */
   1792 					<1 RK_PB0 2 &pcfg_pull_none_12ma>,
   1793 					/* mac_txd0 */
   1794 					<1 RK_PB1 2 &pcfg_pull_none_12ma>,
   1795 
   1796 					/* mac_mdio */
   1797 					<0 RK_PB3 1 &pcfg_pull_none>,
   1798 					/* mac_txen */
   1799 					<0 RK_PB4 1 &pcfg_pull_none>,
   1800 					/* mac_clk */
   1801 					<0 RK_PD0 1 &pcfg_pull_none>,
   1802 					/* mac_mdc */
   1803 					<0 RK_PC3 1 &pcfg_pull_none>,
   1804 					/* mac_txd1 */
   1805 					<0 RK_PC0 1 &pcfg_pull_none>,
   1806 					/* mac_txd0 */
   1807 					<0 RK_PC1 1 &pcfg_pull_none>;
   1808 			};
   1809 		};
   1810 
   1811 		gmac2phy {
   1812 			fephyled_speed10: fephyled-speed10 {
   1813 				rockchip,pins = <0 RK_PD6 1 &pcfg_pull_none>;
   1814 			};
   1815 
   1816 			fephyled_duplex: fephyled-duplex {
   1817 				rockchip,pins = <0 RK_PD6 2 &pcfg_pull_none>;
   1818 			};
   1819 
   1820 			fephyled_rxm1: fephyled-rxm1 {
   1821 				rockchip,pins = <2 RK_PD1 2 &pcfg_pull_none>;
   1822 			};
   1823 
   1824 			fephyled_txm1: fephyled-txm1 {
   1825 				rockchip,pins = <2 RK_PD1 3 &pcfg_pull_none>;
   1826 			};
   1827 
   1828 			fephyled_linkm1: fephyled-linkm1 {
   1829 				rockchip,pins = <2 RK_PD0 2 &pcfg_pull_none>;
   1830 			};
   1831 		};
   1832 
   1833 		tsadc_pin {
   1834 			tsadc_int: tsadc-int {
   1835 				rockchip,pins = <2 RK_PB5 2 &pcfg_pull_none>;
   1836 			};
   1837 			tsadc_pin: tsadc-pin {
   1838 				rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
   1839 			};
   1840 		};
   1841 
   1842 		hdmi_pin {
   1843 			hdmi_cec: hdmi-cec {
   1844 				rockchip,pins = <0 RK_PA3 1 &pcfg_pull_none>;
   1845 			};
   1846 
   1847 			hdmi_hpd: hdmi-hpd {
   1848 				rockchip,pins = <0 RK_PA4 1 &pcfg_pull_down>;
   1849 			};
   1850 		};
   1851 
   1852 		cif-0 {
   1853 			dvp_d2d9_m0:dvp-d2d9-m0 {
   1854 				rockchip,pins =
   1855 					/* cif_d0 */
   1856 					<3 RK_PA4 2 &pcfg_pull_none>,
   1857 					/* cif_d1 */
   1858 					<3 RK_PA5 2 &pcfg_pull_none>,
   1859 					/* cif_d2 */
   1860 					<3 RK_PA6 2 &pcfg_pull_none>,
   1861 					/* cif_d3 */
   1862 					<3 RK_PA7 2 &pcfg_pull_none>,
   1863 					/* cif_d4 */
   1864 					<3 RK_PB0 2 &pcfg_pull_none>,
   1865 					/* cif_d5m0 */
   1866 					<3 RK_PB1 2 &pcfg_pull_none>,
   1867 					/* cif_d6m0 */
   1868 					<3 RK_PB2 2 &pcfg_pull_none>,
   1869 					/* cif_d7m0 */
   1870 					<3 RK_PB3 2 &pcfg_pull_none>,
   1871 					/* cif_href */
   1872 					<3 RK_PA1 2 &pcfg_pull_none>,
   1873 					/* cif_vsync */
   1874 					<3 RK_PA0 2 &pcfg_pull_none>,
   1875 					/* cif_clkoutm0 */
   1876 					<3 RK_PA3 2 &pcfg_pull_none>,
   1877 					/* cif_clkin */
   1878 					<3 RK_PA2 2 &pcfg_pull_none>;
   1879 			};
   1880 		};
   1881 
   1882 		cif-1 {
   1883 			dvp_d2d9_m1:dvp-d2d9-m1 {
   1884 				rockchip,pins =
   1885 					/* cif_d0 */
   1886 					<3 RK_PA4 2 &pcfg_pull_none>,
   1887 					/* cif_d1 */
   1888 					<3 RK_PA5 2 &pcfg_pull_none>,
   1889 					/* cif_d2 */
   1890 					<3 RK_PA6 2 &pcfg_pull_none>,
   1891 					/* cif_d3 */
   1892 					<3 RK_PA7 2 &pcfg_pull_none>,
   1893 					/* cif_d4 */
   1894 					<3 RK_PB0 2 &pcfg_pull_none>,
   1895 					/* cif_d5m1 */
   1896 					<2 RK_PC0 4 &pcfg_pull_none>,
   1897 					/* cif_d6m1 */
   1898 					<2 RK_PC1 4 &pcfg_pull_none>,
   1899 					/* cif_d7m1 */
   1900 					<2 RK_PC2 4 &pcfg_pull_none>,
   1901 					/* cif_href */
   1902 					<3 RK_PA1 2 &pcfg_pull_none>,
   1903 					/* cif_vsync */
   1904 					<3 RK_PA0 2 &pcfg_pull_none>,
   1905 					/* cif_clkoutm1 */
   1906 					<2 RK_PB7 4 &pcfg_pull_none>,
   1907 					/* cif_clkin */
   1908 					<3 RK_PA2 2 &pcfg_pull_none>;
   1909 			};
   1910 		};
   1911 	};
   1912 };
   1913