File Index
Files and directories
Sign in
FILE

rk356x-base.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/rockchip/rk356x-base.dtsi DEVICETREE
   1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
   2/*
   3 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
   4 */
   5
   6#include <dt-bindings/clock/rk3568-cru.h>
   7#include <dt-bindings/interrupt-controller/arm-gic.h>
   8#include <dt-bindings/interrupt-controller/irq.h>
   9#include <dt-bindings/phy/phy.h>
  10#include <dt-bindings/pinctrl/rockchip.h>
  11#include <dt-bindings/power/rk3568-power.h>
  12#include <dt-bindings/soc/rockchip,boot-mode.h>
  13#include <dt-bindings/thermal/thermal.h>
  14
  15/ {
  16	interrupt-parent = <&gic>;
  17	#address-cells = <2>;
  18	#size-cells = <2>;
  19
  20	aliases {
  21		gpio0 = &gpio0;
  22		gpio1 = &gpio1;
  23		gpio2 = &gpio2;
  24		gpio3 = &gpio3;
  25		gpio4 = &gpio4;
  26		i2c0 = &i2c0;
  27		i2c1 = &i2c1;
  28		i2c2 = &i2c2;
  29		i2c3 = &i2c3;
  30		i2c4 = &i2c4;
  31		i2c5 = &i2c5;
  32		serial0 = &uart0;
  33		serial1 = &uart1;
  34		serial2 = &uart2;
  35		serial3 = &uart3;
  36		serial4 = &uart4;
  37		serial5 = &uart5;
  38		serial6 = &uart6;
  39		serial7 = &uart7;
  40		serial8 = &uart8;
  41		serial9 = &uart9;
  42		spi0 = &spi0;
  43		spi1 = &spi1;
  44		spi2 = &spi2;
  45		spi3 = &spi3;
  46	};
  47
  48	cpus {
  49		#address-cells = <2>;
  50		#size-cells = <0>;
  51
  52		cpu0: cpu@0 {
  53			device_type = "cpu";
  54			compatible = "arm,cortex-a55";
  55			reg = <0x0 0x0>;
  56			clocks = <&scmi_clk SCMI_CLK_CPU>;
  57			#cooling-cells = <2>;
  58			enable-method = "psci";
  59			i-cache-size = <0x8000>;
  60			i-cache-line-size = <64>;
  61			i-cache-sets = <128>;
  62			d-cache-size = <0x8000>;
  63			d-cache-line-size = <64>;
  64			d-cache-sets = <128>;
  65			next-level-cache = <&l3_cache>;
  66		};
  67
  68		cpu1: cpu@100 {
  69			device_type = "cpu";
  70			compatible = "arm,cortex-a55";
  71			reg = <0x0 0x100>;
  72			clocks = <&scmi_clk SCMI_CLK_CPU>;
  73			#cooling-cells = <2>;
  74			enable-method = "psci";
  75			i-cache-size = <0x8000>;
  76			i-cache-line-size = <64>;
  77			i-cache-sets = <128>;
  78			d-cache-size = <0x8000>;
  79			d-cache-line-size = <64>;
  80			d-cache-sets = <128>;
  81			next-level-cache = <&l3_cache>;
  82		};
  83
  84		cpu2: cpu@200 {
  85			device_type = "cpu";
  86			compatible = "arm,cortex-a55";
  87			reg = <0x0 0x200>;
  88			clocks = <&scmi_clk SCMI_CLK_CPU>;
  89			#cooling-cells = <2>;
  90			enable-method = "psci";
  91			i-cache-size = <0x8000>;
  92			i-cache-line-size = <64>;
  93			i-cache-sets = <128>;
  94			d-cache-size = <0x8000>;
  95			d-cache-line-size = <64>;
  96			d-cache-sets = <128>;
  97			next-level-cache = <&l3_cache>;
  98		};
  99
 100		cpu3: cpu@300 {
 101			device_type = "cpu";
 102			compatible = "arm,cortex-a55";
 103			reg = <0x0 0x300>;
 104			clocks = <&scmi_clk SCMI_CLK_CPU>;
 105			#cooling-cells = <2>;
 106			enable-method = "psci";
 107			i-cache-size = <0x8000>;
 108			i-cache-line-size = <64>;
 109			i-cache-sets = <128>;
 110			d-cache-size = <0x8000>;
 111			d-cache-line-size = <64>;
 112			d-cache-sets = <128>;
 113			next-level-cache = <&l3_cache>;
 114		};
 115	};
 116
 117	/*
 118	 * There are no private per-core L2 caches, but only the
 119	 * L3 cache that appears to the CPU cores as L2 caches
 120	 */
 121	l3_cache: l3-cache {
 122		compatible = "cache";
 123		cache-level = <2>;
 124		cache-unified;
 125		cache-size = <0x80000>;
 126		cache-line-size = <64>;
 127		cache-sets = <512>;
 128	};
 129
 130	display_subsystem: display-subsystem {
 131		compatible = "rockchip,display-subsystem";
 132		ports = <&vop_out>;
 133	};
 134
 135	firmware {
 136		scmi: scmi {
 137			compatible = "arm,scmi-smc";
 138			arm,smc-id = <0x82000010>;
 139			shmem = <&scmi_shmem>;
 140			#address-cells = <1>;
 141			#size-cells = <0>;
 142
 143			scmi_clk: protocol@14 {
 144				reg = <0x14>;
 145				#clock-cells = <1>;
 146			};
 147		};
 148	};
 149
 150	hdmi_sound: hdmi-sound {
 151		compatible = "simple-audio-card";
 152		simple-audio-card,name = "HDMI";
 153		simple-audio-card,format = "i2s";
 154		simple-audio-card,mclk-fs = <256>;
 155		status = "disabled";
 156
 157		simple-audio-card,codec {
 158			sound-dai = <&hdmi>;
 159		};
 160
 161		simple-audio-card,cpu {
 162			sound-dai = <&i2s0_8ch>;
 163		};
 164	};
 165
 166	pmu {
 167		compatible = "arm,cortex-a55-pmu";
 168		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
 169			     <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
 170			     <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
 171			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
 172		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
 173	};
 174
 175	psci {
 176		compatible = "arm,psci-1.0";
 177		method = "smc";
 178	};
 179
 180	reserved-memory {
 181		#address-cells = <2>;
 182		#size-cells = <2>;
 183		ranges;
 184
 185		scmi_shmem: shmem@10f000 {
 186			compatible = "arm,scmi-shmem";
 187			reg = <0x0 0x0010f000 0x0 0x100>;
 188			no-map;
 189		};
 190	};
 191
 192	timer {
 193		compatible = "arm,armv8-timer";
 194		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
 195			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
 196			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
 197			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
 198		arm,no-tick-in-suspend;
 199	};
 200
 201	xin24m: xin24m {
 202		compatible = "fixed-clock";
 203		clock-frequency = <24000000>;
 204		clock-output-names = "xin24m";
 205		#clock-cells = <0>;
 206	};
 207
 208	xin32k: xin32k {
 209		compatible = "fixed-clock";
 210		clock-frequency = <32768>;
 211		clock-output-names = "xin32k";
 212		pinctrl-0 = <&clk32k_out0>;
 213		pinctrl-names = "default";
 214		#clock-cells = <0>;
 215	};
 216
 217	sata1: sata@fc400000 {
 218		compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
 219		reg = <0 0xfc400000 0 0x1000>;
 220		clocks = <&cru ACLK_SATA1>, <&cru CLK_SATA1_PMALIVE>,
 221			 <&cru CLK_SATA1_RXOOB>;
 222		clock-names = "sata", "pmalive", "rxoob";
 223		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
 224		phys = <&combphy1 PHY_TYPE_SATA>;
 225		phy-names = "sata-phy";
 226		ports-implemented = <0x1>;
 227		power-domains = <&power RK3568_PD_PIPE>;
 228		status = "disabled";
 229	};
 230
 231	sata2: sata@fc800000 {
 232		compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
 233		reg = <0 0xfc800000 0 0x1000>;
 234		clocks = <&cru ACLK_SATA2>, <&cru CLK_SATA2_PMALIVE>,
 235			 <&cru CLK_SATA2_RXOOB>;
 236		clock-names = "sata", "pmalive", "rxoob";
 237		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
 238		phys = <&combphy2 PHY_TYPE_SATA>;
 239		phy-names = "sata-phy";
 240		ports-implemented = <0x1>;
 241		power-domains = <&power RK3568_PD_PIPE>;
 242		status = "disabled";
 243	};
 244
 245	usb_host0_xhci: usb@fcc00000 {
 246		compatible = "rockchip,rk3568-dwc3", "snps,dwc3";
 247		reg = <0x0 0xfcc00000 0x0 0x400000>;
 248		interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
 249		clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>,
 250			 <&cru ACLK_USB3OTG0>;
 251		clock-names = "ref_clk", "suspend_clk",
 252			      "bus_clk";
 253		dr_mode = "otg";
 254		phy_type = "utmi_wide";
 255		power-domains = <&power RK3568_PD_PIPE>;
 256		resets = <&cru SRST_USB3OTG0>;
 257		snps,dis_u2_susphy_quirk;
 258		status = "disabled";
 259	};
 260
 261	usb_host1_xhci: usb@fd000000 {
 262		compatible = "rockchip,rk3568-dwc3", "snps,dwc3";
 263		reg = <0x0 0xfd000000 0x0 0x400000>;
 264		interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
 265		clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>,
 266			 <&cru ACLK_USB3OTG1>;
 267		clock-names = "ref_clk", "suspend_clk",
 268			      "bus_clk";
 269		dr_mode = "host";
 270		phys = <&usb2phy0_host>, <&combphy1 PHY_TYPE_USB3>;
 271		phy-names = "usb2-phy", "usb3-phy";
 272		phy_type = "utmi_wide";
 273		power-domains = <&power RK3568_PD_PIPE>;
 274		resets = <&cru SRST_USB3OTG1>;
 275		snps,dis_u2_susphy_quirk;
 276		status = "disabled";
 277	};
 278
 279	gic: interrupt-controller@fd400000 {
 280		compatible = "arm,gic-v3";
 281		reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
 282		      <0x0 0xfd460000 0 0x80000>; /* GICR */
 283		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
 284		interrupt-controller;
 285		#interrupt-cells = <3>;
 286		mbi-alias = <0x0 0xfd410000>;
 287		mbi-ranges = <296 24>;
 288		msi-controller;
 289		ranges;
 290		#address-cells = <2>;
 291		#size-cells = <2>;
 292		dma-noncoherent;
 293
 294		its: msi-controller@fd440000 {
 295			compatible = "arm,gic-v3-its";
 296			reg = <0x0 0xfd440000 0 0x20000>;
 297			dma-noncoherent;
 298			msi-controller;
 299			#msi-cells = <1>;
 300		};
 301	};
 302
 303	usb_host0_ehci: usb@fd800000 {
 304		compatible = "generic-ehci";
 305		reg = <0x0 0xfd800000 0x0 0x40000>;
 306		interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
 307		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
 308			 <&cru PCLK_USB>;
 309		phys = <&usb2phy1_otg>;
 310		phy-names = "usb";
 311		status = "disabled";
 312	};
 313
 314	usb_host0_ohci: usb@fd840000 {
 315		compatible = "generic-ohci";
 316		reg = <0x0 0xfd840000 0x0 0x40000>;
 317		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
 318		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
 319			 <&cru PCLK_USB>;
 320		phys = <&usb2phy1_otg>;
 321		phy-names = "usb";
 322		status = "disabled";
 323	};
 324
 325	usb_host1_ehci: usb@fd880000 {
 326		compatible = "generic-ehci";
 327		reg = <0x0 0xfd880000 0x0 0x40000>;
 328		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
 329		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
 330			 <&cru PCLK_USB>;
 331		phys = <&usb2phy1_host>;
 332		phy-names = "usb";
 333		status = "disabled";
 334	};
 335
 336	usb_host1_ohci: usb@fd8c0000 {
 337		compatible = "generic-ohci";
 338		reg = <0x0 0xfd8c0000 0x0 0x40000>;
 339		interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
 340		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
 341			 <&cru PCLK_USB>;
 342		phys = <&usb2phy1_host>;
 343		phy-names = "usb";
 344		status = "disabled";
 345	};
 346
 347	pmugrf: syscon@fdc20000 {
 348		compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
 349		reg = <0x0 0xfdc20000 0x0 0x10000>;
 350
 351		pmu_io_domains: io-domains {
 352			compatible = "rockchip,rk3568-pmu-io-voltage-domain";
 353			status = "disabled";
 354		};
 355	};
 356
 357	pipegrf: syscon@fdc50000 {
 358		reg = <0x0 0xfdc50000 0x0 0x1000>;
 359	};
 360
 361	grf: syscon@fdc60000 {
 362		compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
 363		reg = <0x0 0xfdc60000 0x0 0x10000>;
 364	};
 365
 366	pipe_phy_grf1: syscon@fdc80000 {
 367		compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
 368		reg = <0x0 0xfdc80000 0x0 0x1000>;
 369	};
 370
 371	pipe_phy_grf2: syscon@fdc90000 {
 372		compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
 373		reg = <0x0 0xfdc90000 0x0 0x1000>;
 374	};
 375
 376	usb2phy0_grf: syscon@fdca0000 {
 377		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
 378		reg = <0x0 0xfdca0000 0x0 0x8000>;
 379	};
 380
 381	usb2phy1_grf: syscon@fdca8000 {
 382		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
 383		reg = <0x0 0xfdca8000 0x0 0x8000>;
 384	};
 385
 386	pmucru: clock-controller@fdd00000 {
 387		compatible = "rockchip,rk3568-pmucru";
 388		reg = <0x0 0xfdd00000 0x0 0x1000>;
 389		#clock-cells = <1>;
 390		#reset-cells = <1>;
 391	};
 392
 393	cru: clock-controller@fdd20000 {
 394		compatible = "rockchip,rk3568-cru";
 395		reg = <0x0 0xfdd20000 0x0 0x1000>;
 396		clocks = <&xin24m>;
 397		clock-names = "xin24m";
 398		#clock-cells = <1>;
 399		#reset-cells = <1>;
 400		assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, <&pmucru PLL_PPLL>;
 401		assigned-clock-rates = <32768>, <1200000000>, <200000000>;
 402		assigned-clock-parents = <&pmucru CLK_RTC32K_FRAC>;
 403		rockchip,grf = <&grf>;
 404	};
 405
 406	i2c0: i2c@fdd40000 {
 407		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
 408		reg = <0x0 0xfdd40000 0x0 0x1000>;
 409		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
 410		clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
 411		clock-names = "i2c", "pclk";
 412		pinctrl-0 = <&i2c0_xfer>;
 413		pinctrl-names = "default";
 414		#address-cells = <1>;
 415		#size-cells = <0>;
 416		status = "disabled";
 417	};
 418
 419	uart0: serial@fdd50000 {
 420		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
 421		reg = <0x0 0xfdd50000 0x0 0x100>;
 422		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
 423		clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
 424		clock-names = "baudclk", "apb_pclk";
 425		dmas = <&dmac0 0>, <&dmac0 1>;
 426		pinctrl-0 = <&uart0_xfer>;
 427		pinctrl-names = "default";
 428		reg-io-width = <4>;
 429		reg-shift = <2>;
 430		status = "disabled";
 431	};
 432
 433	pwm0: pwm@fdd70000 {
 434		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
 435		reg = <0x0 0xfdd70000 0x0 0x10>;
 436		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
 437		clock-names = "pwm", "pclk";
 438		pinctrl-0 = <&pwm0m0_pins>;
 439		pinctrl-names = "default";
 440		#pwm-cells = <3>;
 441		status = "disabled";
 442	};
 443
 444	pwm1: pwm@fdd70010 {
 445		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
 446		reg = <0x0 0xfdd70010 0x0 0x10>;
 447		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
 448		clock-names = "pwm", "pclk";
 449		pinctrl-0 = <&pwm1m0_pins>;
 450		pinctrl-names = "default";
 451		#pwm-cells = <3>;
 452		status = "disabled";
 453	};
 454
 455	pwm2: pwm@fdd70020 {
 456		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
 457		reg = <0x0 0xfdd70020 0x0 0x10>;
 458		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
 459		clock-names = "pwm", "pclk";
 460		pinctrl-0 = <&pwm2m0_pins>;
 461		pinctrl-names = "default";
 462		#pwm-cells = <3>;
 463		status = "disabled";
 464	};
 465
 466	pwm3: pwm@fdd70030 {
 467		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
 468		reg = <0x0 0xfdd70030 0x0 0x10>;
 469		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
 470		clock-names = "pwm", "pclk";
 471		pinctrl-0 = <&pwm3_pins>;
 472		pinctrl-names = "default";
 473		#pwm-cells = <3>;
 474		status = "disabled";
 475	};
 476
 477	pmu: power-management@fdd90000 {
 478		compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd";
 479		reg = <0x0 0xfdd90000 0x0 0x1000>;
 480
 481		power: power-controller {
 482			compatible = "rockchip,rk3568-power-controller";
 483			#power-domain-cells = <1>;
 484			#address-cells = <1>;
 485			#size-cells = <0>;
 486
 487			/* These power domains are grouped by VD_GPU */
 488			power-domain@RK3568_PD_GPU {
 489				reg = <RK3568_PD_GPU>;
 490				clocks = <&cru ACLK_GPU_PRE>,
 491					 <&cru PCLK_GPU_PRE>;
 492				pm_qos = <&qos_gpu>;
 493				#power-domain-cells = <0>;
 494			};
 495
 496			/* These power domains are grouped by VD_LOGIC */
 497			power-domain@RK3568_PD_VI {
 498				reg = <RK3568_PD_VI>;
 499				clocks = <&cru HCLK_VI>,
 500					 <&cru PCLK_VI>;
 501				pm_qos = <&qos_isp>,
 502					 <&qos_vicap0>,
 503					 <&qos_vicap1>;
 504				#power-domain-cells = <0>;
 505			};
 506
 507			power-domain@RK3568_PD_VO {
 508				reg = <RK3568_PD_VO>;
 509				clocks = <&cru HCLK_VO>,
 510					 <&cru PCLK_VO>,
 511					 <&cru ACLK_VOP_PRE>;
 512				pm_qos = <&qos_hdcp>,
 513					 <&qos_vop_m0>,
 514					 <&qos_vop_m1>;
 515				#power-domain-cells = <0>;
 516			};
 517
 518			power-domain@RK3568_PD_RGA {
 519				reg = <RK3568_PD_RGA>;
 520				clocks = <&cru HCLK_RGA_PRE>,
 521					 <&cru PCLK_RGA_PRE>;
 522				pm_qos = <&qos_ebc>,
 523					 <&qos_iep>,
 524					 <&qos_jpeg_dec>,
 525					 <&qos_jpeg_enc>,
 526					 <&qos_rga_rd>,
 527					 <&qos_rga_wr>;
 528				#power-domain-cells = <0>;
 529			};
 530
 531			power-domain@RK3568_PD_VPU {
 532				reg = <RK3568_PD_VPU>;
 533				clocks = <&cru HCLK_VPU_PRE>;
 534				pm_qos = <&qos_vpu>;
 535				#power-domain-cells = <0>;
 536			};
 537
 538			power-domain@RK3568_PD_RKVDEC {
 539				clocks = <&cru HCLK_RKVDEC_PRE>;
 540				reg = <RK3568_PD_RKVDEC>;
 541				pm_qos = <&qos_rkvdec>;
 542				#power-domain-cells = <0>;
 543			};
 544
 545			power-domain@RK3568_PD_RKVENC {
 546				reg = <RK3568_PD_RKVENC>;
 547				clocks = <&cru HCLK_RKVENC_PRE>;
 548				pm_qos = <&qos_rkvenc_rd_m0>,
 549					 <&qos_rkvenc_rd_m1>,
 550					 <&qos_rkvenc_wr_m0>;
 551				#power-domain-cells = <0>;
 552			};
 553		};
 554	};
 555
 556	gpu: gpu@fde60000 {
 557		compatible = "rockchip,rk3568-mali", "arm,mali-bifrost";
 558		reg = <0x0 0xfde60000 0x0 0x4000>;
 559		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
 560			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
 561			     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
 562		interrupt-names = "job", "mmu", "gpu";
 563		clocks = <&scmi_clk SCMI_CLK_GPU>, <&cru CLK_GPU>;
 564		clock-names = "gpu", "bus";
 565		#cooling-cells = <2>;
 566		power-domains = <&power RK3568_PD_GPU>;
 567		status = "disabled";
 568	};
 569
 570	vpu: video-codec@fdea0400 {
 571		compatible = "rockchip,rk3568-vpu";
 572		reg = <0x0 0xfdea0000 0x0 0x800>;
 573		interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
 574		interrupt-names = "vdpu";
 575		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
 576		clock-names = "aclk", "hclk";
 577		iommus = <&vdpu_mmu>;
 578		power-domains = <&power RK3568_PD_VPU>;
 579	};
 580
 581	vdpu_mmu: iommu@fdea0800 {
 582		compatible = "rockchip,rk3568-iommu";
 583		reg = <0x0 0xfdea0800 0x0 0x40>;
 584		interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
 585		clock-names = "aclk", "iface";
 586		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
 587		power-domains = <&power RK3568_PD_VPU>;
 588		#iommu-cells = <0>;
 589	};
 590
 591	rga: rga@fdeb0000 {
 592		compatible = "rockchip,rk3568-rga", "rockchip,rk3288-rga";
 593		reg = <0x0 0xfdeb0000 0x0 0x180>;
 594		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
 595		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_RGA_CORE>;
 596		clock-names = "aclk", "hclk", "sclk";
 597		resets = <&cru SRST_RGA_CORE>, <&cru SRST_A_RGA>, <&cru SRST_H_RGA>;
 598		reset-names = "core", "axi", "ahb";
 599		power-domains = <&power RK3568_PD_RGA>;
 600	};
 601
 602	vepu: video-codec@fdee0000 {
 603		compatible = "rockchip,rk3568-vepu";
 604		reg = <0x0 0xfdee0000 0x0 0x800>;
 605		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
 606		clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
 607		clock-names = "aclk", "hclk";
 608		iommus = <&vepu_mmu>;
 609		power-domains = <&power RK3568_PD_RGA>;
 610	};
 611
 612	vepu_mmu: iommu@fdee0800 {
 613		compatible = "rockchip,rk3568-iommu";
 614		reg = <0x0 0xfdee0800 0x0 0x40>;
 615		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
 616		clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
 617		clock-names = "aclk", "iface";
 618		power-domains = <&power RK3568_PD_RGA>;
 619		#iommu-cells = <0>;
 620	};
 621
 622	vicap: video-capture@fdfe0000 {
 623		compatible = "rockchip,rk3568-vicap";
 624		reg = <0x0 0xfdfe0000 0x0 0x200>;
 625		interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
 626		assigned-clocks = <&cru DCLK_VICAP>;
 627		assigned-clock-rates = <300000000>;
 628		clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>,
 629			 <&cru DCLK_VICAP>, <&cru ICLK_VICAP_G>;
 630		clock-names = "aclk", "hclk", "dclk", "iclk";
 631		iommus = <&vicap_mmu>;
 632		power-domains = <&power RK3568_PD_VI>;
 633		resets = <&cru SRST_A_VICAP>, <&cru SRST_H_VICAP>,
 634			 <&cru SRST_D_VICAP>, <&cru SRST_P_VICAP>,
 635			 <&cru SRST_I_VICAP>;
 636		reset-names = "arst", "hrst", "drst", "prst", "irst";
 637		rockchip,grf = <&grf>;
 638		status = "disabled";
 639
 640		ports {
 641			#address-cells = <1>;
 642			#size-cells = <0>;
 643
 644			vicap_dvp: port@0 {
 645				reg = <0>;
 646			};
 647
 648			vicap_mipi: port@1 {
 649				reg = <1>;
 650			};
 651		};
 652	};
 653
 654	vicap_mmu: iommu@fdfe0800 {
 655		compatible = "rockchip,rk3568-iommu";
 656		reg = <0x0 0xfdfe0800 0x0 0x100>;
 657		interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
 658		clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>;
 659		clock-names = "aclk", "iface";
 660		#iommu-cells = <0>;
 661		power-domains = <&power RK3568_PD_VI>;
 662		rockchip,disable-mmu-reset;
 663		status = "disabled";
 664	};
 665
 666	sdmmc2: mmc@fe000000 {
 667		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
 668		reg = <0x0 0xfe000000 0x0 0x4000>;
 669		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
 670		clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
 671			 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
 672		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
 673		fifo-depth = <0x100>;
 674		max-frequency = <150000000>;
 675		resets = <&cru SRST_SDMMC2>;
 676		reset-names = "reset";
 677		status = "disabled";
 678	};
 679
 680	gmac1: ethernet@fe010000 {
 681		compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
 682		reg = <0x0 0xfe010000 0x0 0x10000>;
 683		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
 684			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
 685		interrupt-names = "macirq", "eth_wake_irq";
 686		clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
 687			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
 688			 <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
 689			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
 690		clock-names = "stmmaceth", "mac_clk_rx",
 691			      "mac_clk_tx", "clk_mac_refout",
 692			      "aclk_mac", "pclk_mac",
 693			      "clk_mac_speed", "ptp_ref";
 694		resets = <&cru SRST_A_GMAC1>;
 695		reset-names = "stmmaceth";
 696		rockchip,grf = <&grf>;
 697		snps,axi-config = <&gmac1_stmmac_axi_setup>;
 698		snps,mixed-burst;
 699		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
 700		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
 701		snps,tso;
 702		status = "disabled";
 703
 704		mdio1: mdio {
 705			compatible = "snps,dwmac-mdio";
 706			#address-cells = <0x1>;
 707			#size-cells = <0x0>;
 708		};
 709
 710		gmac1_stmmac_axi_setup: stmmac-axi-config {
 711			snps,blen = <0 0 0 0 16 8 4>;
 712			snps,rd_osr_lmt = <8>;
 713			snps,wr_osr_lmt = <4>;
 714		};
 715
 716		gmac1_mtl_rx_setup: rx-queues-config {
 717			snps,rx-queues-to-use = <1>;
 718			queue0 {};
 719		};
 720
 721		gmac1_mtl_tx_setup: tx-queues-config {
 722			snps,tx-queues-to-use = <1>;
 723			queue0 {};
 724		};
 725	};
 726
 727	vop: vop@fe040000 {
 728		reg = <0x0 0xfe040000 0x0 0x3000>, <0x0 0xfe044000 0x0 0x1000>;
 729		reg-names = "vop", "gamma-lut";
 730		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
 731		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>,
 732			 <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
 733		clock-names = "aclk", "hclk", "dclk_vp0", "dclk_vp1", "dclk_vp2";
 734		iommus = <&vop_mmu>;
 735		power-domains = <&power RK3568_PD_VO>;
 736		rockchip,grf = <&grf>;
 737		status = "disabled";
 738
 739		vop_out: ports {
 740			#address-cells = <1>;
 741			#size-cells = <0>;
 742
 743			vp0: port@0 {
 744				reg = <0>;
 745				#address-cells = <1>;
 746				#size-cells = <0>;
 747			};
 748
 749			vp1: port@1 {
 750				reg = <1>;
 751				#address-cells = <1>;
 752				#size-cells = <0>;
 753			};
 754
 755			vp2: port@2 {
 756				reg = <2>;
 757				#address-cells = <1>;
 758				#size-cells = <0>;
 759			};
 760		};
 761	};
 762
 763	vop_mmu: iommu@fe043e00 {
 764		compatible = "rockchip,rk3568-iommu";
 765		reg = <0x0 0xfe043e00 0x0 0x100>, <0x0 0xfe043f00 0x0 0x100>;
 766		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
 767		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
 768		clock-names = "aclk", "iface";
 769		#iommu-cells = <0>;
 770		power-domains = <&power RK3568_PD_VO>;
 771		status = "disabled";
 772	};
 773
 774	dsi0: dsi@fe060000 {
 775		compatible = "rockchip,rk3568-mipi-dsi", "snps,dw-mipi-dsi";
 776		reg = <0x00 0xfe060000 0x00 0x10000>;
 777		interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
 778		clock-names = "pclk";
 779		clocks = <&cru PCLK_DSITX_0>;
 780		phy-names = "dphy";
 781		phys = <&dsi_dphy0>;
 782		power-domains = <&power RK3568_PD_VO>;
 783		reset-names = "apb";
 784		resets = <&cru SRST_P_DSITX_0>;
 785		rockchip,grf = <&grf>;
 786		status = "disabled";
 787
 788		ports {
 789			#address-cells = <1>;
 790			#size-cells = <0>;
 791
 792			dsi0_in: port@0 {
 793				reg = <0>;
 794			};
 795
 796			dsi0_out: port@1 {
 797				reg = <1>;
 798			};
 799		};
 800	};
 801
 802	dsi1: dsi@fe070000 {
 803		compatible = "rockchip,rk3568-mipi-dsi", "snps,dw-mipi-dsi";
 804		reg = <0x0 0xfe070000 0x0 0x10000>;
 805		interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
 806		clock-names = "pclk";
 807		clocks = <&cru PCLK_DSITX_1>;
 808		phy-names = "dphy";
 809		phys = <&dsi_dphy1>;
 810		power-domains = <&power RK3568_PD_VO>;
 811		reset-names = "apb";
 812		resets = <&cru SRST_P_DSITX_1>;
 813		rockchip,grf = <&grf>;
 814		status = "disabled";
 815
 816		ports {
 817			#address-cells = <1>;
 818			#size-cells = <0>;
 819
 820			dsi1_in: port@0 {
 821				reg = <0>;
 822			};
 823
 824			dsi1_out: port@1 {
 825				reg = <1>;
 826			};
 827		};
 828	};
 829
 830	hdmi: hdmi@fe0a0000 {
 831		compatible = "rockchip,rk3568-dw-hdmi";
 832		reg = <0x0 0xfe0a0000 0x0 0x20000>;
 833		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
 834		clocks = <&cru PCLK_HDMI_HOST>,
 835			 <&cru CLK_HDMI_SFR>,
 836			 <&cru CLK_HDMI_CEC>,
 837			 <&pmucru CLK_HDMI_REF>,
 838			 <&cru HCLK_VO>;
 839		clock-names = "iahb", "isfr", "cec", "ref";
 840		pinctrl-names = "default";
 841		pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>;
 842		power-domains = <&power RK3568_PD_VO>;
 843		reg-io-width = <4>;
 844		rockchip,grf = <&grf>;
 845		#sound-dai-cells = <0>;
 846		status = "disabled";
 847
 848		ports {
 849			#address-cells = <1>;
 850			#size-cells = <0>;
 851
 852			hdmi_in: port@0 {
 853				reg = <0>;
 854			};
 855
 856			hdmi_out: port@1 {
 857				reg = <1>;
 858			};
 859		};
 860	};
 861
 862	qos_gpu: qos@fe128000 {
 863		compatible = "rockchip,rk3568-qos", "syscon";
 864		reg = <0x0 0xfe128000 0x0 0x20>;
 865	};
 866
 867	qos_rkvenc_rd_m0: qos@fe138080 {
 868		compatible = "rockchip,rk3568-qos", "syscon";
 869		reg = <0x0 0xfe138080 0x0 0x20>;
 870	};
 871
 872	qos_rkvenc_rd_m1: qos@fe138100 {
 873		compatible = "rockchip,rk3568-qos", "syscon";
 874		reg = <0x0 0xfe138100 0x0 0x20>;
 875	};
 876
 877	qos_rkvenc_wr_m0: qos@fe138180 {
 878		compatible = "rockchip,rk3568-qos", "syscon";
 879		reg = <0x0 0xfe138180 0x0 0x20>;
 880	};
 881
 882	qos_isp: qos@fe148000 {
 883		compatible = "rockchip,rk3568-qos", "syscon";
 884		reg = <0x0 0xfe148000 0x0 0x20>;
 885	};
 886
 887	qos_vicap0: qos@fe148080 {
 888		compatible = "rockchip,rk3568-qos", "syscon";
 889		reg = <0x0 0xfe148080 0x0 0x20>;
 890	};
 891
 892	qos_vicap1: qos@fe148100 {
 893		compatible = "rockchip,rk3568-qos", "syscon";
 894		reg = <0x0 0xfe148100 0x0 0x20>;
 895	};
 896
 897	qos_vpu: qos@fe150000 {
 898		compatible = "rockchip,rk3568-qos", "syscon";
 899		reg = <0x0 0xfe150000 0x0 0x20>;
 900	};
 901
 902	qos_ebc: qos@fe158000 {
 903		compatible = "rockchip,rk3568-qos", "syscon";
 904		reg = <0x0 0xfe158000 0x0 0x20>;
 905	};
 906
 907	qos_iep: qos@fe158100 {
 908		compatible = "rockchip,rk3568-qos", "syscon";
 909		reg = <0x0 0xfe158100 0x0 0x20>;
 910	};
 911
 912	qos_jpeg_dec: qos@fe158180 {
 913		compatible = "rockchip,rk3568-qos", "syscon";
 914		reg = <0x0 0xfe158180 0x0 0x20>;
 915	};
 916
 917	qos_jpeg_enc: qos@fe158200 {
 918		compatible = "rockchip,rk3568-qos", "syscon";
 919		reg = <0x0 0xfe158200 0x0 0x20>;
 920	};
 921
 922	qos_rga_rd: qos@fe158280 {
 923		compatible = "rockchip,rk3568-qos", "syscon";
 924		reg = <0x0 0xfe158280 0x0 0x20>;
 925	};
 926
 927	qos_rga_wr: qos@fe158300 {
 928		compatible = "rockchip,rk3568-qos", "syscon";
 929		reg = <0x0 0xfe158300 0x0 0x20>;
 930	};
 931
 932	qos_npu: qos@fe180000 {
 933		compatible = "rockchip,rk3568-qos", "syscon";
 934		reg = <0x0 0xfe180000 0x0 0x20>;
 935	};
 936
 937	qos_pcie2x1: qos@fe190000 {
 938		compatible = "rockchip,rk3568-qos", "syscon";
 939		reg = <0x0 0xfe190000 0x0 0x20>;
 940	};
 941
 942	qos_sata1: qos@fe190280 {
 943		compatible = "rockchip,rk3568-qos", "syscon";
 944		reg = <0x0 0xfe190280 0x0 0x20>;
 945	};
 946
 947	qos_sata2: qos@fe190300 {
 948		compatible = "rockchip,rk3568-qos", "syscon";
 949		reg = <0x0 0xfe190300 0x0 0x20>;
 950	};
 951
 952	qos_usb3_0: qos@fe190380 {
 953		compatible = "rockchip,rk3568-qos", "syscon";
 954		reg = <0x0 0xfe190380 0x0 0x20>;
 955	};
 956
 957	qos_usb3_1: qos@fe190400 {
 958		compatible = "rockchip,rk3568-qos", "syscon";
 959		reg = <0x0 0xfe190400 0x0 0x20>;
 960	};
 961
 962	qos_rkvdec: qos@fe198000 {
 963		compatible = "rockchip,rk3568-qos", "syscon";
 964		reg = <0x0 0xfe198000 0x0 0x20>;
 965	};
 966
 967	qos_hdcp: qos@fe1a8000 {
 968		compatible = "rockchip,rk3568-qos", "syscon";
 969		reg = <0x0 0xfe1a8000 0x0 0x20>;
 970	};
 971
 972	qos_vop_m0: qos@fe1a8080 {
 973		compatible = "rockchip,rk3568-qos", "syscon";
 974		reg = <0x0 0xfe1a8080 0x0 0x20>;
 975	};
 976
 977	qos_vop_m1: qos@fe1a8100 {
 978		compatible = "rockchip,rk3568-qos", "syscon";
 979		reg = <0x0 0xfe1a8100 0x0 0x20>;
 980	};
 981
 982	dfi: dfi@fe230000 {
 983		compatible = "rockchip,rk3568-dfi";
 984		reg = <0x00 0xfe230000 0x00 0x400>;
 985		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
 986		rockchip,pmu = <&pmugrf>;
 987	};
 988
 989	pcie2x1: pcie@fe260000 {
 990		compatible = "rockchip,rk3568-pcie";
 991		reg = <0x3 0xc0000000 0x0 0x00400000>,
 992		      <0x0 0xfe260000 0x0 0x00010000>,
 993		      <0x0 0xf4000000 0x0 0x00100000>;
 994		reg-names = "dbi", "apb", "config";
 995		interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
 996			     <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
 997			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
 998			     <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
 999			     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
1000		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
1001		bus-range = <0x0 0xf>;
1002		clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
1003			 <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
1004			 <&cru CLK_PCIE20_AUX_NDFT>;
1005		clock-names = "aclk_mst", "aclk_slv",
1006			      "aclk_dbi", "pclk", "aux";
1007		device_type = "pci";
1008		#interrupt-cells = <1>;
1009		interrupt-map-mask = <0 0 0 7>;
1010		interrupt-map = <0 0 0 1 &pcie_intc 0>,
1011				<0 0 0 2 &pcie_intc 1>,
1012				<0 0 0 3 &pcie_intc 2>,
1013				<0 0 0 4 &pcie_intc 3>;
1014		linux,pci-domain = <0>;
1015		num-ib-windows = <6>;
1016		num-ob-windows = <2>;
1017		max-link-speed = <2>;
1018		msi-map = <0x0 &its 0x0 0x1000>;
1019		num-lanes = <1>;
1020		phys = <&combphy2 PHY_TYPE_PCIE>;
1021		phy-names = "pcie-phy";
1022		power-domains = <&power RK3568_PD_PIPE>;
1023		ranges = <0x01000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x00100000>,
1024			 <0x02000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x01e00000>,
1025			 <0x03000000 0x3 0x00000000 0x3 0x00000000 0x0 0x40000000>;
1026		resets = <&cru SRST_PCIE20_POWERUP>;
1027		reset-names = "pipe";
1028		#address-cells = <3>;
1029		#size-cells = <2>;
1030		status = "disabled";
1031
1032		pcie_intc: legacy-interrupt-controller {
1033			#address-cells = <0>;
1034			#interrupt-cells = <1>;
1035			interrupt-controller;
1036			interrupt-parent = <&gic>;
1037			interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>;
1038		};
1039	};
1040
1041	sdmmc0: mmc@fe2b0000 {
1042		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
1043		reg = <0x0 0xfe2b0000 0x0 0x4000>;
1044		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1045		clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
1046			 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
1047		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1048		fifo-depth = <0x100>;
1049		max-frequency = <150000000>;
1050		resets = <&cru SRST_SDMMC0>;
1051		reset-names = "reset";
1052		status = "disabled";
1053	};
1054
1055	sdmmc1: mmc@fe2c0000 {
1056		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
1057		reg = <0x0 0xfe2c0000 0x0 0x4000>;
1058		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1059		clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
1060			 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
1061		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1062		fifo-depth = <0x100>;
1063		max-frequency = <150000000>;
1064		resets = <&cru SRST_SDMMC1>;
1065		reset-names = "reset";
1066		status = "disabled";
1067	};
1068
1069	sfc: spi@fe300000 {
1070		compatible = "rockchip,sfc";
1071		reg = <0x0 0xfe300000 0x0 0x4000>;
1072		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1073		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
1074		clock-names = "clk_sfc", "hclk_sfc";
1075		pinctrl-0 = <&fspi_pins>;
1076		pinctrl-names = "default";
1077		status = "disabled";
1078	};
1079
1080	sdhci: mmc@fe310000 {
1081		compatible = "rockchip,rk3568-dwcmshc";
1082		reg = <0x0 0xfe310000 0x0 0x10000>;
1083		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
1084		assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
1085		assigned-clock-rates = <200000000>, <24000000>;
1086		clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
1087			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
1088			 <&cru TCLK_EMMC>;
1089		clock-names = "core", "bus", "axi", "block", "timer";
1090		status = "disabled";
1091	};
1092
1093	/*
1094	 * Testing showed that the HWRNG found in RK3566 produces unacceptably
1095	 * low quality of random data, so the HWRNG isn't enabled for all RK356x
1096	 * SoC variants despite its presence.
1097	 */
1098	rng: rng@fe388000 {
1099		compatible = "rockchip,rk3568-rng";
1100		reg = <0x0 0xfe388000 0x0 0x4000>;
1101		clocks = <&cru CLK_TRNG_NS>, <&cru HCLK_TRNG_NS>;
1102		clock-names = "core", "ahb";
1103		resets = <&cru SRST_TRNG_NS>;
1104		status = "disabled";
1105	};
1106
1107	i2s0_8ch: i2s@fe400000 {
1108		compatible = "rockchip,rk3568-i2s-tdm";
1109		reg = <0x0 0xfe400000 0x0 0x1000>;
1110		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
1111		assigned-clocks = <&cru CLK_I2S0_8CH_TX_SRC>, <&cru CLK_I2S0_8CH_RX_SRC>;
1112		assigned-clock-rates = <1188000000>, <1188000000>;
1113		clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>;
1114		clock-names = "mclk_tx", "mclk_rx", "hclk";
1115		dmas = <&dmac1 0>;
1116		dma-names = "tx";
1117		resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>;
1118		reset-names = "tx-m", "rx-m";
1119		rockchip,grf = <&grf>;
1120		#sound-dai-cells = <0>;
1121		status = "disabled";
1122	};
1123
1124	i2s1_8ch: i2s@fe410000 {
1125		compatible = "rockchip,rk3568-i2s-tdm";
1126		reg = <0x0 0xfe410000 0x0 0x1000>;
1127		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
1128		assigned-clocks = <&cru CLK_I2S1_8CH_TX_SRC>, <&cru CLK_I2S1_8CH_RX_SRC>;
1129		assigned-clock-rates = <1188000000>, <1188000000>;
1130		clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>,
1131			 <&cru HCLK_I2S1_8CH>;
1132		clock-names = "mclk_tx", "mclk_rx", "hclk";
1133		dmas = <&dmac1 3>, <&dmac1 2>;
1134		dma-names = "rx", "tx";
1135		resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
1136		reset-names = "tx-m", "rx-m";
1137		rockchip,grf = <&grf>;
1138		pinctrl-names = "default";
1139		pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx
1140			     &i2s1m0_lrcktx &i2s1m0_lrckrx
1141			     &i2s1m0_sdi0   &i2s1m0_sdi1
1142			     &i2s1m0_sdi2   &i2s1m0_sdi3
1143			     &i2s1m0_sdo0   &i2s1m0_sdo1
1144			     &i2s1m0_sdo2   &i2s1m0_sdo3>;
1145		#sound-dai-cells = <0>;
1146		status = "disabled";
1147	};
1148
1149	i2s2_2ch: i2s@fe420000 {
1150		compatible = "rockchip,rk3568-i2s-tdm";
1151		reg = <0x0 0xfe420000 0x0 0x1000>;
1152		interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
1153		assigned-clocks = <&cru CLK_I2S2_2CH_SRC>;
1154		assigned-clock-rates = <1188000000>;
1155		clocks = <&cru MCLK_I2S2_2CH>, <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>;
1156		clock-names = "mclk_tx", "mclk_rx", "hclk";
1157		dmas = <&dmac1 4>, <&dmac1 5>;
1158		dma-names = "tx", "rx";
1159		resets = <&cru SRST_M_I2S2_2CH>;
1160		reset-names = "tx-m";
1161		rockchip,grf = <&grf>;
1162		pinctrl-names = "default";
1163		pinctrl-0 = <&i2s2m0_sclktx
1164				&i2s2m0_lrcktx
1165				&i2s2m0_sdi
1166				&i2s2m0_sdo>;
1167		#sound-dai-cells = <0>;
1168		status = "disabled";
1169	};
1170
1171	i2s3_2ch: i2s@fe430000 {
1172		compatible = "rockchip,rk3568-i2s-tdm";
1173		reg = <0x0 0xfe430000 0x0 0x1000>;
1174		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
1175		clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>,
1176			 <&cru HCLK_I2S3_2CH>;
1177		clock-names = "mclk_tx", "mclk_rx", "hclk";
1178		dmas = <&dmac1 6>, <&dmac1 7>;
1179		dma-names = "tx", "rx";
1180		resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>;
1181		reset-names = "tx-m", "rx-m";
1182		rockchip,grf = <&grf>;
1183		#sound-dai-cells = <0>;
1184		status = "disabled";
1185	};
1186
1187	pdm: pdm@fe440000 {
1188		compatible = "rockchip,rk3568-pdm";
1189		reg = <0x0 0xfe440000 0x0 0x1000>;
1190		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
1191		clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
1192		clock-names = "pdm_clk", "pdm_hclk";
1193		dmas = <&dmac1 9>;
1194		dma-names = "rx";
1195		pinctrl-0 = <&pdmm0_clk
1196			     &pdmm0_clk1
1197			     &pdmm0_sdi0
1198			     &pdmm0_sdi1
1199			     &pdmm0_sdi2
1200			     &pdmm0_sdi3>;
1201		pinctrl-names = "default";
1202		resets = <&cru SRST_M_PDM>;
1203		reset-names = "pdm-m";
1204		#sound-dai-cells = <0>;
1205		status = "disabled";
1206	};
1207
1208	spdif: spdif@fe460000 {
1209		compatible = "rockchip,rk3568-spdif";
1210		reg = <0x0 0xfe460000 0x0 0x1000>;
1211		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
1212		clock-names = "mclk", "hclk";
1213		clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>;
1214		dmas = <&dmac1 1>;
1215		dma-names = "tx";
1216		pinctrl-names = "default";
1217		pinctrl-0 = <&spdifm0_tx>;
1218		#sound-dai-cells = <0>;
1219		status = "disabled";
1220	};
1221
1222	dmac0: dma-controller@fe530000 {
1223		compatible = "arm,pl330", "arm,primecell";
1224		reg = <0x0 0xfe530000 0x0 0x4000>;
1225		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
1226			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1227		arm,pl330-periph-burst;
1228		clocks = <&cru ACLK_BUS>;
1229		clock-names = "apb_pclk";
1230		#dma-cells = <1>;
1231	};
1232
1233	dmac1: dma-controller@fe550000 {
1234		compatible = "arm,pl330", "arm,primecell";
1235		reg = <0x0 0xfe550000 0x0 0x4000>;
1236		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
1237			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
1238		arm,pl330-periph-burst;
1239		clocks = <&cru ACLK_BUS>;
1240		clock-names = "apb_pclk";
1241		#dma-cells = <1>;
1242	};
1243
1244	i2c1: i2c@fe5a0000 {
1245		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
1246		reg = <0x0 0xfe5a0000 0x0 0x1000>;
1247		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
1248		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
1249		clock-names = "i2c", "pclk";
1250		pinctrl-0 = <&i2c1_xfer>;
1251		pinctrl-names = "default";
1252		#address-cells = <1>;
1253		#size-cells = <0>;
1254		status = "disabled";
1255	};
1256
1257	i2c2: i2c@fe5b0000 {
1258		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
1259		reg = <0x0 0xfe5b0000 0x0 0x1000>;
1260		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1261		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
1262		clock-names = "i2c", "pclk";
1263		pinctrl-0 = <&i2c2m0_xfer>;
1264		pinctrl-names = "default";
1265		#address-cells = <1>;
1266		#size-cells = <0>;
1267		status = "disabled";
1268	};
1269
1270	i2c3: i2c@fe5c0000 {
1271		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
1272		reg = <0x0 0xfe5c0000 0x0 0x1000>;
1273		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
1274		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
1275		clock-names = "i2c", "pclk";
1276		pinctrl-0 = <&i2c3m0_xfer>;
1277		pinctrl-names = "default";
1278		#address-cells = <1>;
1279		#size-cells = <0>;
1280		status = "disabled";
1281	};
1282
1283	i2c4: i2c@fe5d0000 {
1284		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
1285		reg = <0x0 0xfe5d0000 0x0 0x1000>;
1286		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
1287		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
1288		clock-names = "i2c", "pclk";
1289		pinctrl-0 = <&i2c4m0_xfer>;
1290		pinctrl-names = "default";
1291		#address-cells = <1>;
1292		#size-cells = <0>;
1293		status = "disabled";
1294	};
1295
1296	i2c5: i2c@fe5e0000 {
1297		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
1298		reg = <0x0 0xfe5e0000 0x0 0x1000>;
1299		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
1300		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
1301		clock-names = "i2c", "pclk";
1302		pinctrl-0 = <&i2c5m0_xfer>;
1303		pinctrl-names = "default";
1304		#address-cells = <1>;
1305		#size-cells = <0>;
1306		status = "disabled";
1307	};
1308
1309	wdt: watchdog@fe600000 {
1310		compatible = "rockchip,rk3568-wdt", "snps,dw-wdt";
1311		reg = <0x0 0xfe600000 0x0 0x100>;
1312		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
1313		clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
1314		clock-names = "tclk", "pclk";
1315	};
1316
1317	spi0: spi@fe610000 {
1318		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1319		reg = <0x0 0xfe610000 0x0 0x1000>;
1320		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1321		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
1322		clock-names = "spiclk", "apb_pclk";
1323		dmas = <&dmac0 20>, <&dmac0 21>;
1324		dma-names = "tx", "rx";
1325		pinctrl-names = "default";
1326		pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
1327		#address-cells = <1>;
1328		#size-cells = <0>;
1329		status = "disabled";
1330	};
1331
1332	spi1: spi@fe620000 {
1333		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1334		reg = <0x0 0xfe620000 0x0 0x1000>;
1335		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
1336		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
1337		clock-names = "spiclk", "apb_pclk";
1338		dmas = <&dmac0 22>, <&dmac0 23>;
1339		dma-names = "tx", "rx";
1340		pinctrl-names = "default";
1341		pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>;
1342		#address-cells = <1>;
1343		#size-cells = <0>;
1344		status = "disabled";
1345	};
1346
1347	spi2: spi@fe630000 {
1348		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1349		reg = <0x0 0xfe630000 0x0 0x1000>;
1350		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
1351		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
1352		clock-names = "spiclk", "apb_pclk";
1353		dmas = <&dmac0 24>, <&dmac0 25>;
1354		dma-names = "tx", "rx";
1355		pinctrl-names = "default";
1356		pinctrl-0 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins>;
1357		#address-cells = <1>;
1358		#size-cells = <0>;
1359		status = "disabled";
1360	};
1361
1362	spi3: spi@fe640000 {
1363		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1364		reg = <0x0 0xfe640000 0x0 0x1000>;
1365		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
1366		clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
1367		clock-names = "spiclk", "apb_pclk";
1368		dmas = <&dmac0 26>, <&dmac0 27>;
1369		dma-names = "tx", "rx";
1370		pinctrl-names = "default";
1371		pinctrl-0 = <&spi3m0_cs0 &spi3m0_cs1 &spi3m0_pins>;
1372		#address-cells = <1>;
1373		#size-cells = <0>;
1374		status = "disabled";
1375	};
1376
1377	uart1: serial@fe650000 {
1378		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1379		reg = <0x0 0xfe650000 0x0 0x100>;
1380		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
1381		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
1382		clock-names = "baudclk", "apb_pclk";
1383		dmas = <&dmac0 2>, <&dmac0 3>;
1384		pinctrl-0 = <&uart1m0_xfer>;
1385		pinctrl-names = "default";
1386		reg-io-width = <4>;
1387		reg-shift = <2>;
1388		status = "disabled";
1389	};
1390
1391	uart2: serial@fe660000 {
1392		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1393		reg = <0x0 0xfe660000 0x0 0x100>;
1394		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1395		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
1396		clock-names = "baudclk", "apb_pclk";
1397		dmas = <&dmac0 4>, <&dmac0 5>;
1398		pinctrl-0 = <&uart2m0_xfer>;
1399		pinctrl-names = "default";
1400		reg-io-width = <4>;
1401		reg-shift = <2>;
1402		status = "disabled";
1403	};
1404
1405	uart3: serial@fe670000 {
1406		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1407		reg = <0x0 0xfe670000 0x0 0x100>;
1408		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
1409		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
1410		clock-names = "baudclk", "apb_pclk";
1411		dmas = <&dmac0 6>, <&dmac0 7>;
1412		pinctrl-0 = <&uart3m0_xfer>;
1413		pinctrl-names = "default";
1414		reg-io-width = <4>;
1415		reg-shift = <2>;
1416		status = "disabled";
1417	};
1418
1419	uart4: serial@fe680000 {
1420		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1421		reg = <0x0 0xfe680000 0x0 0x100>;
1422		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
1423		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
1424		clock-names = "baudclk", "apb_pclk";
1425		dmas = <&dmac0 8>, <&dmac0 9>;
1426		pinctrl-0 = <&uart4m0_xfer>;
1427		pinctrl-names = "default";
1428		reg-io-width = <4>;
1429		reg-shift = <2>;
1430		status = "disabled";
1431	};
1432
1433	uart5: serial@fe690000 {
1434		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1435		reg = <0x0 0xfe690000 0x0 0x100>;
1436		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
1437		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
1438		clock-names = "baudclk", "apb_pclk";
1439		dmas = <&dmac0 10>, <&dmac0 11>;
1440		pinctrl-0 = <&uart5m0_xfer>;
1441		pinctrl-names = "default";
1442		reg-io-width = <4>;
1443		reg-shift = <2>;
1444		status = "disabled";
1445	};
1446
1447	uart6: serial@fe6a0000 {
1448		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1449		reg = <0x0 0xfe6a0000 0x0 0x100>;
1450		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
1451		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
1452		clock-names = "baudclk", "apb_pclk";
1453		dmas = <&dmac0 12>, <&dmac0 13>;
1454		pinctrl-0 = <&uart6m0_xfer>;
1455		pinctrl-names = "default";
1456		reg-io-width = <4>;
1457		reg-shift = <2>;
1458		status = "disabled";
1459	};
1460
1461	uart7: serial@fe6b0000 {
1462		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1463		reg = <0x0 0xfe6b0000 0x0 0x100>;
1464		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
1465		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
1466		clock-names = "baudclk", "apb_pclk";
1467		dmas = <&dmac0 14>, <&dmac0 15>;
1468		pinctrl-0 = <&uart7m0_xfer>;
1469		pinctrl-names = "default";
1470		reg-io-width = <4>;
1471		reg-shift = <2>;
1472		status = "disabled";
1473	};
1474
1475	uart8: serial@fe6c0000 {
1476		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1477		reg = <0x0 0xfe6c0000 0x0 0x100>;
1478		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
1479		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
1480		clock-names = "baudclk", "apb_pclk";
1481		dmas = <&dmac0 16>, <&dmac0 17>;
1482		pinctrl-0 = <&uart8m0_xfer>;
1483		pinctrl-names = "default";
1484		reg-io-width = <4>;
1485		reg-shift = <2>;
1486		status = "disabled";
1487	};
1488
1489	uart9: serial@fe6d0000 {
1490		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1491		reg = <0x0 0xfe6d0000 0x0 0x100>;
1492		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
1493		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
1494		clock-names = "baudclk", "apb_pclk";
1495		dmas = <&dmac0 18>, <&dmac0 19>;
1496		pinctrl-0 = <&uart9m0_xfer>;
1497		pinctrl-names = "default";
1498		reg-io-width = <4>;
1499		reg-shift = <2>;
1500		status = "disabled";
1501	};
1502
1503	thermal_zones: thermal-zones {
1504		cpu_thermal: cpu-thermal {
1505			polling-delay-passive = <100>;
1506			polling-delay = <1000>;
1507
1508			thermal-sensors = <&tsadc 0>;
1509
1510			trips {
1511				cpu_alert0: cpu_alert0 {
1512					temperature = <70000>;
1513					hysteresis = <2000>;
1514					type = "passive";
1515				};
1516				cpu_alert1: cpu_alert1 {
1517					temperature = <75000>;
1518					hysteresis = <2000>;
1519					type = "passive";
1520				};
1521				cpu_crit: cpu_crit {
1522					temperature = <95000>;
1523					hysteresis = <2000>;
1524					type = "critical";
1525				};
1526			};
1527
1528			cooling-maps {
1529				map0 {
1530					trip = <&cpu_alert0>;
1531					cooling-device =
1532						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1533						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1534						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1535						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1536				};
1537			};
1538		};
1539
1540		gpu_thermal: gpu-thermal {
1541			polling-delay-passive = <20>; /* milliseconds */
1542			polling-delay = <1000>; /* milliseconds */
1543
1544			thermal-sensors = <&tsadc 1>;
1545
1546			trips {
1547				gpu_threshold: gpu-threshold {
1548					temperature = <70000>;
1549					hysteresis = <2000>;
1550					type = "passive";
1551				};
1552				gpu_target: gpu-target {
1553					temperature = <75000>;
1554					hysteresis = <2000>;
1555					type = "passive";
1556				};
1557				gpu_crit: gpu-crit {
1558					temperature = <95000>;
1559					hysteresis = <2000>;
1560					type = "critical";
1561				};
1562			};
1563
1564			cooling-maps {
1565				map0 {
1566					trip = <&gpu_target>;
1567					cooling-device =
1568						<&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1569				};
1570			};
1571		};
1572	};
1573
1574	tsadc: tsadc@fe710000 {
1575		compatible = "rockchip,rk3568-tsadc";
1576		reg = <0x0 0xfe710000 0x0 0x100>;
1577		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
1578		assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>;
1579		assigned-clock-rates = <17000000>, <700000>;
1580		clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
1581		clock-names = "tsadc", "apb_pclk";
1582		resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>,
1583			 <&cru SRST_TSADCPHY>;
1584		rockchip,grf = <&grf>;
1585		rockchip,hw-tshut-temp = <95000>;
1586		pinctrl-names = "default", "sleep";
1587		pinctrl-0 = <&tsadc_shutorg>;
1588		pinctrl-1 = <&tsadc_pin>;
1589		#thermal-sensor-cells = <1>;
1590		status = "disabled";
1591	};
1592
1593	saradc: saradc@fe720000 {
1594		compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc";
1595		reg = <0x0 0xfe720000 0x0 0x100>;
1596		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
1597		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
1598		clock-names = "saradc", "apb_pclk";
1599		resets = <&cru SRST_P_SARADC>;
1600		reset-names = "saradc-apb";
1601		#io-channel-cells = <1>;
1602		status = "disabled";
1603	};
1604
1605	pwm4: pwm@fe6e0000 {
1606		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1607		reg = <0x0 0xfe6e0000 0x0 0x10>;
1608		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1609		clock-names = "pwm", "pclk";
1610		pinctrl-0 = <&pwm4_pins>;
1611		pinctrl-names = "default";
1612		#pwm-cells = <3>;
1613		status = "disabled";
1614	};
1615
1616	pwm5: pwm@fe6e0010 {
1617		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1618		reg = <0x0 0xfe6e0010 0x0 0x10>;
1619		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1620		clock-names = "pwm", "pclk";
1621		pinctrl-0 = <&pwm5_pins>;
1622		pinctrl-names = "default";
1623		#pwm-cells = <3>;
1624		status = "disabled";
1625	};
1626
1627	pwm6: pwm@fe6e0020 {
1628		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1629		reg = <0x0 0xfe6e0020 0x0 0x10>;
1630		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1631		clock-names = "pwm", "pclk";
1632		pinctrl-0 = <&pwm6_pins>;
1633		pinctrl-names = "default";
1634		#pwm-cells = <3>;
1635		status = "disabled";
1636	};
1637
1638	pwm7: pwm@fe6e0030 {
1639		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1640		reg = <0x0 0xfe6e0030 0x0 0x10>;
1641		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1642		clock-names = "pwm", "pclk";
1643		pinctrl-0 = <&pwm7_pins>;
1644		pinctrl-names = "default";
1645		#pwm-cells = <3>;
1646		status = "disabled";
1647	};
1648
1649	pwm8: pwm@fe6f0000 {
1650		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1651		reg = <0x0 0xfe6f0000 0x0 0x10>;
1652		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1653		clock-names = "pwm", "pclk";
1654		pinctrl-0 = <&pwm8m0_pins>;
1655		pinctrl-names = "default";
1656		#pwm-cells = <3>;
1657		status = "disabled";
1658	};
1659
1660	pwm9: pwm@fe6f0010 {
1661		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1662		reg = <0x0 0xfe6f0010 0x0 0x10>;
1663		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1664		clock-names = "pwm", "pclk";
1665		pinctrl-0 = <&pwm9m0_pins>;
1666		pinctrl-names = "default";
1667		#pwm-cells = <3>;
1668		status = "disabled";
1669	};
1670
1671	pwm10: pwm@fe6f0020 {
1672		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1673		reg = <0x0 0xfe6f0020 0x0 0x10>;
1674		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1675		clock-names = "pwm", "pclk";
1676		pinctrl-0 = <&pwm10m0_pins>;
1677		pinctrl-names = "default";
1678		#pwm-cells = <3>;
1679		status = "disabled";
1680	};
1681
1682	pwm11: pwm@fe6f0030 {
1683		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1684		reg = <0x0 0xfe6f0030 0x0 0x10>;
1685		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1686		clock-names = "pwm", "pclk";
1687		pinctrl-0 = <&pwm11m0_pins>;
1688		pinctrl-names = "default";
1689		#pwm-cells = <3>;
1690		status = "disabled";
1691	};
1692
1693	pwm12: pwm@fe700000 {
1694		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1695		reg = <0x0 0xfe700000 0x0 0x10>;
1696		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1697		clock-names = "pwm", "pclk";
1698		pinctrl-0 = <&pwm12m0_pins>;
1699		pinctrl-names = "default";
1700		#pwm-cells = <3>;
1701		status = "disabled";
1702	};
1703
1704	pwm13: pwm@fe700010 {
1705		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1706		reg = <0x0 0xfe700010 0x0 0x10>;
1707		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1708		clock-names = "pwm", "pclk";
1709		pinctrl-0 = <&pwm13m0_pins>;
1710		pinctrl-names = "default";
1711		#pwm-cells = <3>;
1712		status = "disabled";
1713	};
1714
1715	pwm14: pwm@fe700020 {
1716		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1717		reg = <0x0 0xfe700020 0x0 0x10>;
1718		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1719		clock-names = "pwm", "pclk";
1720		pinctrl-0 = <&pwm14m0_pins>;
1721		pinctrl-names = "default";
1722		#pwm-cells = <3>;
1723		status = "disabled";
1724	};
1725
1726	pwm15: pwm@fe700030 {
1727		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1728		reg = <0x0 0xfe700030 0x0 0x10>;
1729		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1730		clock-names = "pwm", "pclk";
1731		pinctrl-0 = <&pwm15m0_pins>;
1732		pinctrl-names = "default";
1733		#pwm-cells = <3>;
1734		status = "disabled";
1735	};
1736
1737	combphy1: phy@fe830000 {
1738		compatible = "rockchip,rk3568-naneng-combphy";
1739		reg = <0x0 0xfe830000 0x0 0x100>;
1740		clocks = <&pmucru CLK_PCIEPHY1_REF>,
1741			 <&cru PCLK_PIPEPHY1>,
1742			 <&cru PCLK_PIPE>;
1743		clock-names = "ref", "apb", "pipe";
1744		assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
1745		assigned-clock-rates = <100000000>;
1746		resets = <&cru SRST_PIPEPHY1>;
1747		reset-names = "phy";
1748		rockchip,pipe-grf = <&pipegrf>;
1749		rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
1750		#phy-cells = <1>;
1751		status = "disabled";
1752	};
1753
1754	combphy2: phy@fe840000 {
1755		compatible = "rockchip,rk3568-naneng-combphy";
1756		reg = <0x0 0xfe840000 0x0 0x100>;
1757		clocks = <&pmucru CLK_PCIEPHY2_REF>,
1758			 <&cru PCLK_PIPEPHY2>,
1759			 <&cru PCLK_PIPE>;
1760		clock-names = "ref", "apb", "pipe";
1761		assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
1762		assigned-clock-rates = <100000000>;
1763		resets = <&cru SRST_PIPEPHY2>;
1764		reset-names = "phy";
1765		rockchip,pipe-grf = <&pipegrf>;
1766		rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
1767		#phy-cells = <1>;
1768		status = "disabled";
1769	};
1770
1771	csi_dphy: phy@fe870000 {
1772		compatible = "rockchip,rk3568-csi-dphy";
1773		reg = <0x0 0xfe870000 0x0 0x10000>;
1774		clocks = <&cru PCLK_MIPICSIPHY>;
1775		clock-names = "pclk";
1776		#phy-cells = <0>;
1777		resets = <&cru SRST_P_MIPICSIPHY>;
1778		reset-names = "apb";
1779		rockchip,grf = <&grf>;
1780		status = "disabled";
1781	};
1782
1783	dsi_dphy0: mipi-dphy@fe850000 {
1784		compatible = "rockchip,rk3568-dsi-dphy";
1785		reg = <0x0 0xfe850000 0x0 0x10000>;
1786		clock-names = "ref", "pclk";
1787		clocks = <&pmucru CLK_MIPIDSIPHY0_REF>, <&cru PCLK_MIPIDSIPHY0>;
1788		#phy-cells = <0>;
1789		power-domains = <&power RK3568_PD_VO>;
1790		reset-names = "apb";
1791		resets = <&cru SRST_P_MIPIDSIPHY0>;
1792		status = "disabled";
1793	};
1794
1795	dsi_dphy1: mipi-dphy@fe860000 {
1796		compatible = "rockchip,rk3568-dsi-dphy";
1797		reg = <0x0 0xfe860000 0x0 0x10000>;
1798		clock-names = "ref", "pclk";
1799		clocks = <&pmucru CLK_MIPIDSIPHY1_REF>, <&cru PCLK_MIPIDSIPHY1>;
1800		#phy-cells = <0>;
1801		power-domains = <&power RK3568_PD_VO>;
1802		reset-names = "apb";
1803		resets = <&cru SRST_P_MIPIDSIPHY1>;
1804		status = "disabled";
1805	};
1806
1807	usb2phy0: usb2phy@fe8a0000 {
1808		compatible = "rockchip,rk3568-usb2phy";
1809		reg = <0x0 0xfe8a0000 0x0 0x10000>;
1810		clocks = <&pmucru CLK_USBPHY0_REF>;
1811		clock-names = "phyclk";
1812		clock-output-names = "clk_usbphy0_480m";
1813		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
1814		rockchip,usbgrf = <&usb2phy0_grf>;
1815		#clock-cells = <0>;
1816		status = "disabled";
1817
1818		usb2phy0_host: host-port {
1819			#phy-cells = <0>;
1820			status = "disabled";
1821		};
1822
1823		usb2phy0_otg: otg-port {
1824			#phy-cells = <0>;
1825			status = "disabled";
1826		};
1827	};
1828
1829	usb2phy1: usb2phy@fe8b0000 {
1830		compatible = "rockchip,rk3568-usb2phy";
1831		reg = <0x0 0xfe8b0000 0x0 0x10000>;
1832		clocks = <&pmucru CLK_USBPHY1_REF>;
1833		clock-names = "phyclk";
1834		clock-output-names = "clk_usbphy1_480m";
1835		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
1836		rockchip,usbgrf = <&usb2phy1_grf>;
1837		#clock-cells = <0>;
1838		status = "disabled";
1839
1840		usb2phy1_host: host-port {
1841			#phy-cells = <0>;
1842			status = "disabled";
1843		};
1844
1845		usb2phy1_otg: otg-port {
1846			#phy-cells = <0>;
1847			status = "disabled";
1848		};
1849	};
1850
1851	pinctrl: pinctrl {
1852		compatible = "rockchip,rk3568-pinctrl";
1853		rockchip,grf = <&grf>;
1854		rockchip,pmu = <&pmugrf>;
1855		#address-cells = <2>;
1856		#size-cells = <2>;
1857		ranges;
1858
1859		gpio0: gpio@fdd60000 {
1860			compatible = "rockchip,gpio-bank";
1861			reg = <0x0 0xfdd60000 0x0 0x100>;
1862			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1863			clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
1864			gpio-controller;
1865			gpio-ranges = <&pinctrl 0 0 32>;
1866			#gpio-cells = <2>;
1867			interrupt-controller;
1868			#interrupt-cells = <2>;
1869		};
1870
1871		gpio1: gpio@fe740000 {
1872			compatible = "rockchip,gpio-bank";
1873			reg = <0x0 0xfe740000 0x0 0x100>;
1874			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
1875			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
1876			gpio-controller;
1877			gpio-ranges = <&pinctrl 0 32 32>;
1878			#gpio-cells = <2>;
1879			interrupt-controller;
1880			#interrupt-cells = <2>;
1881		};
1882
1883		gpio2: gpio@fe750000 {
1884			compatible = "rockchip,gpio-bank";
1885			reg = <0x0 0xfe750000 0x0 0x100>;
1886			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1887			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
1888			gpio-controller;
1889			gpio-ranges = <&pinctrl 0 64 32>;
1890			#gpio-cells = <2>;
1891			interrupt-controller;
1892			#interrupt-cells = <2>;
1893		};
1894
1895		gpio3: gpio@fe760000 {
1896			compatible = "rockchip,gpio-bank";
1897			reg = <0x0 0xfe760000 0x0 0x100>;
1898			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
1899			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
1900			gpio-controller;
1901			gpio-ranges = <&pinctrl 0 96 32>;
1902			#gpio-cells = <2>;
1903			interrupt-controller;
1904			#interrupt-cells = <2>;
1905		};
1906
1907		gpio4: gpio@fe770000 {
1908			compatible = "rockchip,gpio-bank";
1909			reg = <0x0 0xfe770000 0x0 0x100>;
1910			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
1911			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
1912			gpio-controller;
1913			gpio-ranges = <&pinctrl 0 128 32>;
1914			#gpio-cells = <2>;
1915			interrupt-controller;
1916			#interrupt-cells = <2>;
1917		};
1918	};
1919};
1920
1921#include "rk3568-pinctrl.dtsi"
~/ Read-only file preview.