xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3588.dtsi (revision 6a1150a873d2da85fbb7785a896050e177bdee4c)
19a67c129SJoseph Chen// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
29a67c129SJoseph Chen/*
39a67c129SJoseph Chen * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
49a67c129SJoseph Chen */
59a67c129SJoseph Chen
69a67c129SJoseph Chen#include <dt-bindings/phy/phy-snps-pcie3.h>
79a67c129SJoseph Chen#include "rk3588s.dtsi"
89a67c129SJoseph Chen#include "rk3588-vccio3-pinctrl.dtsi"
99a67c129SJoseph Chen
109a67c129SJoseph Chen/ {
119a67c129SJoseph Chen	aliases {
129a67c129SJoseph Chen		edp0 = &edp0;
139a67c129SJoseph Chen		edp1 = &edp1;
149a67c129SJoseph Chen		ethernet0 = &gmac0;
159a67c129SJoseph Chen		hdptx0 = &hdptxphy0;
169a67c129SJoseph Chen		hdptx1 = &hdptxphy1;
179a67c129SJoseph Chen	};
189a67c129SJoseph Chen
199a67c129SJoseph Chen	usbdrd3_1: usbdrd3_1 {
209a67c129SJoseph Chen		compatible = "rockchip,rk3588-dwc3", "rockchip,rk3399-dwc3";
219a67c129SJoseph Chen		clocks = <&cru REF_CLK_USB3OTG1>, <&cru SUSPEND_CLK_USB3OTG1>,
229a67c129SJoseph Chen			 <&cru ACLK_USB3OTG1>;
239a67c129SJoseph Chen		clock-names = "ref", "suspend", "bus";
249a67c129SJoseph Chen		#address-cells = <2>;
259a67c129SJoseph Chen		#size-cells = <2>;
269a67c129SJoseph Chen		ranges;
279a67c129SJoseph Chen		status = "disabled";
289a67c129SJoseph Chen
299a67c129SJoseph Chen		usbdrd_dwc3_1: usb@fc400000 {
309a67c129SJoseph Chen			compatible = "snps,dwc3";
319a67c129SJoseph Chen			reg = <0x0 0xfc400000 0x0 0x400000>;
329a67c129SJoseph Chen			interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
339a67c129SJoseph Chen			power-domains = <&power RK3588_PD_USB>;
349a67c129SJoseph Chen			resets = <&cru SRST_A_USB3OTG1>;
359a67c129SJoseph Chen			reset-names = "usb3-otg";
369a67c129SJoseph Chen			dr_mode = "host";
37aae040fbSWilliam Wu			phys = <&u2phy1_otg>;
38aae040fbSWilliam Wu			phy-names = "usb2-phy";
399a67c129SJoseph Chen			phy_type = "utmi_wide";
409a67c129SJoseph Chen			snps,dis_enblslpm_quirk;
419a67c129SJoseph Chen			snps,dis-u2-freeclk-exists-quirk;
429a67c129SJoseph Chen			snps,dis-del-phy-power-chg-quirk;
439a67c129SJoseph Chen			snps,dis-tx-ipgap-linecheck-quirk;
449a67c129SJoseph Chen			status = "disabled";
459a67c129SJoseph Chen		};
469a67c129SJoseph Chen	};
479a67c129SJoseph Chen
489a67c129SJoseph Chen	pcie30_phy_grf: syscon@fd5b8000 {
499a67c129SJoseph Chen		compatible = "rockchip,pcie30-phy-grf", "syscon";
509a67c129SJoseph Chen		reg = <0x0 0xfd5b8000 0x0 0x10000>;
519a67c129SJoseph Chen	};
529a67c129SJoseph Chen
539a67c129SJoseph Chen	pipe_phy1_grf: syscon@fd5c0000 {
549a67c129SJoseph Chen		compatible = "rockchip,pipe-phy-grf", "syscon";
559a67c129SJoseph Chen		reg = <0x0 0xfd5c0000 0x0 0x100>;
569a67c129SJoseph Chen	};
579a67c129SJoseph Chen
589a67c129SJoseph Chen	usbdpphy1_grf: syscon@fd5cc000 {
599a67c129SJoseph Chen		compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
609a67c129SJoseph Chen		reg = <0x0 0xfd5cc000 0x0 0x4000>;
619a67c129SJoseph Chen	};
629a67c129SJoseph Chen
639a67c129SJoseph Chen	usb2phy1_grf: syscon@fd5d4000 {
649a67c129SJoseph Chen		compatible = "rockchip,rk3588-usb2phy-grf", "syscon",
659a67c129SJoseph Chen			     "simple-mfd";
669a67c129SJoseph Chen		reg = <0x0 0xfd5d4000 0x0 0x4000>;
679a67c129SJoseph Chen		#address-cells = <1>;
689a67c129SJoseph Chen		#size-cells = <1>;
699a67c129SJoseph Chen
709a67c129SJoseph Chen		u2phy1: usb2-phy@4000 {
719a67c129SJoseph Chen			compatible = "rockchip,rk3588-usb2phy";
729a67c129SJoseph Chen			reg = <0x4000 0x10>;
739a67c129SJoseph Chen			interrupts = <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>;
74aae040fbSWilliam Wu			resets = <&cru SRST_OTGPHY_U3_1>, <&cru SRST_P_USB2PHY_U3_1_GRF0>;
75aae040fbSWilliam Wu			reset-names = "phy", "apb";
769a67c129SJoseph Chen			clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
779a67c129SJoseph Chen			clock-names = "phyclk";
789a67c129SJoseph Chen			#clock-cells = <0>;
799a67c129SJoseph Chen			status = "disabled";
809a67c129SJoseph Chen
819a67c129SJoseph Chen			u2phy1_otg: otg-port {
829a67c129SJoseph Chen				#phy-cells = <0>;
839a67c129SJoseph Chen				status = "disabled";
849a67c129SJoseph Chen			};
859a67c129SJoseph Chen		};
869a67c129SJoseph Chen	};
879a67c129SJoseph Chen
889a67c129SJoseph Chen	hdptxphy1_grf: syscon@fd5e4000 {
899a67c129SJoseph Chen		compatible = "rockchip,rk3588-hdptxphy-grf", "syscon";
909a67c129SJoseph Chen		reg = <0x0 0xfd5e4000 0x0 0x100>;
919a67c129SJoseph Chen	};
929a67c129SJoseph Chen
939a67c129SJoseph Chen	spdif_tx5: spdif-tx@fddb8000 {
949a67c129SJoseph Chen		compatible = "rockchip,rk3588-spdif", "rockchip,rk3568-spdif";
959a67c129SJoseph Chen		reg = <0x0 0xfddb8000 0x0 0x1000>;
969a67c129SJoseph Chen		interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
979a67c129SJoseph Chen		dmas = <&dmac1 22>;
989a67c129SJoseph Chen		dma-names = "tx";
999a67c129SJoseph Chen		clock-names = "mclk", "hclk";
1009a67c129SJoseph Chen		clocks = <&cru MCLK_SPDIF5_DP1>, <&cru HCLK_SPDIF5_DP1>;
1019a67c129SJoseph Chen		#sound-dai-cells = <0>;
1029a67c129SJoseph Chen		status = "disabled";
1039a67c129SJoseph Chen	};
1049a67c129SJoseph Chen
1059a67c129SJoseph Chen	i2s8_8ch: i2s@fddc8000 {
1069a67c129SJoseph Chen		compatible = "rockchip,rk3588-i2s-tdm";
1079a67c129SJoseph Chen		reg = <0x0 0xfddc8000 0x0 0x1000>;
1089a67c129SJoseph Chen		interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
1099a67c129SJoseph Chen		clocks = <&cru MCLK_I2S8_8CH_TX>, <&cru HCLK_I2S8_8CH>;
1109a67c129SJoseph Chen		clock-names = "mclk_tx", "hclk";
1119a67c129SJoseph Chen		dmas = <&dmac2 22>;
1129a67c129SJoseph Chen		dma-names = "tx";
1139a67c129SJoseph Chen		resets = <&cru SRST_M_I2S8_8CH_TX>;
1149a67c129SJoseph Chen		reset-names = "tx-m";
1159a67c129SJoseph Chen		#sound-dai-cells = <0>;
1169a67c129SJoseph Chen		status = "disabled";
1179a67c129SJoseph Chen	};
1189a67c129SJoseph Chen
1199a67c129SJoseph Chen	spdif_tx4: spdif-tx@fdde8000 {
1209a67c129SJoseph Chen		compatible = "rockchip,rk3588-spdif", "rockchip,rk3568-spdif";
1219a67c129SJoseph Chen		reg = <0x0 0xfdde8000 0x0 0x1000>;
1229a67c129SJoseph Chen		interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
1239a67c129SJoseph Chen		dmas = <&dmac1 8>;
1249a67c129SJoseph Chen		dma-names = "tx";
1259a67c129SJoseph Chen		clock-names = "mclk", "hclk";
1269a67c129SJoseph Chen		clocks = <&cru MCLK_SPDIF4>, <&cru HCLK_SPDIF4>;
1279a67c129SJoseph Chen		#sound-dai-cells = <0>;
1289a67c129SJoseph Chen		status = "disabled";
1299a67c129SJoseph Chen	};
1309a67c129SJoseph Chen
1319a67c129SJoseph Chen	i2s6_8ch: i2s@fddf4000 {
1329a67c129SJoseph Chen		compatible = "rockchip,rk3588-i2s-tdm";
1339a67c129SJoseph Chen		reg = <0x0 0xfddf4000 0x0 0x1000>;
1349a67c129SJoseph Chen		interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
1359a67c129SJoseph Chen		clocks = <&cru MCLK_I2S6_8CH_TX>, <&cru HCLK_I2S6_8CH>;
1369a67c129SJoseph Chen		clock-names = "mclk_tx", "hclk";
1379a67c129SJoseph Chen		dmas = <&dmac2 4>;
1389a67c129SJoseph Chen		dma-names = "tx";
1399a67c129SJoseph Chen		resets = <&cru SRST_M_I2S6_8CH_TX>;
1409a67c129SJoseph Chen		reset-names = "tx-m";
1419a67c129SJoseph Chen		#sound-dai-cells = <0>;
1429a67c129SJoseph Chen		status = "disabled";
1439a67c129SJoseph Chen	};
1449a67c129SJoseph Chen
1459a67c129SJoseph Chen	i2s7_8ch: i2s@fddf8000 {
1469a67c129SJoseph Chen		compatible = "rockchip,rk3588-i2s-tdm";
1479a67c129SJoseph Chen		reg = <0x0 0xfddf8000 0x0 0x1000>;
1489a67c129SJoseph Chen		interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
1499a67c129SJoseph Chen		clocks = <&cru MCLK_I2S7_8CH_RX>, <&cru HCLK_I2S7_8CH>;
1509a67c129SJoseph Chen		clock-names = "mclk_rx", "hclk";
1519a67c129SJoseph Chen		dmas = <&dmac2 21>;
1529a67c129SJoseph Chen		dma-names = "rx";
1539a67c129SJoseph Chen		resets = <&cru SRST_M_I2S7_8CH_RX>;
1549a67c129SJoseph Chen		reset-names = "rx-m";
1559a67c129SJoseph Chen		#sound-dai-cells = <0>;
1569a67c129SJoseph Chen		status = "disabled";
1579a67c129SJoseph Chen	};
1589a67c129SJoseph Chen
1599a67c129SJoseph Chen	i2s10_8ch: i2s@fde00000 {
1609a67c129SJoseph Chen		compatible = "rockchip,rk3588-i2s-tdm";
1619a67c129SJoseph Chen		reg = <0x0 0xfde00000 0x0 0x1000>;
1629a67c129SJoseph Chen		interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1639a67c129SJoseph Chen		clocks = <&cru MCLK_I2S10_8CH_RX>, <&cru HCLK_I2S10_8CH>;
1649a67c129SJoseph Chen		clock-names = "mclk_rx", "hclk";
1659a67c129SJoseph Chen		dmas = <&dmac2 24>;
1669a67c129SJoseph Chen		dma-names = "rx";
1679a67c129SJoseph Chen		resets = <&cru SRST_M_I2S10_8CH_RX>;
1689a67c129SJoseph Chen		reset-names = "rx-m";
1699a67c129SJoseph Chen		#sound-dai-cells = <0>;
1709a67c129SJoseph Chen		status = "disabled";
1719a67c129SJoseph Chen	};
1729a67c129SJoseph Chen
1739a67c129SJoseph Chen	spdif_rx1: spdif-rx@fde10000 {
1749a67c129SJoseph Chen		compatible = "rockchip,rk3588-spdifrx", "rockchip,rk3308-spdifrx";
1759a67c129SJoseph Chen		reg = <0x0 0xfde10000 0x0 0x1000>;
1769a67c129SJoseph Chen		interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
1779a67c129SJoseph Chen		clocks = <&cru MCLK_SPDIFRX1>, <&cru HCLK_SPDIFRX1>;
1789a67c129SJoseph Chen		clock-names = "mclk", "hclk";
1799a67c129SJoseph Chen		dmas = <&dmac0 22>;
1809a67c129SJoseph Chen		dma-names = "rx";
1819a67c129SJoseph Chen		resets = <&cru SRST_M_SPDIFRX1>;
1829a67c129SJoseph Chen		reset-names = "spdifrx-m";
1839a67c129SJoseph Chen		#sound-dai-cells = <0>;
1849a67c129SJoseph Chen		status = "disabled";
1859a67c129SJoseph Chen	};
1869a67c129SJoseph Chen
1879a67c129SJoseph Chen	spdif_rx2: spdif-rx@fde18000 {
1889a67c129SJoseph Chen		compatible = "rockchip,rk3588-spdifrx", "rockchip,rk3308-spdifrx";
1899a67c129SJoseph Chen		reg = <0x0 0xfde18000 0x0 0x1000>;
1909a67c129SJoseph Chen		interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
1919a67c129SJoseph Chen		clocks = <&cru MCLK_SPDIFRX2>, <&cru HCLK_SPDIFRX2>;
1929a67c129SJoseph Chen		clock-names = "mclk", "hclk";
1939a67c129SJoseph Chen		dmas = <&dmac0 23>;
1949a67c129SJoseph Chen		dma-names = "rx";
1959a67c129SJoseph Chen		resets = <&cru SRST_M_SPDIFRX2>;
1969a67c129SJoseph Chen		reset-names = "spdifrx-m";
1979a67c129SJoseph Chen		#sound-dai-cells = <0>;
1989a67c129SJoseph Chen		status = "disabled";
1999a67c129SJoseph Chen	};
2009a67c129SJoseph Chen
2019a67c129SJoseph Chen	edp1: edp@fded0000 {
2029a67c129SJoseph Chen		compatible = "rockchip,rk3588-edp";
2039a67c129SJoseph Chen		reg = <0x0 0xfded0000 0x0 0x1000>;
2049a67c129SJoseph Chen		interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
2059a67c129SJoseph Chen		clocks = <&cru CLK_EDP1_24M>, <&cru PCLK_EDP1>,
2069a67c129SJoseph Chen			 <&cru CLK_EDP1_200M>;
2079a67c129SJoseph Chen		clock-names = "dp", "pclk", "spdif";
2089a67c129SJoseph Chen		resets = <&cru SRST_EDP1_24M>, <&cru SRST_P_EDP1>;
2099a67c129SJoseph Chen		reset-names = "dp", "apb";
2109a67c129SJoseph Chen		phys = <&hdptxphy1>;
2119a67c129SJoseph Chen		phy-names = "dp";
2129a67c129SJoseph Chen		power-domains = <&power RK3588_PD_VO1>;
2139a67c129SJoseph Chen		rockchip,grf = <&vo1_grf>;
2149a67c129SJoseph Chen		status = "disabled";
2159a67c129SJoseph Chen	};
2169a67c129SJoseph Chen
2179a67c129SJoseph Chen	pcie3x4: pcie@fe150000 {
2189a67c129SJoseph Chen		compatible = "rockchip,rk3588-pcie", "snps,dw-pcie";
2199a67c129SJoseph Chen		#address-cells = <3>;
2209a67c129SJoseph Chen		#size-cells = <2>;
2219a67c129SJoseph Chen		bus-range = <0x00 0x0f>;
2229a67c129SJoseph Chen		clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>,
2239a67c129SJoseph Chen			 <&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>,
2249a67c129SJoseph Chen			 <&cru CLK_PCIE_AUX0>;
2259a67c129SJoseph Chen		clock-names = "aclk_mst", "aclk_slv",
2269a67c129SJoseph Chen			      "aclk_dbi", "pclk", "aux";
2279a67c129SJoseph Chen		device_type = "pci";
2289a67c129SJoseph Chen		interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
2299a67c129SJoseph Chen			     <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
2309a67c129SJoseph Chen			     <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
2319a67c129SJoseph Chen			     <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
2329a67c129SJoseph Chen			     <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>;
2339a67c129SJoseph Chen		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
2349a67c129SJoseph Chen		#interrupt-cells = <1>;
2359a67c129SJoseph Chen		interrupt-map-mask = <0 0 0 7>;
2369a67c129SJoseph Chen		interrupt-map = <0 0 0 1 &pcie3x4_intc 0>,
2379a67c129SJoseph Chen				<0 0 0 2 &pcie3x4_intc 1>,
2389a67c129SJoseph Chen				<0 0 0 3 &pcie3x4_intc 2>,
2399a67c129SJoseph Chen				<0 0 0 4 &pcie3x4_intc 3>;
2409a67c129SJoseph Chen		linux,pci-domain = <0>;
2419a67c129SJoseph Chen		num-ib-windows = <16>;
2429a67c129SJoseph Chen		num-ob-windows = <16>;
2439a67c129SJoseph Chen		max-link-speed = <3>;
2449a67c129SJoseph Chen		msi-map = <0x0000 &its 0x0000 0x1000>;
2459a67c129SJoseph Chen		num-lanes = <4>;
2469a67c129SJoseph Chen		phys = <&pcie30phy>;
2479a67c129SJoseph Chen		phy-names = "pcie-phy";
2489a67c129SJoseph Chen		power-domains = <&power RK3588_PD_PCIE>;
249f64f11a4SJon Lin		ranges = <0x00000800 0x0 0xf0000000 0x0 0xf0000000 0x0 0x100000
250f64f11a4SJon Lin			  0x81000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x100000
251f64f11a4SJon Lin			  0x82000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0xe00000
252f64f11a4SJon Lin			  0xc3000000 0x9 0x00000000 0x9 0x00000000 0x0 0x40000000>;
2539a67c129SJoseph Chen		reg = <0xa 0x40000000 0x0 0x400000>,
2549a67c129SJoseph Chen		      <0x0 0xfe150000 0x0 0x10000>;
2559a67c129SJoseph Chen		reg-names = "pcie-dbi", "pcie-apb";
2569a67c129SJoseph Chen		resets = <&cru SRST_PCIE0_POWER_UP>;
2579a67c129SJoseph Chen		reset-names = "pipe";
2589a67c129SJoseph Chen		status = "disabled";
2599a67c129SJoseph Chen
2609a67c129SJoseph Chen		pcie3x4_intc: legacy-interrupt-controller {
2619a67c129SJoseph Chen			interrupt-controller;
2629a67c129SJoseph Chen			#address-cells = <0>;
2639a67c129SJoseph Chen			#interrupt-cells = <1>;
2649a67c129SJoseph Chen			interrupt-parent = <&gic>;
2659a67c129SJoseph Chen			interrupts = <GIC_SPI 260 IRQ_TYPE_EDGE_RISING>;
2669a67c129SJoseph Chen		};
2679a67c129SJoseph Chen	};
2689a67c129SJoseph Chen
2699a67c129SJoseph Chen	pcie3x2: pcie@fe160000 {
2709a67c129SJoseph Chen		compatible = "rockchip,rk3588-pcie", "snps,dw-pcie";
2719a67c129SJoseph Chen		#address-cells = <3>;
2729a67c129SJoseph Chen		#size-cells = <2>;
2739a67c129SJoseph Chen		bus-range = <0x10 0x1f>;
2749a67c129SJoseph Chen		clocks = <&cru ACLK_PCIE_2L_MSTR>, <&cru ACLK_PCIE_2L_SLV>,
2759a67c129SJoseph Chen			 <&cru ACLK_PCIE_2L_DBI>, <&cru PCLK_PCIE_2L>,
2769a67c129SJoseph Chen			 <&cru CLK_PCIE_AUX1>;
2779a67c129SJoseph Chen		clock-names = "aclk_mst", "aclk_slv",
2789a67c129SJoseph Chen			      "aclk_dbi", "pclk", "aux";
2799a67c129SJoseph Chen		device_type = "pci";
2809a67c129SJoseph Chen		interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
2819a67c129SJoseph Chen			     <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>,
2829a67c129SJoseph Chen			     <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
2839a67c129SJoseph Chen			     <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
2849a67c129SJoseph Chen			     <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>;
2859a67c129SJoseph Chen		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
2869a67c129SJoseph Chen		#interrupt-cells = <1>;
2879a67c129SJoseph Chen		interrupt-map-mask = <0 0 0 7>;
2889a67c129SJoseph Chen		interrupt-map = <0 0 0 1 &pcie3x2_intc 0>,
2899a67c129SJoseph Chen				<0 0 0 2 &pcie3x2_intc 1>,
2909a67c129SJoseph Chen				<0 0 0 3 &pcie3x2_intc 2>,
2919a67c129SJoseph Chen				<0 0 0 4 &pcie3x2_intc 3>;
2929a67c129SJoseph Chen		linux,pci-domain = <1>;
2939a67c129SJoseph Chen		num-ib-windows = <16>;
2949a67c129SJoseph Chen		num-ob-windows = <16>;
2959a67c129SJoseph Chen		max-link-speed = <3>;
2969a67c129SJoseph Chen		msi-map = <0x1000 &its 0x1000 0x1000>;
2979a67c129SJoseph Chen		num-lanes = <2>;
2989a67c129SJoseph Chen		phys = <&pcie30phy>;
2999a67c129SJoseph Chen		phy-names = "pcie-phy";
3009a67c129SJoseph Chen		power-domains = <&power RK3588_PD_PHP>;
301f64f11a4SJon Lin		ranges = <0x00000800 0x0 0xf1000000 0x0 0xf1000000 0x0 0x100000
302f64f11a4SJon Lin			  0x81000000 0x0 0xf1100000 0x0 0xf1100000 0x0 0x100000
303f64f11a4SJon Lin			  0x82000000 0x0 0xf1200000 0x0 0xf1200000 0x0 0xe00000
304f64f11a4SJon Lin			  0xc3000000 0x9 0x40000000 0x9 0x40000000 0x0 0x40000000>;
3059a67c129SJoseph Chen		reg = <0xa 0x40400000 0x0 0x400000>,
3069a67c129SJoseph Chen		      <0x0 0xfe160000 0x0 0x10000>;
3079a67c129SJoseph Chen		reg-names = "pcie-dbi", "pcie-apb";
3089a67c129SJoseph Chen		resets = <&cru SRST_PCIE1_POWER_UP>;
3099a67c129SJoseph Chen		reset-names = "pipe";
3109a67c129SJoseph Chen		status = "disabled";
3119a67c129SJoseph Chen
3129a67c129SJoseph Chen		pcie3x2_intc: legacy-interrupt-controller {
3139a67c129SJoseph Chen			interrupt-controller;
3149a67c129SJoseph Chen			#address-cells = <0>;
3159a67c129SJoseph Chen			#interrupt-cells = <1>;
3169a67c129SJoseph Chen			interrupt-parent = <&gic>;
3179a67c129SJoseph Chen			interrupts = <GIC_SPI 255 IRQ_TYPE_EDGE_RISING>;
3189a67c129SJoseph Chen		};
3199a67c129SJoseph Chen	};
3209a67c129SJoseph Chen
3219a67c129SJoseph Chen	pcie2x1l0: pcie@fe170000 {
3229a67c129SJoseph Chen		compatible = "rockchip,rk3588-pcie", "snps,dw-pcie";
3239a67c129SJoseph Chen		#address-cells = <3>;
3249a67c129SJoseph Chen		#size-cells = <2>;
3259a67c129SJoseph Chen		bus-range = <0x20 0x2f>;
3269a67c129SJoseph Chen		clocks = <&cru ACLK_PCIE_1L0_MSTR>, <&cru ACLK_PCIE_1L0_SLV>,
3279a67c129SJoseph Chen			 <&cru ACLK_PCIE_1L0_DBI>, <&cru PCLK_PCIE_1L0>,
3289a67c129SJoseph Chen			 <&cru CLK_PCIE_AUX2>;
3299a67c129SJoseph Chen		clock-names = "aclk_mst", "aclk_slv",
3309a67c129SJoseph Chen			      "aclk_dbi", "pclk", "aux";
3319a67c129SJoseph Chen		device_type = "pci";
3329a67c129SJoseph Chen		interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>,
3339a67c129SJoseph Chen			     <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>,
3349a67c129SJoseph Chen			     <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>,
3359a67c129SJoseph Chen			     <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
3369a67c129SJoseph Chen			     <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
3379a67c129SJoseph Chen		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
3389a67c129SJoseph Chen		#interrupt-cells = <1>;
3399a67c129SJoseph Chen		interrupt-map-mask = <0 0 0 7>;
3409a67c129SJoseph Chen		interrupt-map = <0 0 0 1 &pcie2x1l0_intc 0>,
3419a67c129SJoseph Chen				<0 0 0 2 &pcie2x1l0_intc 1>,
3429a67c129SJoseph Chen				<0 0 0 3 &pcie2x1l0_intc 2>,
3439a67c129SJoseph Chen				<0 0 0 4 &pcie2x1l0_intc 3>;
3449a67c129SJoseph Chen		linux,pci-domain = <2>;
3459a67c129SJoseph Chen		num-ib-windows = <8>;
3469a67c129SJoseph Chen		num-ob-windows = <8>;
3479a67c129SJoseph Chen		max-link-speed = <2>;
3489a67c129SJoseph Chen		msi-map = <0x2000 &its 0x2000 0x1000>;
3499a67c129SJoseph Chen		num-lanes = <1>;
3509a67c129SJoseph Chen		phys = <&combphy1_ps PHY_TYPE_PCIE>;
3519a67c129SJoseph Chen		phy-names = "pcie-phy";
3529a67c129SJoseph Chen		power-domains = <&power RK3588_PD_PHP>;
353f64f11a4SJon Lin		ranges = <0x00000800 0x0 0xf2000000 0x0 0xf2000000 0x0 0x100000
354f64f11a4SJon Lin			  0x81000000 0x0 0xf2100000 0x0 0xf2100000 0x0 0x100000
355f64f11a4SJon Lin			  0x82000000 0x0 0xf2200000 0x0 0xf2200000 0x0 0xe00000
356f64f11a4SJon Lin			  0xc3000000 0x9 0x80000000 0x9 0x80000000 0x0 0x40000000>;
3579a67c129SJoseph Chen		reg = <0xa 0x40800000 0x0 0x400000>,
3589a67c129SJoseph Chen		      <0x0 0xfe170000 0x0 0x10000>;
3599a67c129SJoseph Chen		reg-names = "pcie-dbi", "pcie-apb";
3609a67c129SJoseph Chen		resets = <&cru SRST_PCIE2_POWER_UP>;
3619a67c129SJoseph Chen		reset-names = "pipe";
3629a67c129SJoseph Chen		status = "disabled";
3639a67c129SJoseph Chen
3649a67c129SJoseph Chen		pcie2x1l0_intc: legacy-interrupt-controller {
3659a67c129SJoseph Chen			interrupt-controller;
3669a67c129SJoseph Chen			#address-cells = <0>;
3679a67c129SJoseph Chen			#interrupt-cells = <1>;
3689a67c129SJoseph Chen			interrupt-parent = <&gic>;
3699a67c129SJoseph Chen			interrupts = <GIC_SPI 240 IRQ_TYPE_EDGE_RISING>;
3709a67c129SJoseph Chen		};
3719a67c129SJoseph Chen	};
3729a67c129SJoseph Chen
3739a67c129SJoseph Chen	gmac0: ethernet@fe1b0000 {
3749a67c129SJoseph Chen		compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a";
3759a67c129SJoseph Chen		reg = <0x0 0xfe1b0000 0x0 0x10000>;
3769a67c129SJoseph Chen		interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>,
3779a67c129SJoseph Chen			     <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
3789a67c129SJoseph Chen		interrupt-names = "macirq", "eth_wake_irq";
3799a67c129SJoseph Chen		rockchip,grf = <&sys_grf>;
3809a67c129SJoseph Chen		rockchip,php_grf = <&php_grf>;
3819a67c129SJoseph Chen		clocks = <&cru CLK_GMAC0>, <&cru ACLK_GMAC0>,
3829a67c129SJoseph Chen			 <&cru PCLK_GMAC0>, <&cru CLK_GMAC0_PTP_REF>;
3839a67c129SJoseph Chen		clock-names = "stmmaceth", "aclk_mac",
3849a67c129SJoseph Chen			      "pclk_mac", "ptp_ref";
3859a67c129SJoseph Chen		resets = <&cru SRST_A_GMAC0>;
3869a67c129SJoseph Chen		reset-names = "stmmaceth";
3879a67c129SJoseph Chen
3889a67c129SJoseph Chen		snps,mixed-burst;
3899a67c129SJoseph Chen		snps,tso;
3909a67c129SJoseph Chen
3919a67c129SJoseph Chen		snps,axi-config = <&gmac0_stmmac_axi_setup>;
3929a67c129SJoseph Chen		snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
3939a67c129SJoseph Chen		snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
3949a67c129SJoseph Chen		status = "disabled";
3959a67c129SJoseph Chen
3969a67c129SJoseph Chen		mdio0: mdio {
3979a67c129SJoseph Chen			compatible = "snps,dwmac-mdio";
3989a67c129SJoseph Chen			#address-cells = <0x1>;
3999a67c129SJoseph Chen			#size-cells = <0x0>;
4009a67c129SJoseph Chen		};
4019a67c129SJoseph Chen
4029a67c129SJoseph Chen		gmac0_stmmac_axi_setup: stmmac-axi-config {
4039a67c129SJoseph Chen			snps,wr_osr_lmt = <4>;
4049a67c129SJoseph Chen			snps,rd_osr_lmt = <8>;
4059a67c129SJoseph Chen			snps,blen = <0 0 0 0 16 8 4>;
4069a67c129SJoseph Chen		};
4079a67c129SJoseph Chen
4089a67c129SJoseph Chen		gmac0_mtl_rx_setup: rx-queues-config {
4099a67c129SJoseph Chen			snps,rx-queues-to-use = <2>;
4109a67c129SJoseph Chen			queue0 {};
4119a67c129SJoseph Chen			queue1 {};
4129a67c129SJoseph Chen		};
4139a67c129SJoseph Chen
4149a67c129SJoseph Chen		gmac0_mtl_tx_setup: tx-queues-config {
4159a67c129SJoseph Chen			snps,tx-queues-to-use = <2>;
4169a67c129SJoseph Chen			queue0 {};
4179a67c129SJoseph Chen			queue1 {};
4189a67c129SJoseph Chen		};
4199a67c129SJoseph Chen	};
4209a67c129SJoseph Chen
4219a67c129SJoseph Chen	sata1: sata@fe220000 {
4229a67c129SJoseph Chen		compatible = "snps,dwc-ahci";
4239a67c129SJoseph Chen		reg = <0 0xfe220000 0 0x1000>;
4249a67c129SJoseph Chen		clocks = <&cru ACLK_SATA1>, <&cru CLK_PMALIVE1>,
4259a67c129SJoseph Chen			 <&cru CLK_RXOOB1>, <&cru CLK_PIPEPHY1_REF>;
4269a67c129SJoseph Chen		clock-names = "sata", "pmalive", "rxoob", "ref";
4279a67c129SJoseph Chen		interrupts = <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>;
4289a67c129SJoseph Chen		interrupt-names = "hostc";
4299a67c129SJoseph Chen		phys = <&combphy1_ps PHY_TYPE_SATA>;
4309a67c129SJoseph Chen		phy-names = "sata-phy";
4319a67c129SJoseph Chen		ports-implemented = <0x1>;
4329a67c129SJoseph Chen		power-domains = <&power RK3588_PD_PHP>;
4339a67c129SJoseph Chen		status = "disabled";
4349a67c129SJoseph Chen	};
4359a67c129SJoseph Chen
4369a67c129SJoseph Chen	crypto: crypto@fe370000 {
4379a67c129SJoseph Chen		compatible = "rockchip,rk3588-crypto";
4389a67c129SJoseph Chen		reg = <0x0 0xfe370000 0x0 0x4000>;
4399a67c129SJoseph Chen		clocks = <&scmi_clk SCMI_CRYPTO_CORE>, <&scmi_clk SCMI_CRYPTO_PKA>;
4409a67c129SJoseph Chen		clock-names = "sclk_crypto", "apkclk_crypto";
4419a67c129SJoseph Chen		clock-frequency = <350000000>, <350000000>;
4429a67c129SJoseph Chen		status = "disabled";
4439a67c129SJoseph Chen	};
4449a67c129SJoseph Chen
4459a67c129SJoseph Chen	rng: rng@fe378000 {
4469a67c129SJoseph Chen		compatible = "rockchip,trngv1";
4479a67c129SJoseph Chen		reg = <0x0 0xfe378000 0x0 0x200>;
4489a67c129SJoseph Chen		status = "disabled";
4499a67c129SJoseph Chen	};
4509a67c129SJoseph Chen
4519a67c129SJoseph Chen	hdptxphy1: phy@fed70000 {
4529a67c129SJoseph Chen		compatible = "rockchip,rk3588-hdptx-phy";
4539a67c129SJoseph Chen		reg = <0x0 0xfed70000 0x0 0x2000>;
4549a67c129SJoseph Chen		clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX1>;
4559a67c129SJoseph Chen		clock-names = "ref", "apb";
4569a67c129SJoseph Chen		resets = <&cru SRST_HDPTX1>, <&cru SRST_P_HDPTX1>,
4579a67c129SJoseph Chen			 <&cru SRST_HDPTX1_INIT>, <&cru SRST_HDPTX1_CMN>,
4589a67c129SJoseph Chen			 <&cru SRST_HDPTX1_LANE>, <&cru SRST_HDPTX1_ROPLL>,
4599a67c129SJoseph Chen			 <&cru SRST_HDPTX1_LCPLL>;
4609a67c129SJoseph Chen		reset-names = "phy", "apb", "init", "cmn", "lane", "ropll",
4619a67c129SJoseph Chen			      "lcpll";
4629a67c129SJoseph Chen		rockchip,grf = <&hdptxphy1_grf>;
4639a67c129SJoseph Chen		#phy-cells = <0>;
4649a67c129SJoseph Chen		status = "disabled";
4659a67c129SJoseph Chen	};
4669a67c129SJoseph Chen
4679a67c129SJoseph Chen	usbdp_phy1: phy@fed90000 {
4689a67c129SJoseph Chen		compatible = "rockchip,rk3588-usbdp-phy";
4699a67c129SJoseph Chen		reg = <0x0 0xfed90000 0x0 0x10000>;
470*6a1150a8Swilliam.wu		rockchip,u2phy-grf = <&usb2phy1_grf>;
4719a67c129SJoseph Chen		rockchip,usb-grf = <&usb_grf>;
4729a67c129SJoseph Chen		rockchip,usbdpphy-grf = <&usbdpphy1_grf>;
4739a67c129SJoseph Chen		rockchip,vo-grf = <&vo0_grf>;
4749a67c129SJoseph Chen		clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>,
4759a67c129SJoseph Chen			 <&cru CLK_USBDP_PHY1_IMMORTAL>,
4769a67c129SJoseph Chen			 <&cru PCLK_USBDPPHY1>;
4779a67c129SJoseph Chen		clock-names = "refclk", "immortal", "pclk";
4789a67c129SJoseph Chen		resets = <&cru SRST_USBDP_COMBO_PHY1_INIT>,
4799a67c129SJoseph Chen			 <&cru SRST_USBDP_COMBO_PHY1_CMN>,
4809a67c129SJoseph Chen			 <&cru SRST_USBDP_COMBO_PHY1_LANE>,
4819a67c129SJoseph Chen			 <&cru SRST_USBDP_COMBO_PHY1_PCS>,
4829a67c129SJoseph Chen			 <&cru SRST_P_USBDPPHY1>;
4839a67c129SJoseph Chen		reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb";
4849a67c129SJoseph Chen		status = "disabled";
4859a67c129SJoseph Chen
4869a67c129SJoseph Chen		usbdp_phy1_dp: dp-port {
4879a67c129SJoseph Chen			#phy-cells = <0>;
4889a67c129SJoseph Chen			status = "disabled";
4899a67c129SJoseph Chen		};
4909a67c129SJoseph Chen
4919a67c129SJoseph Chen		usbdp_phy1_u3: u3-port {
4929a67c129SJoseph Chen			#phy-cells = <0>;
4939a67c129SJoseph Chen			status = "disabled";
4949a67c129SJoseph Chen		};
4959a67c129SJoseph Chen	};
4969a67c129SJoseph Chen
4979a67c129SJoseph Chen	combphy1_ps: phy@fee10000 {
4989a67c129SJoseph Chen		compatible = "rockchip,rk3588-naneng-combphy";
4999a67c129SJoseph Chen		reg = <0x0 0xfee10000 0x0 0x100>;
5009a67c129SJoseph Chen		#phy-cells = <1>;
5019a67c129SJoseph Chen		clocks = <&cru CLK_REF_PIPE_PHY1>, <&cru PCLK_PCIE_COMBO_PIPE_PHY1>;
5029a67c129SJoseph Chen		clock-names = "refclk", "apbclk";
5039a67c129SJoseph Chen		assigned-clocks = <&cru CLK_REF_PIPE_PHY1>;
5049a67c129SJoseph Chen		assigned-clock-rates = <100000000>;
5059a67c129SJoseph Chen		resets = <&cru SRST_P_PCIE2_PHY1>, <&cru SRST_REF_PIPE_PHY1>;
5069a67c129SJoseph Chen		reset-names = "combphy-apb", "combphy";
5079a67c129SJoseph Chen		rockchip,pipe-grf = <&php_grf>;
5089a67c129SJoseph Chen		rockchip,pipe-phy-grf = <&pipe_phy1_grf>;
5099a67c129SJoseph Chen		rockchip,pcie1ln-sel-bits = <0x100 0 0 0>;
5109a67c129SJoseph Chen		status = "disabled";
5119a67c129SJoseph Chen	};
5129a67c129SJoseph Chen
5139a67c129SJoseph Chen	pcie30phy: phy@fee80000 {
5149a67c129SJoseph Chen		compatible = "rockchip,rk3588-pcie3-phy";
5159a67c129SJoseph Chen		reg = <0x0 0xfee80000 0x0 0x20000>;
5169a67c129SJoseph Chen		#phy-cells = <0>;
5179a67c129SJoseph Chen		clocks = <&cru PCLK_PCIE_COMBO_PIPE_PHY>;
5189a67c129SJoseph Chen		clock-names = "pclk";
5199a67c129SJoseph Chen		resets = <&cru SRST_PCIE30_PHY>;
5209a67c129SJoseph Chen		reset-names = "phy";
5219a67c129SJoseph Chen		rockchip,pipe-grf = <&php_grf>;
5229a67c129SJoseph Chen		rockchip,phy-grf = <&pcie30_phy_grf>;
5239a67c129SJoseph Chen		status = "disabled";
5249a67c129SJoseph Chen	};
5259a67c129SJoseph Chen
5269a67c129SJoseph Chen};
527