File Index
Files and directories
Sign in
FILE

rk322x.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm/boot/dts/rockchip/rk322x.dtsi DEVICETREE
   1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
   2
   3#include <dt-bindings/gpio/gpio.h>
   4#include <dt-bindings/interrupt-controller/irq.h>
   5#include <dt-bindings/interrupt-controller/arm-gic.h>
   6#include <dt-bindings/pinctrl/rockchip.h>
   7#include <dt-bindings/clock/rk3228-cru.h>
   8#include <dt-bindings/thermal/thermal.h>
   9#include <dt-bindings/power/rk3228-power.h>
  10
  11/ {
  12	#address-cells = <1>;
  13	#size-cells = <1>;
  14
  15	interrupt-parent = <&gic>;
  16
  17	aliases {
  18		gpio0 = &gpio0;
  19		gpio1 = &gpio1;
  20		gpio2 = &gpio2;
  21		gpio3 = &gpio3;
  22		serial0 = &uart0;
  23		serial1 = &uart1;
  24		serial2 = &uart2;
  25		spi0 = &spi0;
  26	};
  27
  28	cpus {
  29		#address-cells = <1>;
  30		#size-cells = <0>;
  31
  32		cpu0: cpu@f00 {
  33			device_type = "cpu";
  34			compatible = "arm,cortex-a7";
  35			reg = <0xf00>;
  36			resets = <&cru SRST_CORE0>;
  37			operating-points-v2 = <&cpu0_opp_table>;
  38			#cooling-cells = <2>; /* min followed by max */
  39			clocks = <&cru ARMCLK>;
  40			enable-method = "psci";
  41		};
  42
  43		cpu1: cpu@f01 {
  44			device_type = "cpu";
  45			compatible = "arm,cortex-a7";
  46			reg = <0xf01>;
  47			resets = <&cru SRST_CORE1>;
  48			operating-points-v2 = <&cpu0_opp_table>;
  49			#cooling-cells = <2>; /* min followed by max */
  50			enable-method = "psci";
  51		};
  52
  53		cpu2: cpu@f02 {
  54			device_type = "cpu";
  55			compatible = "arm,cortex-a7";
  56			reg = <0xf02>;
  57			resets = <&cru SRST_CORE2>;
  58			operating-points-v2 = <&cpu0_opp_table>;
  59			#cooling-cells = <2>; /* min followed by max */
  60			enable-method = "psci";
  61		};
  62
  63		cpu3: cpu@f03 {
  64			device_type = "cpu";
  65			compatible = "arm,cortex-a7";
  66			reg = <0xf03>;
  67			resets = <&cru SRST_CORE3>;
  68			operating-points-v2 = <&cpu0_opp_table>;
  69			#cooling-cells = <2>; /* min followed by max */
  70			enable-method = "psci";
  71		};
  72	};
  73
  74	cpu0_opp_table: opp-table-0 {
  75		compatible = "operating-points-v2";
  76		opp-shared;
  77
  78		opp-408000000 {
  79			opp-hz = /bits/ 64 <408000000>;
  80			opp-microvolt = <950000>;
  81			clock-latency-ns = <40000>;
  82			opp-suspend;
  83		};
  84		opp-600000000 {
  85			opp-hz = /bits/ 64 <600000000>;
  86			opp-microvolt = <975000>;
  87		};
  88		opp-816000000 {
  89			opp-hz = /bits/ 64 <816000000>;
  90			opp-microvolt = <1000000>;
  91		};
  92		opp-1008000000 {
  93			opp-hz = /bits/ 64 <1008000000>;
  94			opp-microvolt = <1175000>;
  95		};
  96		opp-1200000000 {
  97			opp-hz = /bits/ 64 <1200000000>;
  98			opp-microvolt = <1275000>;
  99		};
 100	};
 101
 102	arm-pmu {
 103		compatible = "arm,cortex-a7-pmu";
 104		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
 105			     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
 106			     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
 107			     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
 108		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
 109	};
 110
 111	psci {
 112		compatible = "arm,psci-1.0", "arm,psci-0.2";
 113		method = "smc";
 114	};
 115
 116	timer {
 117		compatible = "arm,armv7-timer";
 118		arm,cpu-registers-not-fw-configured;
 119		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
 120			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
 121			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
 122			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
 123		clock-frequency = <24000000>;
 124	};
 125
 126	xin24m: oscillator {
 127		compatible = "fixed-clock";
 128		clock-frequency = <24000000>;
 129		clock-output-names = "xin24m";
 130		#clock-cells = <0>;
 131	};
 132
 133	display_subsystem: display-subsystem {
 134		compatible = "rockchip,display-subsystem";
 135		ports = <&vop_out>;
 136	};
 137
 138	i2s1: i2s1@100b0000 {
 139		compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
 140		reg = <0x100b0000 0x4000>;
 141		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
 142		clock-names = "i2s_clk", "i2s_hclk";
 143		clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>;
 144		dmas = <&pdma 14>, <&pdma 15>;
 145		dma-names = "tx", "rx";
 146		pinctrl-names = "default";
 147		pinctrl-0 = <&i2s1_bus>;
 148		status = "disabled";
 149	};
 150
 151	i2s0: i2s0@100c0000 {
 152		compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
 153		reg = <0x100c0000 0x4000>;
 154		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
 155		clock-names = "i2s_clk", "i2s_hclk";
 156		clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>;
 157		dmas = <&pdma 11>, <&pdma 12>;
 158		dma-names = "tx", "rx";
 159		status = "disabled";
 160	};
 161
 162	spdif: spdif@100d0000 {
 163		compatible = "rockchip,rk3228-spdif";
 164		reg = <0x100d0000 0x1000>;
 165		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
 166		clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>;
 167		clock-names = "mclk", "hclk";
 168		dmas = <&pdma 10>;
 169		dma-names = "tx";
 170		pinctrl-names = "default";
 171		pinctrl-0 = <&spdif_tx>;
 172		status = "disabled";
 173	};
 174
 175	i2s2: i2s2@100e0000 {
 176		compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
 177		reg = <0x100e0000 0x4000>;
 178		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
 179		clock-names = "i2s_clk", "i2s_hclk";
 180		clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>;
 181		dmas = <&pdma 0>, <&pdma 1>;
 182		dma-names = "tx", "rx";
 183		status = "disabled";
 184	};
 185
 186	grf: syscon@11000000 {
 187		compatible = "rockchip,rk3228-grf", "syscon", "simple-mfd";
 188		reg = <0x11000000 0x1000>;
 189		#address-cells = <1>;
 190		#size-cells = <1>;
 191
 192		io_domains: io-domains {
 193			compatible = "rockchip,rk3228-io-voltage-domain";
 194			status = "disabled";
 195		};
 196
 197		power: power-controller {
 198			compatible = "rockchip,rk3228-power-controller";
 199			#power-domain-cells = <1>;
 200			#address-cells = <1>;
 201			#size-cells = <0>;
 202
 203			power-domain@RK3228_PD_VIO {
 204				reg = <RK3228_PD_VIO>;
 205				clocks = <&cru ACLK_HDCP>,
 206					 <&cru SCLK_HDCP>,
 207					 <&cru ACLK_IEP>,
 208					 <&cru HCLK_IEP>,
 209					 <&cru ACLK_RGA>,
 210					 <&cru HCLK_RGA>,
 211					 <&cru SCLK_RGA>;
 212				pm_qos = <&qos_hdcp>,
 213					 <&qos_iep>,
 214					 <&qos_rga_r>,
 215					 <&qos_rga_w>;
 216				#power-domain-cells = <0>;
 217			};
 218
 219			power-domain@RK3228_PD_VOP {
 220				reg = <RK3228_PD_VOP>;
 221				clocks = <&cru ACLK_VOP>,
 222					 <&cru DCLK_VOP>,
 223					 <&cru HCLK_VOP>;
 224				pm_qos = <&qos_vop>;
 225				#power-domain-cells = <0>;
 226			};
 227
 228			power-domain@RK3228_PD_VPU {
 229				reg = <RK3228_PD_VPU>;
 230				clocks = <&cru ACLK_VPU>,
 231					 <&cru HCLK_VPU>;
 232				pm_qos = <&qos_vpu>;
 233				#power-domain-cells = <0>;
 234			};
 235
 236			power-domain@RK3228_PD_RKVDEC {
 237				reg = <RK3228_PD_RKVDEC>;
 238				clocks = <&cru ACLK_RKVDEC>,
 239					 <&cru HCLK_RKVDEC>,
 240					 <&cru SCLK_VDEC_CABAC>,
 241					 <&cru SCLK_VDEC_CORE>;
 242				pm_qos = <&qos_rkvdec_r>,
 243					 <&qos_rkvdec_w>;
 244				#power-domain-cells = <0>;
 245			};
 246
 247			power-domain@RK3228_PD_GPU {
 248				reg = <RK3228_PD_GPU>;
 249				clocks = <&cru ACLK_GPU>;
 250				pm_qos = <&qos_gpu>;
 251				#power-domain-cells = <0>;
 252			};
 253		};
 254
 255		u2phy0: usb2phy@760 {
 256			compatible = "rockchip,rk3228-usb2phy";
 257			reg = <0x0760 0x0c>;
 258			clocks = <&cru SCLK_OTGPHY0>;
 259			clock-names = "phyclk";
 260			clock-output-names = "usb480m_phy0";
 261			#clock-cells = <0>;
 262			status = "disabled";
 263
 264			u2phy0_otg: otg-port {
 265				interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
 266					     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
 267					     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
 268				interrupt-names = "otg-bvalid", "otg-id",
 269						  "linestate";
 270				#phy-cells = <0>;
 271				status = "disabled";
 272			};
 273
 274			u2phy0_host: host-port {
 275				interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
 276				interrupt-names = "linestate";
 277				#phy-cells = <0>;
 278				status = "disabled";
 279			};
 280		};
 281
 282		u2phy1: usb2phy@800 {
 283			compatible = "rockchip,rk3228-usb2phy";
 284			reg = <0x0800 0x0c>;
 285			clocks = <&cru SCLK_OTGPHY1>;
 286			clock-names = "phyclk";
 287			clock-output-names = "usb480m_phy1";
 288			#clock-cells = <0>;
 289			status = "disabled";
 290
 291			u2phy1_otg: otg-port {
 292				interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
 293				interrupt-names = "linestate";
 294				#phy-cells = <0>;
 295				status = "disabled";
 296			};
 297
 298			u2phy1_host: host-port {
 299				interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
 300				interrupt-names = "linestate";
 301				#phy-cells = <0>;
 302				status = "disabled";
 303			};
 304		};
 305	};
 306
 307	uart0: serial@11010000 {
 308		compatible = "snps,dw-apb-uart";
 309		reg = <0x11010000 0x100>;
 310		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
 311		clock-frequency = <24000000>;
 312		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
 313		clock-names = "baudclk", "apb_pclk";
 314		pinctrl-names = "default";
 315		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
 316		reg-shift = <2>;
 317		reg-io-width = <4>;
 318		status = "disabled";
 319	};
 320
 321	uart1: serial@11020000 {
 322		compatible = "snps,dw-apb-uart";
 323		reg = <0x11020000 0x100>;
 324		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
 325		clock-frequency = <24000000>;
 326		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
 327		clock-names = "baudclk", "apb_pclk";
 328		pinctrl-names = "default";
 329		pinctrl-0 = <&uart1_xfer>;
 330		reg-shift = <2>;
 331		reg-io-width = <4>;
 332		status = "disabled";
 333	};
 334
 335	uart2: serial@11030000 {
 336		compatible = "snps,dw-apb-uart";
 337		reg = <0x11030000 0x100>;
 338		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
 339		clock-frequency = <24000000>;
 340		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
 341		clock-names = "baudclk", "apb_pclk";
 342		pinctrl-names = "default";
 343		pinctrl-0 = <&uart2_xfer>;
 344		reg-shift = <2>;
 345		reg-io-width = <4>;
 346		status = "disabled";
 347	};
 348
 349	efuse: efuse@11040000 {
 350		compatible = "rockchip,rk3228-efuse";
 351		reg = <0x11040000 0x20>;
 352		clocks = <&cru PCLK_EFUSE_256>;
 353		clock-names = "pclk_efuse";
 354		#address-cells = <1>;
 355		#size-cells = <1>;
 356
 357		/* Data cells */
 358		efuse_id: id@7 {
 359			reg = <0x7 0x10>;
 360		};
 361		cpu_leakage: cpu_leakage@17 {
 362			reg = <0x17 0x1>;
 363		};
 364	};
 365
 366	i2c0: i2c@11050000 {
 367		compatible = "rockchip,rk3228-i2c";
 368		reg = <0x11050000 0x1000>;
 369		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 370		#address-cells = <1>;
 371		#size-cells = <0>;
 372		clock-names = "i2c";
 373		clocks = <&cru PCLK_I2C0>;
 374		pinctrl-names = "default";
 375		pinctrl-0 = <&i2c0_xfer>;
 376		status = "disabled";
 377	};
 378
 379	i2c1: i2c@11060000 {
 380		compatible = "rockchip,rk3228-i2c";
 381		reg = <0x11060000 0x1000>;
 382		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
 383		#address-cells = <1>;
 384		#size-cells = <0>;
 385		clock-names = "i2c";
 386		clocks = <&cru PCLK_I2C1>;
 387		pinctrl-names = "default";
 388		pinctrl-0 = <&i2c1_xfer>;
 389		status = "disabled";
 390	};
 391
 392	i2c2: i2c@11070000 {
 393		compatible = "rockchip,rk3228-i2c";
 394		reg = <0x11070000 0x1000>;
 395		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
 396		#address-cells = <1>;
 397		#size-cells = <0>;
 398		clock-names = "i2c";
 399		clocks = <&cru PCLK_I2C2>;
 400		pinctrl-names = "default";
 401		pinctrl-0 = <&i2c2_xfer>;
 402		status = "disabled";
 403	};
 404
 405	i2c3: i2c@11080000 {
 406		compatible = "rockchip,rk3228-i2c";
 407		reg = <0x11080000 0x1000>;
 408		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
 409		#address-cells = <1>;
 410		#size-cells = <0>;
 411		clock-names = "i2c";
 412		clocks = <&cru PCLK_I2C3>;
 413		pinctrl-names = "default";
 414		pinctrl-0 = <&i2c3_xfer>;
 415		status = "disabled";
 416	};
 417
 418	spi0: spi@11090000 {
 419		compatible = "rockchip,rk3228-spi";
 420		reg = <0x11090000 0x1000>;
 421		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
 422		#address-cells = <1>;
 423		#size-cells = <0>;
 424		clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
 425		clock-names = "spiclk", "apb_pclk";
 426		pinctrl-names = "default";
 427		pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0 &spi0_cs1>;
 428		status = "disabled";
 429	};
 430
 431	wdt: watchdog@110a0000 {
 432		compatible = "rockchip,rk3228-wdt", "snps,dw-wdt";
 433		reg = <0x110a0000 0x100>;
 434		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
 435		clocks = <&cru PCLK_CPU>;
 436		status = "disabled";
 437	};
 438
 439	pwm0: pwm@110b0000 {
 440		compatible = "rockchip,rk3288-pwm";
 441		reg = <0x110b0000 0x10>;
 442		#pwm-cells = <3>;
 443		clocks = <&cru PCLK_PWM>;
 444		pinctrl-names = "default";
 445		pinctrl-0 = <&pwm0_pin>;
 446		status = "disabled";
 447	};
 448
 449	pwm1: pwm@110b0010 {
 450		compatible = "rockchip,rk3288-pwm";
 451		reg = <0x110b0010 0x10>;
 452		#pwm-cells = <3>;
 453		clocks = <&cru PCLK_PWM>;
 454		pinctrl-names = "default";
 455		pinctrl-0 = <&pwm1_pin>;
 456		status = "disabled";
 457	};
 458
 459	pwm2: pwm@110b0020 {
 460		compatible = "rockchip,rk3288-pwm";
 461		reg = <0x110b0020 0x10>;
 462		#pwm-cells = <3>;
 463		clocks = <&cru PCLK_PWM>;
 464		pinctrl-names = "default";
 465		pinctrl-0 = <&pwm2_pin>;
 466		status = "disabled";
 467	};
 468
 469	pwm3: pwm@110b0030 {
 470		compatible = "rockchip,rk3288-pwm";
 471		reg = <0x110b0030 0x10>;
 472		#pwm-cells = <2>;
 473		clocks = <&cru PCLK_PWM>;
 474		pinctrl-names = "default";
 475		pinctrl-0 = <&pwm3_pin>;
 476		status = "disabled";
 477	};
 478
 479	timer: timer@110c0000 {
 480		compatible = "rockchip,rk3228-timer", "rockchip,rk3288-timer";
 481		reg = <0x110c0000 0x20>;
 482		interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
 483		clocks = <&cru PCLK_TIMER>, <&xin24m>;
 484		clock-names = "pclk", "timer";
 485	};
 486
 487	cru: clock-controller@110e0000 {
 488		compatible = "rockchip,rk3228-cru";
 489		reg = <0x110e0000 0x1000>;
 490		clocks = <&xin24m>;
 491		clock-names = "xin24m";
 492		rockchip,grf = <&grf>;
 493		#clock-cells = <1>;
 494		#reset-cells = <1>;
 495		assigned-clocks =
 496			<&cru PLL_GPLL>, <&cru ARMCLK>,
 497			<&cru PLL_CPLL>, <&cru ACLK_PERI>,
 498			<&cru HCLK_PERI>, <&cru PCLK_PERI>,
 499			<&cru ACLK_CPU>, <&cru HCLK_CPU>,
 500			<&cru PCLK_CPU>;
 501		assigned-clock-rates =
 502			<594000000>, <816000000>,
 503			<500000000>, <150000000>,
 504			<150000000>, <75000000>,
 505			<150000000>, <150000000>,
 506			<75000000>;
 507	};
 508
 509	pdma: dma-controller@110f0000 {
 510		compatible = "arm,pl330", "arm,primecell";
 511		reg = <0x110f0000 0x4000>;
 512		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 513			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
 514		#dma-cells = <1>;
 515		arm,pl330-periph-burst;
 516		clocks = <&cru ACLK_DMAC>;
 517		clock-names = "apb_pclk";
 518	};
 519
 520	thermal-zones {
 521		cpu_thermal: cpu-thermal {
 522			polling-delay-passive = <100>; /* milliseconds */
 523			polling-delay = <5000>; /* milliseconds */
 524
 525			thermal-sensors = <&tsadc 0>;
 526
 527			trips {
 528				cpu_alert0: cpu_alert0 {
 529					temperature = <70000>; /* millicelsius */
 530					hysteresis = <2000>; /* millicelsius */
 531					type = "passive";
 532				};
 533				cpu_alert1: cpu_alert1 {
 534					temperature = <75000>; /* millicelsius */
 535					hysteresis = <2000>; /* millicelsius */
 536					type = "passive";
 537				};
 538				cpu_crit: cpu_crit {
 539					temperature = <90000>; /* millicelsius */
 540					hysteresis = <2000>; /* millicelsius */
 541					type = "critical";
 542				};
 543			};
 544
 545			cooling-maps {
 546				map0 {
 547					trip = <&cpu_alert0>;
 548					cooling-device =
 549						<&cpu0 THERMAL_NO_LIMIT 6>,
 550						<&cpu1 THERMAL_NO_LIMIT 6>,
 551						<&cpu2 THERMAL_NO_LIMIT 6>,
 552						<&cpu3 THERMAL_NO_LIMIT 6>;
 553				};
 554				map1 {
 555					trip = <&cpu_alert1>;
 556					cooling-device =
 557						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
 558						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
 559						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
 560						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
 561				};
 562			};
 563		};
 564	};
 565
 566	tsadc: tsadc@11150000 {
 567		compatible = "rockchip,rk3228-tsadc";
 568		reg = <0x11150000 0x100>;
 569		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
 570		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
 571		clock-names = "tsadc", "apb_pclk";
 572		assigned-clocks = <&cru SCLK_TSADC>;
 573		assigned-clock-rates = <32768>;
 574		resets = <&cru SRST_TSADC>;
 575		reset-names = "tsadc-apb";
 576		pinctrl-names = "init", "default", "sleep";
 577		pinctrl-0 = <&otp_pin>;
 578		pinctrl-1 = <&otp_out>;
 579		pinctrl-2 = <&otp_pin>;
 580		#thermal-sensor-cells = <1>;
 581		rockchip,hw-tshut-temp = <95000>;
 582		status = "disabled";
 583	};
 584
 585	hdmi_phy: hdmi-phy@12030000 {
 586		compatible = "rockchip,rk3228-hdmi-phy";
 587		reg = <0x12030000 0x10000>;
 588		clocks = <&cru PCLK_HDMI_PHY>, <&xin24m>, <&cru DCLK_HDMI_PHY>;
 589		clock-names = "sysclk", "refoclk", "refpclk";
 590		#clock-cells = <0>;
 591		clock-output-names = "hdmiphy_phy";
 592		#phy-cells = <0>;
 593		status = "disabled";
 594	};
 595
 596	gpu: gpu@20000000 {
 597		compatible = "rockchip,rk3228-mali", "arm,mali-400";
 598		reg = <0x20000000 0x10000>;
 599		interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
 600			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
 601			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
 602			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
 603			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
 604			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
 605		interrupt-names = "gp",
 606				  "gpmmu",
 607				  "pp0",
 608				  "ppmmu0",
 609				  "pp1",
 610				  "ppmmu1";
 611		clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
 612		clock-names = "bus", "core";
 613		power-domains = <&power RK3228_PD_GPU>;
 614		resets = <&cru SRST_GPU_A>;
 615		status = "disabled";
 616	};
 617
 618	vpu: video-codec@20020000 {
 619		compatible = "rockchip,rk3228-vpu", "rockchip,rk3399-vpu";
 620		reg = <0x20020000 0x800>;
 621		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
 622			     <GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>;
 623		interrupt-names = "vepu", "vdpu";
 624		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
 625		clock-names = "aclk", "hclk";
 626		iommus = <&vpu_mmu>;
 627		power-domains = <&power RK3228_PD_VPU>;
 628	};
 629
 630	vpu_mmu: iommu@20020800 {
 631		compatible = "rockchip,iommu";
 632		reg = <0x20020800 0x100>;
 633		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
 634		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
 635		clock-names = "aclk", "iface";
 636		power-domains = <&power RK3228_PD_VPU>;
 637		#iommu-cells = <0>;
 638	};
 639
 640	vdec: video-codec@20030000 {
 641		compatible = "rockchip,rk3228-vdec", "rockchip,rk3399-vdec";
 642		reg = <0x20030000 0x480>;
 643		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
 644		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>,
 645			 <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>;
 646		clock-names = "axi", "ahb", "cabac", "core";
 647		assigned-clocks = <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>;
 648		assigned-clock-rates = <300000000>, <300000000>;
 649		iommus = <&vdec_mmu>;
 650		power-domains = <&power RK3228_PD_RKVDEC>;
 651	};
 652
 653	vdec_mmu: iommu@20030480 {
 654		compatible = "rockchip,iommu";
 655		reg = <0x20030480 0x40>, <0x200304c0 0x40>;
 656		interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
 657		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>;
 658		clock-names = "aclk", "iface";
 659		power-domains = <&power RK3228_PD_RKVDEC>;
 660		#iommu-cells = <0>;
 661	};
 662
 663	vop: vop@20050000 {
 664		compatible = "rockchip,rk3228-vop";
 665		reg = <0x20050000 0x1ffc>;
 666		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
 667		clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>;
 668		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
 669		resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
 670		reset-names = "axi", "ahb", "dclk";
 671		iommus = <&vop_mmu>;
 672		power-domains = <&power RK3228_PD_VOP>;
 673		status = "disabled";
 674
 675		vop_out: port {
 676			#address-cells = <1>;
 677			#size-cells = <0>;
 678
 679			vop_out_hdmi: endpoint@0 {
 680				reg = <0>;
 681				remote-endpoint = <&hdmi_in_vop>;
 682			};
 683		};
 684	};
 685
 686	vop_mmu: iommu@20053f00 {
 687		compatible = "rockchip,iommu";
 688		reg = <0x20053f00 0x100>;
 689		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
 690		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
 691		clock-names = "aclk", "iface";
 692		power-domains = <&power RK3228_PD_VOP>;
 693		#iommu-cells = <0>;
 694		status = "disabled";
 695	};
 696
 697	rga: rga@20060000 {
 698		compatible = "rockchip,rk3228-rga", "rockchip,rk3288-rga";
 699		reg = <0x20060000 0x1000>;
 700		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
 701		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>;
 702		clock-names = "aclk", "hclk", "sclk";
 703		power-domains = <&power RK3228_PD_VIO>;
 704		resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>;
 705		reset-names = "core", "axi", "ahb";
 706	};
 707
 708	iep_mmu: iommu@20070800 {
 709		compatible = "rockchip,iommu";
 710		reg = <0x20070800 0x100>;
 711		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
 712		clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>;
 713		clock-names = "aclk", "iface";
 714		power-domains = <&power RK3228_PD_VIO>;
 715		#iommu-cells = <0>;
 716		status = "disabled";
 717	};
 718
 719	hdmi: hdmi@200a0000 {
 720		compatible = "rockchip,rk3228-dw-hdmi";
 721		reg = <0x200a0000 0x20000>;
 722		reg-io-width = <4>;
 723		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
 724		assigned-clocks = <&cru SCLK_HDMI_PHY>;
 725		assigned-clock-parents = <&hdmi_phy>;
 726		clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>, <&cru SCLK_HDMI_CEC>;
 727		clock-names = "iahb", "isfr", "cec";
 728		pinctrl-names = "default";
 729		pinctrl-0 = <&hdmii2c_xfer &hdmi_hpd &hdmi_cec>;
 730		resets = <&cru SRST_HDMI_P>;
 731		reset-names = "hdmi";
 732		phys = <&hdmi_phy>;
 733		phy-names = "hdmi";
 734		rockchip,grf = <&grf>;
 735		status = "disabled";
 736
 737		ports {
 738			#address-cells = <1>;
 739			#size-cells = <0>;
 740
 741			hdmi_in: port@0 {
 742				reg = <0>;
 743
 744				hdmi_in_vop: endpoint {
 745					remote-endpoint = <&vop_out_hdmi>;
 746				};
 747			};
 748
 749			hdmi_out: port@1 {
 750				reg = <1>;
 751			};
 752		};
 753	};
 754
 755	sdmmc: mmc@30000000 {
 756		compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc";
 757		reg = <0x30000000 0x4000>;
 758		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
 759		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
 760			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
 761		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
 762		fifo-depth = <0x100>;
 763		pinctrl-names = "default";
 764		pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
 765		status = "disabled";
 766	};
 767
 768	sdio: mmc@30010000 {
 769		compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc";
 770		reg = <0x30010000 0x4000>;
 771		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
 772		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
 773			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
 774		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
 775		fifo-depth = <0x100>;
 776		pinctrl-names = "default";
 777		pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>;
 778		status = "disabled";
 779	};
 780
 781	emmc: mmc@30020000 {
 782		compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc";
 783		reg = <0x30020000 0x4000>;
 784		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
 785		clock-frequency = <37500000>;
 786		max-frequency = <37500000>;
 787		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
 788			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
 789		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
 790		bus-width = <8>;
 791		rockchip,default-sample-phase = <158>;
 792		fifo-depth = <0x100>;
 793		pinctrl-names = "default";
 794		pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
 795		resets = <&cru SRST_EMMC>;
 796		reset-names = "reset";
 797		status = "disabled";
 798	};
 799
 800	usb_otg: usb@30040000 {
 801		compatible = "rockchip,rk3228-usb", "rockchip,rk3066-usb",
 802			     "snps,dwc2";
 803		reg = <0x30040000 0x40000>;
 804		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
 805		clocks = <&cru HCLK_OTG>;
 806		clock-names = "otg";
 807		dr_mode = "otg";
 808		g-np-tx-fifo-size = <16>;
 809		g-rx-fifo-size = <280>;
 810		g-tx-fifo-size = <256 128 128 64 32 16>;
 811		phys = <&u2phy0_otg>;
 812		phy-names = "usb2-phy";
 813		status = "disabled";
 814	};
 815
 816	usb_host0_ehci: usb@30080000 {
 817		compatible = "generic-ehci";
 818		reg = <0x30080000 0x20000>;
 819		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
 820		clocks = <&cru HCLK_HOST0>, <&u2phy0>;
 821		phys = <&u2phy0_host>;
 822		phy-names = "usb";
 823		status = "disabled";
 824	};
 825
 826	usb_host0_ohci: usb@300a0000 {
 827		compatible = "generic-ohci";
 828		reg = <0x300a0000 0x20000>;
 829		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
 830		clocks = <&cru HCLK_HOST0>, <&u2phy0>;
 831		phys = <&u2phy0_host>;
 832		phy-names = "usb";
 833		status = "disabled";
 834	};
 835
 836	usb_host1_ehci: usb@300c0000 {
 837		compatible = "generic-ehci";
 838		reg = <0x300c0000 0x20000>;
 839		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
 840		clocks = <&cru HCLK_HOST1>, <&u2phy1>;
 841		phys = <&u2phy1_otg>;
 842		phy-names = "usb";
 843		status = "disabled";
 844	};
 845
 846	usb_host1_ohci: usb@300e0000 {
 847		compatible = "generic-ohci";
 848		reg = <0x300e0000 0x20000>;
 849		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
 850		clocks = <&cru HCLK_HOST1>, <&u2phy1>;
 851		phys = <&u2phy1_otg>;
 852		phy-names = "usb";
 853		status = "disabled";
 854	};
 855
 856	usb_host2_ehci: usb@30100000 {
 857		compatible = "generic-ehci";
 858		reg = <0x30100000 0x20000>;
 859		interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
 860		clocks = <&cru HCLK_HOST2>, <&u2phy1>;
 861		phys = <&u2phy1_host>;
 862		phy-names = "usb";
 863		status = "disabled";
 864	};
 865
 866	usb_host2_ohci: usb@30120000 {
 867		compatible = "generic-ohci";
 868		reg = <0x30120000 0x20000>;
 869		interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
 870		clocks = <&cru HCLK_HOST2>, <&u2phy1>;
 871		phys = <&u2phy1_host>;
 872		phy-names = "usb";
 873		status = "disabled";
 874	};
 875
 876	gmac: ethernet@30200000 {
 877		compatible = "rockchip,rk3228-gmac";
 878		reg = <0x30200000 0x10000>;
 879		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
 880		interrupt-names = "macirq";
 881		clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>,
 882			<&cru SCLK_MAC_TX>, <&cru SCLK_MAC_REF>,
 883			<&cru SCLK_MAC_REFOUT>, <&cru ACLK_GMAC>,
 884			<&cru PCLK_GMAC>;
 885		clock-names = "stmmaceth", "mac_clk_rx",
 886			"mac_clk_tx", "clk_mac_ref",
 887			"clk_mac_refout", "aclk_mac",
 888			"pclk_mac";
 889		resets = <&cru SRST_GMAC>;
 890		reset-names = "stmmaceth";
 891		rockchip,grf = <&grf>;
 892		status = "disabled";
 893	};
 894
 895	qos_iep: qos@31030080 {
 896		compatible = "rockchip,rk3228-qos", "syscon";
 897		reg = <0x31030080 0x20>;
 898	};
 899
 900	qos_rga_w: qos@31030100 {
 901		compatible = "rockchip,rk3228-qos", "syscon";
 902		reg = <0x31030100 0x20>;
 903	};
 904
 905	qos_hdcp: qos@31030180 {
 906		compatible = "rockchip,rk3228-qos", "syscon";
 907		reg = <0x31030180 0x20>;
 908	};
 909
 910	qos_rga_r: qos@31030200 {
 911		compatible = "rockchip,rk3228-qos", "syscon";
 912		reg = <0x31030200 0x20>;
 913	};
 914
 915	qos_vpu: qos@31040000 {
 916		compatible = "rockchip,rk3228-qos", "syscon";
 917		reg = <0x31040000 0x20>;
 918	};
 919
 920	qos_gpu: qos@31050000 {
 921		compatible = "rockchip,rk3228-qos", "syscon";
 922		reg = <0x31050000 0x20>;
 923	};
 924
 925	qos_vop: qos@31060000 {
 926		compatible = "rockchip,rk3228-qos", "syscon";
 927		reg = <0x31060000 0x20>;
 928	};
 929
 930	qos_rkvdec_r: qos@31070000 {
 931		compatible = "rockchip,rk3228-qos", "syscon";
 932		reg = <0x31070000 0x20>;
 933	};
 934
 935	qos_rkvdec_w: qos@31070080 {
 936		compatible = "rockchip,rk3228-qos", "syscon";
 937		reg = <0x31070080 0x20>;
 938	};
 939
 940	gic: interrupt-controller@32010000 {
 941		compatible = "arm,gic-400";
 942		interrupt-controller;
 943		#interrupt-cells = <3>;
 944		#address-cells = <0>;
 945
 946		reg = <0x32011000 0x1000>,
 947		      <0x32012000 0x2000>,
 948		      <0x32014000 0x2000>,
 949		      <0x32016000 0x2000>;
 950		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
 951	};
 952
 953	pinctrl: pinctrl {
 954		compatible = "rockchip,rk3228-pinctrl";
 955		rockchip,grf = <&grf>;
 956		#address-cells = <1>;
 957		#size-cells = <1>;
 958		ranges;
 959
 960		gpio0: gpio@11110000 {
 961			compatible = "rockchip,gpio-bank";
 962			reg = <0x11110000 0x100>;
 963			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
 964			clocks = <&cru PCLK_GPIO0>;
 965
 966			gpio-controller;
 967			#gpio-cells = <2>;
 968
 969			interrupt-controller;
 970			#interrupt-cells = <2>;
 971		};
 972
 973		gpio1: gpio@11120000 {
 974			compatible = "rockchip,gpio-bank";
 975			reg = <0x11120000 0x100>;
 976			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
 977			clocks = <&cru PCLK_GPIO1>;
 978
 979			gpio-controller;
 980			#gpio-cells = <2>;
 981
 982			interrupt-controller;
 983			#interrupt-cells = <2>;
 984		};
 985
 986		gpio2: gpio@11130000 {
 987			compatible = "rockchip,gpio-bank";
 988			reg = <0x11130000 0x100>;
 989			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
 990			clocks = <&cru PCLK_GPIO2>;
 991
 992			gpio-controller;
 993			#gpio-cells = <2>;
 994
 995			interrupt-controller;
 996			#interrupt-cells = <2>;
 997		};
 998
 999		gpio3: gpio@11140000 {
1000			compatible = "rockchip,gpio-bank";
1001			reg = <0x11140000 0x100>;
1002			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
1003			clocks = <&cru PCLK_GPIO3>;
1004
1005			gpio-controller;
1006			#gpio-cells = <2>;
1007
1008			interrupt-controller;
1009			#interrupt-cells = <2>;
1010		};
1011
1012		pcfg_pull_up: pcfg-pull-up {
1013			bias-pull-up;
1014		};
1015
1016		pcfg_pull_down: pcfg-pull-down {
1017			bias-pull-down;
1018		};
1019
1020		pcfg_pull_none: pcfg-pull-none {
1021			bias-disable;
1022		};
1023
1024		pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma {
1025			drive-strength = <12>;
1026		};
1027
1028		sdmmc {
1029			sdmmc_clk: sdmmc-clk {
1030				rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none_drv_12ma>;
1031			};
1032
1033			sdmmc_cmd: sdmmc-cmd {
1034				rockchip,pins = <1 RK_PB7 1 &pcfg_pull_none_drv_12ma>;
1035			};
1036
1037			sdmmc_bus4: sdmmc-bus4 {
1038				rockchip,pins = <1 RK_PC2 1 &pcfg_pull_none_drv_12ma>,
1039						<1 RK_PC3 1 &pcfg_pull_none_drv_12ma>,
1040						<1 RK_PC4 1 &pcfg_pull_none_drv_12ma>,
1041						<1 RK_PC5 1 &pcfg_pull_none_drv_12ma>;
1042			};
1043		};
1044
1045		sdio {
1046			sdio_clk: sdio-clk {
1047				rockchip,pins = <3 RK_PA0 1 &pcfg_pull_none_drv_12ma>;
1048			};
1049
1050			sdio_cmd: sdio-cmd {
1051				rockchip,pins = <3 RK_PA1 1 &pcfg_pull_none_drv_12ma>;
1052			};
1053
1054			sdio_bus4: sdio-bus4 {
1055				rockchip,pins = <3 RK_PA2 1 &pcfg_pull_none_drv_12ma>,
1056						<3 RK_PA3 1 &pcfg_pull_none_drv_12ma>,
1057						<3 RK_PA4 1 &pcfg_pull_none_drv_12ma>,
1058						<3 RK_PA5 1 &pcfg_pull_none_drv_12ma>;
1059			};
1060		};
1061
1062		emmc {
1063			emmc_clk: emmc-clk {
1064				rockchip,pins = <2 RK_PA7 2 &pcfg_pull_none>;
1065			};
1066
1067			emmc_cmd: emmc-cmd {
1068				rockchip,pins = <1 RK_PC6 2 &pcfg_pull_none>;
1069			};
1070
1071			emmc_bus8: emmc-bus8 {
1072				rockchip,pins = <1 RK_PD0 2 &pcfg_pull_none>,
1073						<1 RK_PD1 2 &pcfg_pull_none>,
1074						<1 RK_PD2 2 &pcfg_pull_none>,
1075						<1 RK_PD3 2 &pcfg_pull_none>,
1076						<1 RK_PD4 2 &pcfg_pull_none>,
1077						<1 RK_PD5 2 &pcfg_pull_none>,
1078						<1 RK_PD6 2 &pcfg_pull_none>,
1079						<1 RK_PD7 2 &pcfg_pull_none>;
1080			};
1081		};
1082
1083		gmac {
1084			rgmii_pins: rgmii-pins {
1085				rockchip,pins = <2 RK_PB6 1 &pcfg_pull_none>,
1086						<2 RK_PB4 1 &pcfg_pull_none>,
1087						<2 RK_PD1 1 &pcfg_pull_none>,
1088						<2 RK_PC3 1 &pcfg_pull_none_drv_12ma>,
1089						<2 RK_PC2 1 &pcfg_pull_none_drv_12ma>,
1090						<2 RK_PC6 1 &pcfg_pull_none_drv_12ma>,
1091						<2 RK_PC7 1 &pcfg_pull_none_drv_12ma>,
1092						<2 RK_PB1 1 &pcfg_pull_none_drv_12ma>,
1093						<2 RK_PB5 1 &pcfg_pull_none_drv_12ma>,
1094						<2 RK_PC1 1 &pcfg_pull_none>,
1095						<2 RK_PC0 1 &pcfg_pull_none>,
1096						<2 RK_PC5 2 &pcfg_pull_none>,
1097						<2 RK_PC4 2 &pcfg_pull_none>,
1098						<2 RK_PB3 1 &pcfg_pull_none>,
1099						<2 RK_PB0 1 &pcfg_pull_none>;
1100			};
1101
1102			rmii_pins: rmii-pins {
1103				rockchip,pins = <2 RK_PB6 1 &pcfg_pull_none>,
1104						<2 RK_PB4 1 &pcfg_pull_none>,
1105						<2 RK_PD1 1 &pcfg_pull_none>,
1106						<2 RK_PC3 1 &pcfg_pull_none_drv_12ma>,
1107						<2 RK_PC2 1 &pcfg_pull_none_drv_12ma>,
1108						<2 RK_PB5 1 &pcfg_pull_none_drv_12ma>,
1109						<2 RK_PC1 1 &pcfg_pull_none>,
1110						<2 RK_PC0 1 &pcfg_pull_none>,
1111						<2 RK_PB0 1 &pcfg_pull_none>,
1112						<2 RK_PB7 1 &pcfg_pull_none>;
1113			};
1114
1115			phy_pins: phy-pins {
1116				rockchip,pins = <2 RK_PB6 2 &pcfg_pull_none>,
1117						<2 RK_PB0 2 &pcfg_pull_none>;
1118			};
1119		};
1120
1121		hdmi {
1122			hdmi_hpd: hdmi-hpd {
1123				rockchip,pins = <0 RK_PB7 1 &pcfg_pull_down>;
1124			};
1125
1126			hdmii2c_xfer: hdmii2c-xfer {
1127				rockchip,pins = <0 RK_PA6 2 &pcfg_pull_none>,
1128						<0 RK_PA7 2 &pcfg_pull_none>;
1129			};
1130
1131			hdmi_cec: hdmi-cec {
1132				rockchip,pins = <0 RK_PC4 1 &pcfg_pull_none>;
1133			};
1134		};
1135
1136		i2c0 {
1137			i2c0_xfer: i2c0-xfer {
1138				rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>,
1139						<0 RK_PA1 1 &pcfg_pull_none>;
1140			};
1141		};
1142
1143		i2c1 {
1144			i2c1_xfer: i2c1-xfer {
1145				rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>,
1146						<0 RK_PA3 1 &pcfg_pull_none>;
1147			};
1148		};
1149
1150		i2c2 {
1151			i2c2_xfer: i2c2-xfer {
1152				rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>,
1153						<2 RK_PC5 1 &pcfg_pull_none>;
1154			};
1155		};
1156
1157		i2c3 {
1158			i2c3_xfer: i2c3-xfer {
1159				rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>,
1160						<0 RK_PA7 1 &pcfg_pull_none>;
1161			};
1162		};
1163
1164		spi0 {
1165			spi0_clk: spi0-clk {
1166				rockchip,pins = <0 RK_PB1 2 &pcfg_pull_up>;
1167			};
1168			spi0_cs0: spi0-cs0 {
1169				rockchip,pins = <0 RK_PB6 2 &pcfg_pull_up>;
1170			};
1171			spi0_tx: spi0-tx {
1172				rockchip,pins = <0 RK_PB3 2 &pcfg_pull_up>;
1173			};
1174			spi0_rx: spi0-rx {
1175				rockchip,pins = <0 RK_PB5 2 &pcfg_pull_up>;
1176			};
1177			spi0_cs1: spi0-cs1 {
1178				rockchip,pins = <1 RK_PB4 1 &pcfg_pull_up>;
1179			};
1180		};
1181
1182		spi1 {
1183			spi1_clk: spi1-clk {
1184				rockchip,pins = <0 RK_PC7 2 &pcfg_pull_up>;
1185			};
1186			spi1_cs0: spi1-cs0 {
1187				rockchip,pins = <2 RK_PA2 2 &pcfg_pull_up>;
1188			};
1189			spi1_rx: spi1-rx {
1190				rockchip,pins = <2 RK_PA0 2 &pcfg_pull_up>;
1191			};
1192			spi1_tx: spi1-tx {
1193				rockchip,pins = <2 RK_PA1 2 &pcfg_pull_up>;
1194			};
1195			spi1_cs1: spi1-cs1 {
1196				rockchip,pins = <2 RK_PA3 2 &pcfg_pull_up>;
1197			};
1198		};
1199
1200		i2s1 {
1201			i2s1_bus: i2s1-bus {
1202				rockchip,pins = <0 RK_PB0 1 &pcfg_pull_none>,
1203						<0 RK_PB1 1 &pcfg_pull_none>,
1204						<0 RK_PB3 1 &pcfg_pull_none>,
1205						<0 RK_PB4 1 &pcfg_pull_none>,
1206						<0 RK_PB5 1 &pcfg_pull_none>,
1207						<0 RK_PB6 1 &pcfg_pull_none>,
1208						<1 RK_PA2 2 &pcfg_pull_none>,
1209						<1 RK_PA4 2 &pcfg_pull_none>,
1210						<1 RK_PA5 2 &pcfg_pull_none>;
1211			};
1212		};
1213
1214		pwm0 {
1215			pwm0_pin: pwm0-pin {
1216				rockchip,pins = <3 RK_PC5 1 &pcfg_pull_none>;
1217			};
1218		};
1219
1220		pwm1 {
1221			pwm1_pin: pwm1-pin {
1222				rockchip,pins = <0 RK_PD6 2 &pcfg_pull_none>;
1223			};
1224		};
1225
1226		pwm2 {
1227			pwm2_pin: pwm2-pin {
1228				rockchip,pins = <1 RK_PB4 2 &pcfg_pull_none>;
1229			};
1230		};
1231
1232		pwm3 {
1233			pwm3_pin: pwm3-pin {
1234				rockchip,pins = <1 RK_PB3 2 &pcfg_pull_none>;
1235			};
1236		};
1237
1238		spdif {
1239			spdif_tx: spdif-tx {
1240				rockchip,pins = <3 RK_PD7 2 &pcfg_pull_none>;
1241			};
1242		};
1243
1244		tsadc {
1245			otp_pin: otp-pin {
1246				rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
1247			};
1248
1249			otp_out: otp-out {
1250				rockchip,pins = <0 RK_PD0 2 &pcfg_pull_none>;
1251			};
1252		};
1253
1254		uart0 {
1255			uart0_xfer: uart0-xfer {
1256				rockchip,pins = <2 RK_PD2 1 &pcfg_pull_none>,
1257						<2 RK_PD3 1 &pcfg_pull_none>;
1258			};
1259
1260			uart0_cts: uart0-cts {
1261				rockchip,pins = <2 RK_PD5 1 &pcfg_pull_none>;
1262			};
1263
1264			uart0_rts: uart0-rts {
1265				rockchip,pins = <0 RK_PC1 1 &pcfg_pull_none>;
1266			};
1267		};
1268
1269		uart1 {
1270			uart1_xfer: uart1-xfer {
1271				rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>,
1272						<1 RK_PB2 1 &pcfg_pull_none>;
1273			};
1274
1275			uart1_cts: uart1-cts {
1276				rockchip,pins = <1 RK_PB0 1 &pcfg_pull_none>;
1277			};
1278
1279			uart1_rts: uart1-rts {
1280				rockchip,pins = <1 RK_PB3 1 &pcfg_pull_none>;
1281			};
1282		};
1283
1284		uart2 {
1285			uart2_xfer: uart2-xfer {
1286				rockchip,pins = <1 RK_PC2 2 &pcfg_pull_up>,
1287						<1 RK_PC3 2 &pcfg_pull_none>;
1288			};
1289
1290			uart21_xfer: uart21-xfer {
1291				rockchip,pins = <1 RK_PB2 2 &pcfg_pull_up>,
1292						<1 RK_PB1 2 &pcfg_pull_none>;
1293			};
1294
1295			uart2_cts: uart2-cts {
1296				rockchip,pins = <0 RK_PD1 1 &pcfg_pull_none>;
1297			};
1298
1299			uart2_rts: uart2-rts {
1300				rockchip,pins = <0 RK_PD0 1 &pcfg_pull_none>;
1301			};
1302		};
1303	};
1304};
~/ Read-only file preview.