1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun#include <dt-bindings/phy/phy-snps-pcie3.h> 7*4882a593Smuzhiyun#include "rk3588s.dtsi" 8*4882a593Smuzhiyun#include "rk3588-vccio3-pinctrl.dtsi" 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun/ { 11*4882a593Smuzhiyun aliases { 12*4882a593Smuzhiyun dp0 = &dp0; 13*4882a593Smuzhiyun dp1 = &dp1; 14*4882a593Smuzhiyun edp0 = &edp0; 15*4882a593Smuzhiyun edp1 = &edp1; 16*4882a593Smuzhiyun ethernet0 = &gmac0; 17*4882a593Smuzhiyun hdptx0 = &hdptxphy0; 18*4882a593Smuzhiyun hdptx1 = &hdptxphy1; 19*4882a593Smuzhiyun hdptxhdmi0 = &hdptxphy_hdmi0; 20*4882a593Smuzhiyun hdptxhdmi1 = &hdptxphy_hdmi1; 21*4882a593Smuzhiyun hdmi0 = &hdmi0; 22*4882a593Smuzhiyun hdmi1 = &hdmi1; 23*4882a593Smuzhiyun hdmirx0 = &hdmirx_ctrler; 24*4882a593Smuzhiyun rkcif_mipi_lvds4= &rkcif_mipi_lvds4; 25*4882a593Smuzhiyun rkcif_mipi_lvds5= &rkcif_mipi_lvds5; 26*4882a593Smuzhiyun usbdp0 = &usbdp_phy0; 27*4882a593Smuzhiyun usbdp1 = &usbdp_phy1; 28*4882a593Smuzhiyun }; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun rkcif_mipi_lvds4: rkcif-mipi-lvds4 { 31*4882a593Smuzhiyun compatible = "rockchip,rkcif-mipi-lvds"; 32*4882a593Smuzhiyun rockchip,hw = <&rkcif>; 33*4882a593Smuzhiyun iommus = <&rkcif_mmu>; 34*4882a593Smuzhiyun status = "disabled"; 35*4882a593Smuzhiyun }; 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun rkcif_mipi_lvds4_sditf: rkcif-mipi-lvds4-sditf { 38*4882a593Smuzhiyun compatible = "rockchip,rkcif-sditf"; 39*4882a593Smuzhiyun rockchip,cif = <&rkcif_mipi_lvds4>; 40*4882a593Smuzhiyun status = "disabled"; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun rkcif_mipi_lvds4_sditf_vir1: rkcif-mipi-lvds4-sditf-vir1 { 44*4882a593Smuzhiyun compatible = "rockchip,rkcif-sditf"; 45*4882a593Smuzhiyun rockchip,cif = <&rkcif_mipi_lvds4>; 46*4882a593Smuzhiyun status = "disabled"; 47*4882a593Smuzhiyun }; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun rkcif_mipi_lvds4_sditf_vir2: rkcif-mipi-lvds4-sditf-vir2 { 50*4882a593Smuzhiyun compatible = "rockchip,rkcif-sditf"; 51*4882a593Smuzhiyun rockchip,cif = <&rkcif_mipi_lvds4>; 52*4882a593Smuzhiyun status = "disabled"; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun rkcif_mipi_lvds4_sditf_vir3: rkcif-mipi-lvds4-sditf-vir3 { 56*4882a593Smuzhiyun compatible = "rockchip,rkcif-sditf"; 57*4882a593Smuzhiyun rockchip,cif = <&rkcif_mipi_lvds4>; 58*4882a593Smuzhiyun status = "disabled"; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun rkcif_mipi_lvds5: rkcif-mipi-lvds5 { 62*4882a593Smuzhiyun compatible = "rockchip,rkcif-mipi-lvds"; 63*4882a593Smuzhiyun rockchip,hw = <&rkcif>; 64*4882a593Smuzhiyun iommus = <&rkcif_mmu>; 65*4882a593Smuzhiyun status = "disabled"; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun rkcif_mipi_lvds5_sditf: rkcif-mipi-lvds5-sditf { 69*4882a593Smuzhiyun compatible = "rockchip,rkcif-sditf"; 70*4882a593Smuzhiyun rockchip,cif = <&rkcif_mipi_lvds5>; 71*4882a593Smuzhiyun status = "disabled"; 72*4882a593Smuzhiyun }; 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun rkcif_mipi_lvds5_sditf_vir1: rkcif-mipi-lvds5-sditf-vir1 { 75*4882a593Smuzhiyun compatible = "rockchip,rkcif-sditf"; 76*4882a593Smuzhiyun rockchip,cif = <&rkcif_mipi_lvds5>; 77*4882a593Smuzhiyun status = "disabled"; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun rkcif_mipi_lvds5_sditf_vir2: rkcif-mipi-lvds5-sditf-vir2 { 81*4882a593Smuzhiyun compatible = "rockchip,rkcif-sditf"; 82*4882a593Smuzhiyun rockchip,cif = <&rkcif_mipi_lvds5>; 83*4882a593Smuzhiyun status = "disabled"; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun rkcif_mipi_lvds5_sditf_vir3: rkcif-mipi-lvds5-sditf-vir3 { 87*4882a593Smuzhiyun compatible = "rockchip,rkcif-sditf"; 88*4882a593Smuzhiyun rockchip,cif = <&rkcif_mipi_lvds5>; 89*4882a593Smuzhiyun status = "disabled"; 90*4882a593Smuzhiyun }; 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun usbdrd3_1: usbdrd3_1 { 93*4882a593Smuzhiyun compatible = "rockchip,rk3588-dwc3", "rockchip,rk3399-dwc3"; 94*4882a593Smuzhiyun clocks = <&cru REF_CLK_USB3OTG1>, <&cru SUSPEND_CLK_USB3OTG1>, 95*4882a593Smuzhiyun <&cru ACLK_USB3OTG1>; 96*4882a593Smuzhiyun clock-names = "ref", "suspend", "bus"; 97*4882a593Smuzhiyun #address-cells = <2>; 98*4882a593Smuzhiyun #size-cells = <2>; 99*4882a593Smuzhiyun ranges; 100*4882a593Smuzhiyun status = "disabled"; 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun usbdrd_dwc3_1: usb@fc400000 { 103*4882a593Smuzhiyun compatible = "snps,dwc3"; 104*4882a593Smuzhiyun reg = <0x0 0xfc400000 0x0 0x400000>; 105*4882a593Smuzhiyun interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 106*4882a593Smuzhiyun power-domains = <&power RK3588_PD_USB>; 107*4882a593Smuzhiyun resets = <&cru SRST_A_USB3OTG1>; 108*4882a593Smuzhiyun reset-names = "usb3-otg"; 109*4882a593Smuzhiyun dr_mode = "host"; 110*4882a593Smuzhiyun phys = <&u2phy1_otg>, <&usbdp_phy1_u3>; 111*4882a593Smuzhiyun phy-names = "usb2-phy", "usb3-phy"; 112*4882a593Smuzhiyun phy_type = "utmi_wide"; 113*4882a593Smuzhiyun snps,dis_enblslpm_quirk; 114*4882a593Smuzhiyun snps,dis-u1-entry-quirk; 115*4882a593Smuzhiyun snps,dis-u2-entry-quirk; 116*4882a593Smuzhiyun snps,dis-u2-freeclk-exists-quirk; 117*4882a593Smuzhiyun snps,dis-del-phy-power-chg-quirk; 118*4882a593Smuzhiyun snps,dis-tx-ipgap-linecheck-quirk; 119*4882a593Smuzhiyun snps,parkmode-disable-ss-quirk; 120*4882a593Smuzhiyun status = "disabled"; 121*4882a593Smuzhiyun }; 122*4882a593Smuzhiyun }; 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun pcie30_phy_grf: syscon@fd5b8000 { 125*4882a593Smuzhiyun compatible = "rockchip,pcie30-phy-grf", "syscon"; 126*4882a593Smuzhiyun reg = <0x0 0xfd5b8000 0x0 0x10000>; 127*4882a593Smuzhiyun }; 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun pipe_phy1_grf: syscon@fd5c0000 { 130*4882a593Smuzhiyun compatible = "rockchip,pipe-phy-grf", "syscon"; 131*4882a593Smuzhiyun reg = <0x0 0xfd5c0000 0x0 0x100>; 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun usbdpphy1_grf: syscon@fd5cc000 { 135*4882a593Smuzhiyun compatible = "rockchip,rk3588-usbdpphy-grf", "syscon"; 136*4882a593Smuzhiyun reg = <0x0 0xfd5cc000 0x0 0x4000>; 137*4882a593Smuzhiyun }; 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun usb2phy1_grf: syscon@fd5d4000 { 140*4882a593Smuzhiyun compatible = "rockchip,rk3588-usb2phy-grf", "syscon", 141*4882a593Smuzhiyun "simple-mfd"; 142*4882a593Smuzhiyun reg = <0x0 0xfd5d4000 0x0 0x4000>; 143*4882a593Smuzhiyun #address-cells = <1>; 144*4882a593Smuzhiyun #size-cells = <1>; 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun u2phy1: usb2-phy@4000 { 147*4882a593Smuzhiyun compatible = "rockchip,rk3588-usb2phy"; 148*4882a593Smuzhiyun reg = <0x4000 0x10>; 149*4882a593Smuzhiyun interrupts = <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>; 150*4882a593Smuzhiyun resets = <&cru SRST_OTGPHY_U3_1>, <&cru SRST_P_USB2PHY_U3_1_GRF0>; 151*4882a593Smuzhiyun reset-names = "phy", "apb"; 152*4882a593Smuzhiyun clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>; 153*4882a593Smuzhiyun clock-names = "phyclk"; 154*4882a593Smuzhiyun clock-output-names = "usb480m_phy1"; 155*4882a593Smuzhiyun #clock-cells = <0>; 156*4882a593Smuzhiyun rockchip,usbctrl-grf = <&usb_grf>; 157*4882a593Smuzhiyun status = "disabled"; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun u2phy1_otg: otg-port { 160*4882a593Smuzhiyun #phy-cells = <0>; 161*4882a593Smuzhiyun status = "disabled"; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun }; 164*4882a593Smuzhiyun }; 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun hdptxphy1_grf: syscon@fd5e4000 { 167*4882a593Smuzhiyun compatible = "rockchip,rk3588-hdptxphy-grf", "syscon"; 168*4882a593Smuzhiyun reg = <0x0 0xfd5e4000 0x0 0x100>; 169*4882a593Smuzhiyun }; 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun spdif_tx5: spdif-tx@fddb8000 { 172*4882a593Smuzhiyun compatible = "rockchip,rk3588-spdif", "rockchip,rk3568-spdif"; 173*4882a593Smuzhiyun reg = <0x0 0xfddb8000 0x0 0x1000>; 174*4882a593Smuzhiyun interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; 175*4882a593Smuzhiyun dmas = <&dmac1 22>; 176*4882a593Smuzhiyun dma-names = "tx"; 177*4882a593Smuzhiyun clock-names = "mclk", "hclk"; 178*4882a593Smuzhiyun clocks = <&cru MCLK_SPDIF5>, <&cru HCLK_SPDIF5_DP1>; 179*4882a593Smuzhiyun assigned-clocks = <&cru CLK_SPDIF5_DP1_SRC>; 180*4882a593Smuzhiyun assigned-clock-parents = <&cru PLL_AUPLL>; 181*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO0>; 182*4882a593Smuzhiyun #sound-dai-cells = <0>; 183*4882a593Smuzhiyun status = "disabled"; 184*4882a593Smuzhiyun }; 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun i2s8_8ch: i2s@fddc8000 { 187*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s-tdm"; 188*4882a593Smuzhiyun reg = <0x0 0xfddc8000 0x0 0x1000>; 189*4882a593Smuzhiyun interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 190*4882a593Smuzhiyun clocks = <&cru MCLK_I2S8_8CH_TX>, <&cru HCLK_I2S8_8CH>; 191*4882a593Smuzhiyun clock-names = "mclk_tx", "hclk"; 192*4882a593Smuzhiyun assigned-clocks = <&cru CLK_I2S8_8CH_TX_SRC>; 193*4882a593Smuzhiyun assigned-clock-parents = <&cru PLL_AUPLL>; 194*4882a593Smuzhiyun dmas = <&dmac2 22>; 195*4882a593Smuzhiyun dma-names = "tx"; 196*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO0>; 197*4882a593Smuzhiyun resets = <&cru SRST_M_I2S8_8CH_TX>; 198*4882a593Smuzhiyun reset-names = "tx-m"; 199*4882a593Smuzhiyun rockchip,playback-only; 200*4882a593Smuzhiyun #sound-dai-cells = <0>; 201*4882a593Smuzhiyun status = "disabled"; 202*4882a593Smuzhiyun }; 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun spdif_tx4: spdif-tx@fdde8000 { 205*4882a593Smuzhiyun compatible = "rockchip,rk3588-spdif", "rockchip,rk3568-spdif"; 206*4882a593Smuzhiyun reg = <0x0 0xfdde8000 0x0 0x1000>; 207*4882a593Smuzhiyun interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; 208*4882a593Smuzhiyun dmas = <&dmac1 8>; 209*4882a593Smuzhiyun dma-names = "tx"; 210*4882a593Smuzhiyun clock-names = "mclk", "hclk"; 211*4882a593Smuzhiyun clocks = <&cru MCLK_SPDIF4>, <&cru HCLK_SPDIF4>; 212*4882a593Smuzhiyun assigned-clocks = <&cru CLK_SPDIF4_SRC>; 213*4882a593Smuzhiyun assigned-clock-parents = <&cru PLL_AUPLL>; 214*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO1>; 215*4882a593Smuzhiyun #sound-dai-cells = <0>; 216*4882a593Smuzhiyun status = "disabled"; 217*4882a593Smuzhiyun }; 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun i2s6_8ch: i2s@fddf4000 { 220*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s-tdm"; 221*4882a593Smuzhiyun reg = <0x0 0xfddf4000 0x0 0x1000>; 222*4882a593Smuzhiyun interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 223*4882a593Smuzhiyun clocks = <&cru MCLK_I2S6_8CH_TX>, <&cru MCLK_I2S6_8CH_TX>, <&cru HCLK_I2S6_8CH>; 224*4882a593Smuzhiyun clock-names = "mclk_tx", "mclk_rx", "hclk"; 225*4882a593Smuzhiyun assigned-clocks = <&cru CLK_I2S6_8CH_TX_SRC>; 226*4882a593Smuzhiyun assigned-clock-parents = <&cru PLL_GPLL>; 227*4882a593Smuzhiyun dmas = <&dmac2 4>; 228*4882a593Smuzhiyun dma-names = "tx"; 229*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO1>; 230*4882a593Smuzhiyun resets = <&cru SRST_M_I2S6_8CH_TX>; 231*4882a593Smuzhiyun reset-names = "tx-m"; 232*4882a593Smuzhiyun rockchip,always-on; 233*4882a593Smuzhiyun rockchip,hdmi-path; 234*4882a593Smuzhiyun rockchip,playback-only; 235*4882a593Smuzhiyun #sound-dai-cells = <0>; 236*4882a593Smuzhiyun status = "disabled"; 237*4882a593Smuzhiyun }; 238*4882a593Smuzhiyun 239*4882a593Smuzhiyun i2s7_8ch: i2s@fddf8000 { 240*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s-tdm"; 241*4882a593Smuzhiyun reg = <0x0 0xfddf8000 0x0 0x1000>; 242*4882a593Smuzhiyun interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 243*4882a593Smuzhiyun clocks = <&cru MCLK_I2S7_8CH_RX>, <&cru MCLK_I2S7_8CH_RX>, <&cru HCLK_I2S7_8CH>; 244*4882a593Smuzhiyun clock-names = "mclk_tx", "mclk_rx", "hclk"; 245*4882a593Smuzhiyun assigned-clocks = <&cru CLK_I2S7_8CH_RX_SRC>; 246*4882a593Smuzhiyun assigned-clock-parents = <&cru PLL_AUPLL>; 247*4882a593Smuzhiyun dmas = <&dmac2 21>; 248*4882a593Smuzhiyun dma-names = "rx"; 249*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO1>; 250*4882a593Smuzhiyun resets = <&cru SRST_M_I2S7_8CH_RX>; 251*4882a593Smuzhiyun reset-names = "rx-m"; 252*4882a593Smuzhiyun rockchip,capture-only; 253*4882a593Smuzhiyun #sound-dai-cells = <0>; 254*4882a593Smuzhiyun status = "disabled"; 255*4882a593Smuzhiyun }; 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun i2s10_8ch: i2s@fde00000 { 258*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s-tdm"; 259*4882a593Smuzhiyun reg = <0x0 0xfde00000 0x0 0x1000>; 260*4882a593Smuzhiyun interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 261*4882a593Smuzhiyun clocks = <&cru MCLK_I2S10_8CH_RX>, <&cru MCLK_I2S10_8CH_RX>, <&cru HCLK_I2S10_8CH>; 262*4882a593Smuzhiyun clock-names = "mclk_tx", "mclk_rx", "hclk"; 263*4882a593Smuzhiyun assigned-clocks = <&cru CLK_I2S10_8CH_RX_SRC>; 264*4882a593Smuzhiyun assigned-clock-parents = <&cru PLL_AUPLL>; 265*4882a593Smuzhiyun dmas = <&dmac2 24>; 266*4882a593Smuzhiyun dma-names = "rx"; 267*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO1>; 268*4882a593Smuzhiyun resets = <&cru SRST_M_I2S10_8CH_RX>; 269*4882a593Smuzhiyun reset-names = "rx-m"; 270*4882a593Smuzhiyun rockchip,capture-only; 271*4882a593Smuzhiyun #sound-dai-cells = <0>; 272*4882a593Smuzhiyun status = "disabled"; 273*4882a593Smuzhiyun }; 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun spdif_rx1: spdif-rx@fde10000 { 276*4882a593Smuzhiyun compatible = "rockchip,rk3588-spdifrx", "rockchip,rk3308-spdifrx"; 277*4882a593Smuzhiyun reg = <0x0 0xfde10000 0x0 0x1000>; 278*4882a593Smuzhiyun interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; 279*4882a593Smuzhiyun clocks = <&cru MCLK_SPDIFRX1>, <&cru HCLK_SPDIFRX1>; 280*4882a593Smuzhiyun clock-names = "mclk", "hclk"; 281*4882a593Smuzhiyun assigned-clocks = <&cru MCLK_SPDIFRX1>; 282*4882a593Smuzhiyun assigned-clock-parents = <&cru PLL_AUPLL>; 283*4882a593Smuzhiyun dmas = <&dmac0 22>; 284*4882a593Smuzhiyun dma-names = "rx"; 285*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO1>; 286*4882a593Smuzhiyun resets = <&cru SRST_M_SPDIFRX1>; 287*4882a593Smuzhiyun reset-names = "spdifrx-m"; 288*4882a593Smuzhiyun #sound-dai-cells = <0>; 289*4882a593Smuzhiyun status = "disabled"; 290*4882a593Smuzhiyun }; 291*4882a593Smuzhiyun 292*4882a593Smuzhiyun spdif_rx2: spdif-rx@fde18000 { 293*4882a593Smuzhiyun compatible = "rockchip,rk3588-spdifrx", "rockchip,rk3308-spdifrx"; 294*4882a593Smuzhiyun reg = <0x0 0xfde18000 0x0 0x1000>; 295*4882a593Smuzhiyun interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; 296*4882a593Smuzhiyun clocks = <&cru MCLK_SPDIFRX2>, <&cru HCLK_SPDIFRX2>; 297*4882a593Smuzhiyun clock-names = "mclk", "hclk"; 298*4882a593Smuzhiyun assigned-clocks = <&cru MCLK_SPDIFRX2>; 299*4882a593Smuzhiyun assigned-clock-parents = <&cru PLL_AUPLL>; 300*4882a593Smuzhiyun dmas = <&dmac0 23>; 301*4882a593Smuzhiyun dma-names = "rx"; 302*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO1>; 303*4882a593Smuzhiyun resets = <&cru SRST_M_SPDIFRX2>; 304*4882a593Smuzhiyun reset-names = "spdifrx-m"; 305*4882a593Smuzhiyun #sound-dai-cells = <0>; 306*4882a593Smuzhiyun status = "disabled"; 307*4882a593Smuzhiyun }; 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun dp1: dp@fde60000 { 310*4882a593Smuzhiyun compatible = "rockchip,rk3588-dp"; 311*4882a593Smuzhiyun reg = <0x0 0xfde60000 0x0 0x4000>; 312*4882a593Smuzhiyun interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 313*4882a593Smuzhiyun clocks = <&cru PCLK_DP1>, <&cru CLK_AUX16M_1>, 314*4882a593Smuzhiyun <&cru MCLK_I2S8_8CH_TX>, <&cru MCLK_SPDIF5_DP1>, 315*4882a593Smuzhiyun <&hclk_vo0>, <&cru CLK_DP1>; 316*4882a593Smuzhiyun clock-names = "apb", "aux", "i2s", "spdif", "hclk", "hdcp"; 317*4882a593Smuzhiyun assigned-clocks = <&cru CLK_AUX16M_1>; 318*4882a593Smuzhiyun assigned-clock-rates = <16000000>; 319*4882a593Smuzhiyun resets = <&cru SRST_DP1>; 320*4882a593Smuzhiyun phys = <&usbdp_phy1_dp>; 321*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO0>; 322*4882a593Smuzhiyun #sound-dai-cells = <1>; 323*4882a593Smuzhiyun status = "disabled"; 324*4882a593Smuzhiyun 325*4882a593Smuzhiyun ports { 326*4882a593Smuzhiyun #address-cells = <1>; 327*4882a593Smuzhiyun #size-cells = <0>; 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun port@0 { 330*4882a593Smuzhiyun reg = <0>; 331*4882a593Smuzhiyun #address-cells = <1>; 332*4882a593Smuzhiyun #size-cells = <0>; 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun dp1_in_vp0: endpoint@0 { 335*4882a593Smuzhiyun reg = <0>; 336*4882a593Smuzhiyun remote-endpoint = <&vp0_out_dp1>; 337*4882a593Smuzhiyun status = "disabled"; 338*4882a593Smuzhiyun }; 339*4882a593Smuzhiyun 340*4882a593Smuzhiyun dp1_in_vp1: endpoint@1 { 341*4882a593Smuzhiyun reg = <1>; 342*4882a593Smuzhiyun remote-endpoint = <&vp1_out_dp1>; 343*4882a593Smuzhiyun status = "disabled"; 344*4882a593Smuzhiyun }; 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun dp1_in_vp2: endpoint@2 { 347*4882a593Smuzhiyun reg = <2>; 348*4882a593Smuzhiyun remote-endpoint = <&vp2_out_dp1>; 349*4882a593Smuzhiyun status = "disabled"; 350*4882a593Smuzhiyun }; 351*4882a593Smuzhiyun }; 352*4882a593Smuzhiyun 353*4882a593Smuzhiyun port@1 { 354*4882a593Smuzhiyun reg = <1>; 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun dp1_out: endpoint { }; 357*4882a593Smuzhiyun }; 358*4882a593Smuzhiyun }; 359*4882a593Smuzhiyun }; 360*4882a593Smuzhiyun 361*4882a593Smuzhiyun hdmi1: hdmi@fdea0000 { 362*4882a593Smuzhiyun compatible = "rockchip,rk3588-dw-hdmi"; 363*4882a593Smuzhiyun reg = <0x0 0xfdea0000 0x0 0x20000>; 364*4882a593Smuzhiyun interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>, 365*4882a593Smuzhiyun <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>, 366*4882a593Smuzhiyun <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>, 367*4882a593Smuzhiyun <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>, 368*4882a593Smuzhiyun <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>; 369*4882a593Smuzhiyun clocks = <&cru PCLK_HDMITX1>, 370*4882a593Smuzhiyun <&cru CLK_HDMIHDP1>, 371*4882a593Smuzhiyun <&cru CLK_HDMITX1_EARC>, 372*4882a593Smuzhiyun <&cru CLK_HDMITX1_REF>, 373*4882a593Smuzhiyun <&cru MCLK_I2S6_8CH_TX>, 374*4882a593Smuzhiyun <&cru DCLK_VOP0>, 375*4882a593Smuzhiyun <&cru DCLK_VOP1>, 376*4882a593Smuzhiyun <&cru DCLK_VOP2>, 377*4882a593Smuzhiyun <&cru DCLK_VOP3>, 378*4882a593Smuzhiyun <&hclk_vo1>, 379*4882a593Smuzhiyun <&hdptxphy_hdmi_clk1>; 380*4882a593Smuzhiyun clock-names = "pclk", 381*4882a593Smuzhiyun "hpd", 382*4882a593Smuzhiyun "earc", 383*4882a593Smuzhiyun "hdmitx_ref", 384*4882a593Smuzhiyun "aud", 385*4882a593Smuzhiyun "dclk_vp0", 386*4882a593Smuzhiyun "dclk_vp1", 387*4882a593Smuzhiyun "dclk_vp2", 388*4882a593Smuzhiyun "dclk_vp3", 389*4882a593Smuzhiyun "hclk_vo1", 390*4882a593Smuzhiyun "link_clk"; 391*4882a593Smuzhiyun resets = <&cru SRST_HDMITX1_REF>, <&cru SRST_HDMIHDP1>; 392*4882a593Smuzhiyun reset-names = "ref", "hdp"; 393*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO1>; 394*4882a593Smuzhiyun pinctrl-names = "default"; 395*4882a593Smuzhiyun pinctrl-0 = <&hdmim2_tx1_cec &hdmim0_tx1_hpd &hdmim1_tx1_scl &hdmim1_tx1_sda>; 396*4882a593Smuzhiyun reg-io-width = <4>; 397*4882a593Smuzhiyun rockchip,grf = <&sys_grf>; 398*4882a593Smuzhiyun rockchip,vo1_grf = <&vo1_grf>; 399*4882a593Smuzhiyun phys = <&hdptxphy_hdmi1>; 400*4882a593Smuzhiyun phy-names = "hdmi"; 401*4882a593Smuzhiyun #sound-dai-cells = <0>; 402*4882a593Smuzhiyun status = "disabled"; 403*4882a593Smuzhiyun 404*4882a593Smuzhiyun ports { 405*4882a593Smuzhiyun #address-cells = <1>; 406*4882a593Smuzhiyun #size-cells = <0>; 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun hdmi1_in: port@0 { 409*4882a593Smuzhiyun reg = <0>; 410*4882a593Smuzhiyun #address-cells = <1>; 411*4882a593Smuzhiyun #size-cells = <0>; 412*4882a593Smuzhiyun 413*4882a593Smuzhiyun hdmi1_in_vp0: endpoint@0 { 414*4882a593Smuzhiyun reg = <0>; 415*4882a593Smuzhiyun remote-endpoint = <&vp0_out_hdmi1>; 416*4882a593Smuzhiyun status = "disabled"; 417*4882a593Smuzhiyun }; 418*4882a593Smuzhiyun 419*4882a593Smuzhiyun hdmi1_in_vp1: endpoint@1 { 420*4882a593Smuzhiyun reg = <1>; 421*4882a593Smuzhiyun remote-endpoint = <&vp1_out_hdmi1>; 422*4882a593Smuzhiyun status = "disabled"; 423*4882a593Smuzhiyun }; 424*4882a593Smuzhiyun 425*4882a593Smuzhiyun hdmi1_in_vp2: endpoint@2 { 426*4882a593Smuzhiyun reg = <2>; 427*4882a593Smuzhiyun remote-endpoint = <&vp2_out_hdmi1>; 428*4882a593Smuzhiyun status = "disabled"; 429*4882a593Smuzhiyun }; 430*4882a593Smuzhiyun }; 431*4882a593Smuzhiyun }; 432*4882a593Smuzhiyun }; 433*4882a593Smuzhiyun 434*4882a593Smuzhiyun edp1: edp@fded0000 { 435*4882a593Smuzhiyun compatible = "rockchip,rk3588-edp"; 436*4882a593Smuzhiyun reg = <0x0 0xfded0000 0x0 0x1000>; 437*4882a593Smuzhiyun interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 438*4882a593Smuzhiyun clocks = <&cru CLK_EDP1_24M>, <&cru PCLK_EDP1>, 439*4882a593Smuzhiyun <&cru CLK_EDP1_200M>, <&hclk_vo1>; 440*4882a593Smuzhiyun clock-names = "dp", "pclk", "spdif", "hclk"; 441*4882a593Smuzhiyun resets = <&cru SRST_EDP1_24M>, <&cru SRST_P_EDP1>; 442*4882a593Smuzhiyun reset-names = "dp", "apb"; 443*4882a593Smuzhiyun phys = <&hdptxphy1>; 444*4882a593Smuzhiyun phy-names = "dp"; 445*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO1>; 446*4882a593Smuzhiyun rockchip,grf = <&vo1_grf>; 447*4882a593Smuzhiyun status = "disabled"; 448*4882a593Smuzhiyun 449*4882a593Smuzhiyun ports { 450*4882a593Smuzhiyun #address-cells = <1>; 451*4882a593Smuzhiyun #size-cells = <0>; 452*4882a593Smuzhiyun 453*4882a593Smuzhiyun port@0 { 454*4882a593Smuzhiyun reg = <0>; 455*4882a593Smuzhiyun #address-cells = <1>; 456*4882a593Smuzhiyun #size-cells = <0>; 457*4882a593Smuzhiyun 458*4882a593Smuzhiyun edp1_in_vp0: endpoint@0 { 459*4882a593Smuzhiyun reg = <0>; 460*4882a593Smuzhiyun remote-endpoint = <&vp0_out_edp1>; 461*4882a593Smuzhiyun status = "disabled"; 462*4882a593Smuzhiyun }; 463*4882a593Smuzhiyun 464*4882a593Smuzhiyun edp1_in_vp1: endpoint@1 { 465*4882a593Smuzhiyun reg = <1>; 466*4882a593Smuzhiyun remote-endpoint = <&vp1_out_edp1>; 467*4882a593Smuzhiyun status = "disabled"; 468*4882a593Smuzhiyun }; 469*4882a593Smuzhiyun 470*4882a593Smuzhiyun edp1_in_vp2: endpoint@2 { 471*4882a593Smuzhiyun reg = <2>; 472*4882a593Smuzhiyun remote-endpoint = <&vp2_out_edp1>; 473*4882a593Smuzhiyun status = "disabled"; 474*4882a593Smuzhiyun }; 475*4882a593Smuzhiyun }; 476*4882a593Smuzhiyun 477*4882a593Smuzhiyun port@1 { 478*4882a593Smuzhiyun reg = <1>; 479*4882a593Smuzhiyun 480*4882a593Smuzhiyun edp1_out: endpoint { }; 481*4882a593Smuzhiyun }; 482*4882a593Smuzhiyun }; 483*4882a593Smuzhiyun }; 484*4882a593Smuzhiyun 485*4882a593Smuzhiyun hdmirx_ctrler: hdmirx-controller@fdee0000 { 486*4882a593Smuzhiyun compatible = "rockchip,rk3588-hdmirx-ctrler", "rockchip,hdmirx-ctrler"; 487*4882a593Smuzhiyun reg = <0x0 0xfdee0000 0x0 0x6000>; 488*4882a593Smuzhiyun reg-names = "hdmirx_regs"; 489*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO1>; 490*4882a593Smuzhiyun rockchip,grf = <&sys_grf>; 491*4882a593Smuzhiyun rockchip,vo1_grf = <&vo1_grf>; 492*4882a593Smuzhiyun interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>, 493*4882a593Smuzhiyun <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>, 494*4882a593Smuzhiyun <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>; 495*4882a593Smuzhiyun interrupt-names = "cec", "hdmi", "dma"; 496*4882a593Smuzhiyun clocks = <&cru ACLK_HDMIRX>, 497*4882a593Smuzhiyun <&cru CLK_HDMIRX_AUD>, 498*4882a593Smuzhiyun <&cru CLK_CR_PARA>, 499*4882a593Smuzhiyun <&cru PCLK_HDMIRX>, 500*4882a593Smuzhiyun <&cru CLK_HDMIRX_REF>, 501*4882a593Smuzhiyun <&cru PCLK_S_HDMIRX>, 502*4882a593Smuzhiyun <&hclk_vo1>; 503*4882a593Smuzhiyun clock-names = "aclk", 504*4882a593Smuzhiyun "audio", 505*4882a593Smuzhiyun "cr_para", 506*4882a593Smuzhiyun "pclk", 507*4882a593Smuzhiyun "ref", 508*4882a593Smuzhiyun "hclk_s_hdmirx", 509*4882a593Smuzhiyun "hclk_vo1"; 510*4882a593Smuzhiyun resets = <&cru SRST_A_HDMIRX>, <&cru SRST_P_HDMIRX>, 511*4882a593Smuzhiyun <&cru SRST_HDMIRX_REF>, <&cru SRST_A_HDMIRX_BIU>; 512*4882a593Smuzhiyun reset-names = "rst_a", "rst_p", "rst_ref", "rst_biu"; 513*4882a593Smuzhiyun pinctrl-0 = <&hdmim1_rx>; 514*4882a593Smuzhiyun pinctrl-names = "default"; 515*4882a593Smuzhiyun status = "disabled"; 516*4882a593Smuzhiyun }; 517*4882a593Smuzhiyun 518*4882a593Smuzhiyun pcie3x4: pcie@fe150000 { 519*4882a593Smuzhiyun compatible = "rockchip,rk3588-pcie", "snps,dw-pcie"; 520*4882a593Smuzhiyun #address-cells = <3>; 521*4882a593Smuzhiyun #size-cells = <2>; 522*4882a593Smuzhiyun bus-range = <0x00 0x0f>; 523*4882a593Smuzhiyun clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>, 524*4882a593Smuzhiyun <&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>, 525*4882a593Smuzhiyun <&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>; 526*4882a593Smuzhiyun clock-names = "aclk_mst", "aclk_slv", 527*4882a593Smuzhiyun "aclk_dbi", "pclk", 528*4882a593Smuzhiyun "aux", "pipe"; 529*4882a593Smuzhiyun device_type = "pci"; 530*4882a593Smuzhiyun interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>, 531*4882a593Smuzhiyun <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>, 532*4882a593Smuzhiyun <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>, 533*4882a593Smuzhiyun <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>, 534*4882a593Smuzhiyun <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>; 535*4882a593Smuzhiyun interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 536*4882a593Smuzhiyun #interrupt-cells = <1>; 537*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 7>; 538*4882a593Smuzhiyun interrupt-map = <0 0 0 1 &pcie3x4_intc 0>, 539*4882a593Smuzhiyun <0 0 0 2 &pcie3x4_intc 1>, 540*4882a593Smuzhiyun <0 0 0 3 &pcie3x4_intc 2>, 541*4882a593Smuzhiyun <0 0 0 4 &pcie3x4_intc 3>; 542*4882a593Smuzhiyun linux,pci-domain = <0>; 543*4882a593Smuzhiyun num-ib-windows = <16>; 544*4882a593Smuzhiyun num-ob-windows = <16>; 545*4882a593Smuzhiyun num-viewport = <8>; 546*4882a593Smuzhiyun max-link-speed = <3>; 547*4882a593Smuzhiyun msi-map = <0x0000 &its1 0x0000 0x1000>; 548*4882a593Smuzhiyun num-lanes = <4>; 549*4882a593Smuzhiyun phys = <&pcie30phy>; 550*4882a593Smuzhiyun phy-names = "pcie-phy"; 551*4882a593Smuzhiyun power-domains = <&power RK3588_PD_PCIE>; 552*4882a593Smuzhiyun ranges = <0x00000800 0x0 0xf0000000 0x0 0xf0000000 0x0 0x100000 553*4882a593Smuzhiyun 0x81000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x100000 554*4882a593Smuzhiyun 0x82000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0xe00000 555*4882a593Smuzhiyun 0xc3000000 0x9 0x00000000 0x9 0x00000000 0x0 0x40000000>; 556*4882a593Smuzhiyun reg = <0x0 0xfe150000 0x0 0x10000>, 557*4882a593Smuzhiyun <0xa 0x40000000 0x0 0x400000>; 558*4882a593Smuzhiyun reg-names = "pcie-apb", "pcie-dbi"; 559*4882a593Smuzhiyun resets = <&cru SRST_PCIE0_POWER_UP>, <&cru SRST_P_PCIE0>; 560*4882a593Smuzhiyun reset-names = "pcie", "periph"; 561*4882a593Smuzhiyun rockchip,pipe-grf = <&php_grf>; 562*4882a593Smuzhiyun status = "disabled"; 563*4882a593Smuzhiyun 564*4882a593Smuzhiyun pcie3x4_intc: legacy-interrupt-controller { 565*4882a593Smuzhiyun interrupt-controller; 566*4882a593Smuzhiyun #address-cells = <0>; 567*4882a593Smuzhiyun #interrupt-cells = <1>; 568*4882a593Smuzhiyun interrupt-parent = <&gic>; 569*4882a593Smuzhiyun interrupts = <GIC_SPI 260 IRQ_TYPE_EDGE_RISING>; 570*4882a593Smuzhiyun }; 571*4882a593Smuzhiyun }; 572*4882a593Smuzhiyun 573*4882a593Smuzhiyun pcie3x2: pcie@fe160000 { 574*4882a593Smuzhiyun compatible = "rockchip,rk3588-pcie", "snps,dw-pcie"; 575*4882a593Smuzhiyun #address-cells = <3>; 576*4882a593Smuzhiyun #size-cells = <2>; 577*4882a593Smuzhiyun bus-range = <0x10 0x1f>; 578*4882a593Smuzhiyun clocks = <&cru ACLK_PCIE_2L_MSTR>, <&cru ACLK_PCIE_2L_SLV>, 579*4882a593Smuzhiyun <&cru ACLK_PCIE_2L_DBI>, <&cru PCLK_PCIE_2L>, 580*4882a593Smuzhiyun <&cru CLK_PCIE_AUX1>, <&cru CLK_PCIE2L_PIPE>; 581*4882a593Smuzhiyun clock-names = "aclk_mst", "aclk_slv", 582*4882a593Smuzhiyun "aclk_dbi", "pclk", 583*4882a593Smuzhiyun "aux", "pipe"; 584*4882a593Smuzhiyun device_type = "pci"; 585*4882a593Smuzhiyun interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>, 586*4882a593Smuzhiyun <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>, 587*4882a593Smuzhiyun <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 588*4882a593Smuzhiyun <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>, 589*4882a593Smuzhiyun <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>; 590*4882a593Smuzhiyun interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 591*4882a593Smuzhiyun #interrupt-cells = <1>; 592*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 7>; 593*4882a593Smuzhiyun interrupt-map = <0 0 0 1 &pcie3x2_intc 0>, 594*4882a593Smuzhiyun <0 0 0 2 &pcie3x2_intc 1>, 595*4882a593Smuzhiyun <0 0 0 3 &pcie3x2_intc 2>, 596*4882a593Smuzhiyun <0 0 0 4 &pcie3x2_intc 3>; 597*4882a593Smuzhiyun linux,pci-domain = <1>; 598*4882a593Smuzhiyun num-ib-windows = <16>; 599*4882a593Smuzhiyun num-ob-windows = <16>; 600*4882a593Smuzhiyun num-viewport = <8>; 601*4882a593Smuzhiyun max-link-speed = <3>; 602*4882a593Smuzhiyun msi-map = <0x1000 &its1 0x1000 0x1000>; 603*4882a593Smuzhiyun num-lanes = <2>; 604*4882a593Smuzhiyun phys = <&pcie30phy>; 605*4882a593Smuzhiyun phy-names = "pcie-phy"; 606*4882a593Smuzhiyun power-domains = <&power RK3588_PD_PCIE>; 607*4882a593Smuzhiyun ranges = <0x00000800 0x0 0xf1000000 0x0 0xf1000000 0x0 0x100000 608*4882a593Smuzhiyun 0x81000000 0x0 0xf1100000 0x0 0xf1100000 0x0 0x100000 609*4882a593Smuzhiyun 0x82000000 0x0 0xf1200000 0x0 0xf1200000 0x0 0xe00000 610*4882a593Smuzhiyun 0xc3000000 0x9 0x40000000 0x9 0x40000000 0x0 0x40000000>; 611*4882a593Smuzhiyun reg = <0x0 0xfe160000 0x0 0x10000>, 612*4882a593Smuzhiyun <0xa 0x40400000 0x0 0x400000>; 613*4882a593Smuzhiyun reg-names = "pcie-apb", "pcie-dbi"; 614*4882a593Smuzhiyun resets = <&cru SRST_PCIE1_POWER_UP>, <&cru SRST_P_PCIE1>; 615*4882a593Smuzhiyun reset-names = "pcie", "periph"; 616*4882a593Smuzhiyun rockchip,pipe-grf = <&php_grf>; 617*4882a593Smuzhiyun status = "disabled"; 618*4882a593Smuzhiyun 619*4882a593Smuzhiyun pcie3x2_intc: legacy-interrupt-controller { 620*4882a593Smuzhiyun interrupt-controller; 621*4882a593Smuzhiyun #address-cells = <0>; 622*4882a593Smuzhiyun #interrupt-cells = <1>; 623*4882a593Smuzhiyun interrupt-parent = <&gic>; 624*4882a593Smuzhiyun interrupts = <GIC_SPI 255 IRQ_TYPE_EDGE_RISING>; 625*4882a593Smuzhiyun }; 626*4882a593Smuzhiyun }; 627*4882a593Smuzhiyun 628*4882a593Smuzhiyun pcie2x1l0: pcie@fe170000 { 629*4882a593Smuzhiyun compatible = "rockchip,rk3588-pcie", "snps,dw-pcie"; 630*4882a593Smuzhiyun #address-cells = <3>; 631*4882a593Smuzhiyun #size-cells = <2>; 632*4882a593Smuzhiyun bus-range = <0x20 0x2f>; 633*4882a593Smuzhiyun clocks = <&cru ACLK_PCIE_1L0_MSTR>, <&cru ACLK_PCIE_1L0_SLV>, 634*4882a593Smuzhiyun <&cru ACLK_PCIE_1L0_DBI>, <&cru PCLK_PCIE_1L0>, 635*4882a593Smuzhiyun <&cru CLK_PCIE_AUX2>, <&cru CLK_PCIE1L0_PIPE>; 636*4882a593Smuzhiyun clock-names = "aclk_mst", "aclk_slv", 637*4882a593Smuzhiyun "aclk_dbi", "pclk", 638*4882a593Smuzhiyun "aux", "pipe"; 639*4882a593Smuzhiyun device_type = "pci"; 640*4882a593Smuzhiyun interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>, 641*4882a593Smuzhiyun <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>, 642*4882a593Smuzhiyun <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>, 643*4882a593Smuzhiyun <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>, 644*4882a593Smuzhiyun <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>; 645*4882a593Smuzhiyun interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 646*4882a593Smuzhiyun #interrupt-cells = <1>; 647*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 7>; 648*4882a593Smuzhiyun interrupt-map = <0 0 0 1 &pcie2x1l0_intc 0>, 649*4882a593Smuzhiyun <0 0 0 2 &pcie2x1l0_intc 1>, 650*4882a593Smuzhiyun <0 0 0 3 &pcie2x1l0_intc 2>, 651*4882a593Smuzhiyun <0 0 0 4 &pcie2x1l0_intc 3>; 652*4882a593Smuzhiyun linux,pci-domain = <2>; 653*4882a593Smuzhiyun num-ib-windows = <8>; 654*4882a593Smuzhiyun num-ob-windows = <8>; 655*4882a593Smuzhiyun num-viewport = <4>; 656*4882a593Smuzhiyun max-link-speed = <2>; 657*4882a593Smuzhiyun msi-map = <0x2000 &its0 0x2000 0x1000>; 658*4882a593Smuzhiyun num-lanes = <1>; 659*4882a593Smuzhiyun phys = <&combphy1_ps PHY_TYPE_PCIE>; 660*4882a593Smuzhiyun phy-names = "pcie-phy"; 661*4882a593Smuzhiyun ranges = <0x00000800 0x0 0xf2000000 0x0 0xf2000000 0x0 0x100000 662*4882a593Smuzhiyun 0x81000000 0x0 0xf2100000 0x0 0xf2100000 0x0 0x100000 663*4882a593Smuzhiyun 0x82000000 0x0 0xf2200000 0x0 0xf2200000 0x0 0xe00000 664*4882a593Smuzhiyun 0xc3000000 0x9 0x80000000 0x9 0x80000000 0x0 0x40000000>; 665*4882a593Smuzhiyun reg = <0x0 0xfe170000 0x0 0x10000>, 666*4882a593Smuzhiyun <0xa 0x40800000 0x0 0x400000>; 667*4882a593Smuzhiyun reg-names = "pcie-apb", "pcie-dbi"; 668*4882a593Smuzhiyun resets = <&cru SRST_PCIE2_POWER_UP>, <&cru SRST_P_PCIE2>; 669*4882a593Smuzhiyun reset-names = "pcie", "periph"; 670*4882a593Smuzhiyun rockchip,pipe-grf = <&php_grf>; 671*4882a593Smuzhiyun status = "disabled"; 672*4882a593Smuzhiyun 673*4882a593Smuzhiyun pcie2x1l0_intc: legacy-interrupt-controller { 674*4882a593Smuzhiyun interrupt-controller; 675*4882a593Smuzhiyun #address-cells = <0>; 676*4882a593Smuzhiyun #interrupt-cells = <1>; 677*4882a593Smuzhiyun interrupt-parent = <&gic>; 678*4882a593Smuzhiyun interrupts = <GIC_SPI 240 IRQ_TYPE_EDGE_RISING>; 679*4882a593Smuzhiyun }; 680*4882a593Smuzhiyun }; 681*4882a593Smuzhiyun 682*4882a593Smuzhiyun gmac_uio0: uio@fe1b0000 { 683*4882a593Smuzhiyun compatible = "rockchip,uio-gmac"; 684*4882a593Smuzhiyun reg = <0x0 0xfe1b0000 0x0 0x10000>; 685*4882a593Smuzhiyun rockchip,ethernet = <&gmac0>; 686*4882a593Smuzhiyun status = "disabled"; 687*4882a593Smuzhiyun }; 688*4882a593Smuzhiyun 689*4882a593Smuzhiyun gmac0: ethernet@fe1b0000 { 690*4882a593Smuzhiyun compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a"; 691*4882a593Smuzhiyun reg = <0x0 0xfe1b0000 0x0 0x10000>; 692*4882a593Smuzhiyun interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>, 693*4882a593Smuzhiyun <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; 694*4882a593Smuzhiyun interrupt-names = "macirq", "eth_wake_irq"; 695*4882a593Smuzhiyun rockchip,grf = <&sys_grf>; 696*4882a593Smuzhiyun rockchip,php_grf = <&php_grf>; 697*4882a593Smuzhiyun clocks = <&cru CLK_GMAC_125M>, <&cru CLK_GMAC_50M>, 698*4882a593Smuzhiyun <&cru PCLK_GMAC0>, <&cru ACLK_GMAC0>, 699*4882a593Smuzhiyun <&cru CLK_GMAC0_PTP_REF>; 700*4882a593Smuzhiyun clock-names = "stmmaceth", "clk_mac_ref", 701*4882a593Smuzhiyun "pclk_mac", "aclk_mac", 702*4882a593Smuzhiyun "ptp_ref"; 703*4882a593Smuzhiyun resets = <&cru SRST_A_GMAC0>; 704*4882a593Smuzhiyun reset-names = "stmmaceth"; 705*4882a593Smuzhiyun power-domains = <&power RK3588_PD_GMAC>; 706*4882a593Smuzhiyun 707*4882a593Smuzhiyun snps,mixed-burst; 708*4882a593Smuzhiyun snps,tso; 709*4882a593Smuzhiyun 710*4882a593Smuzhiyun snps,axi-config = <&gmac0_stmmac_axi_setup>; 711*4882a593Smuzhiyun snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; 712*4882a593Smuzhiyun snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; 713*4882a593Smuzhiyun status = "disabled"; 714*4882a593Smuzhiyun 715*4882a593Smuzhiyun mdio0: mdio { 716*4882a593Smuzhiyun compatible = "snps,dwmac-mdio"; 717*4882a593Smuzhiyun #address-cells = <0x1>; 718*4882a593Smuzhiyun #size-cells = <0x0>; 719*4882a593Smuzhiyun }; 720*4882a593Smuzhiyun 721*4882a593Smuzhiyun gmac0_stmmac_axi_setup: stmmac-axi-config { 722*4882a593Smuzhiyun snps,wr_osr_lmt = <4>; 723*4882a593Smuzhiyun snps,rd_osr_lmt = <8>; 724*4882a593Smuzhiyun snps,blen = <0 0 0 0 16 8 4>; 725*4882a593Smuzhiyun }; 726*4882a593Smuzhiyun 727*4882a593Smuzhiyun gmac0_mtl_rx_setup: rx-queues-config { 728*4882a593Smuzhiyun snps,rx-queues-to-use = <1>; 729*4882a593Smuzhiyun queue0 {}; 730*4882a593Smuzhiyun }; 731*4882a593Smuzhiyun 732*4882a593Smuzhiyun gmac0_mtl_tx_setup: tx-queues-config { 733*4882a593Smuzhiyun snps,tx-queues-to-use = <1>; 734*4882a593Smuzhiyun queue0 {}; 735*4882a593Smuzhiyun }; 736*4882a593Smuzhiyun }; 737*4882a593Smuzhiyun 738*4882a593Smuzhiyun sata1: sata@fe220000 { 739*4882a593Smuzhiyun compatible = "rockchip,rk-ahci", "snps,dwc-ahci"; 740*4882a593Smuzhiyun reg = <0 0xfe220000 0 0x1000>; 741*4882a593Smuzhiyun clocks = <&cru ACLK_SATA1>, <&cru CLK_PMALIVE1>, 742*4882a593Smuzhiyun <&cru CLK_RXOOB1>, <&cru CLK_PIPEPHY1_REF>, 743*4882a593Smuzhiyun <&cru CLK_PIPEPHY1_PIPE_ASIC_G>; 744*4882a593Smuzhiyun clock-names = "sata", "pmalive", "rxoob", "ref", "asic"; 745*4882a593Smuzhiyun interrupts = <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>; 746*4882a593Smuzhiyun interrupt-names = "hostc"; 747*4882a593Smuzhiyun phys = <&combphy1_ps PHY_TYPE_SATA>; 748*4882a593Smuzhiyun phy-names = "sata-phy"; 749*4882a593Smuzhiyun ports-implemented = <0x1>; 750*4882a593Smuzhiyun status = "disabled"; 751*4882a593Smuzhiyun }; 752*4882a593Smuzhiyun 753*4882a593Smuzhiyun hdptxphy1: phy@fed70000 { 754*4882a593Smuzhiyun compatible = "rockchip,rk3588-hdptx-phy"; 755*4882a593Smuzhiyun reg = <0x0 0xfed70000 0x0 0x2000>; 756*4882a593Smuzhiyun clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX1>; 757*4882a593Smuzhiyun clock-names = "ref", "apb"; 758*4882a593Smuzhiyun resets = <&cru SRST_P_HDPTX1>, <&cru SRST_HDPTX1_INIT>, 759*4882a593Smuzhiyun <&cru SRST_HDPTX1_CMN>, <&cru SRST_HDPTX1_LANE>; 760*4882a593Smuzhiyun reset-names = "apb", "init", "cmn", "lane"; 761*4882a593Smuzhiyun rockchip,grf = <&hdptxphy1_grf>; 762*4882a593Smuzhiyun #phy-cells = <0>; 763*4882a593Smuzhiyun status = "disabled"; 764*4882a593Smuzhiyun }; 765*4882a593Smuzhiyun 766*4882a593Smuzhiyun hdptxphy_hdmi1: hdmiphy@fed70000 { 767*4882a593Smuzhiyun compatible = "rockchip,rk3588-hdptx-phy-hdmi"; 768*4882a593Smuzhiyun reg = <0x0 0xfed70000 0x0 0x2000>; 769*4882a593Smuzhiyun clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX1>; 770*4882a593Smuzhiyun clock-names = "ref", "apb"; 771*4882a593Smuzhiyun resets = <&cru SRST_HDPTX1>, <&cru SRST_P_HDPTX1>, 772*4882a593Smuzhiyun <&cru SRST_HDPTX1_INIT>, <&cru SRST_HDPTX1_CMN>, 773*4882a593Smuzhiyun <&cru SRST_HDPTX1_LANE>, <&cru SRST_HDPTX1_ROPLL>, 774*4882a593Smuzhiyun <&cru SRST_HDPTX1_LCPLL>; 775*4882a593Smuzhiyun reset-names = "phy", "apb", "init", "cmn", "lane", "ropll", 776*4882a593Smuzhiyun "lcpll"; 777*4882a593Smuzhiyun rockchip,grf = <&hdptxphy1_grf>; 778*4882a593Smuzhiyun #phy-cells = <0>; 779*4882a593Smuzhiyun status = "disabled"; 780*4882a593Smuzhiyun 781*4882a593Smuzhiyun hdptxphy_hdmi_clk1: clk-port { 782*4882a593Smuzhiyun #clock-cells = <0>; 783*4882a593Smuzhiyun status = "okay"; 784*4882a593Smuzhiyun }; 785*4882a593Smuzhiyun }; 786*4882a593Smuzhiyun 787*4882a593Smuzhiyun 788*4882a593Smuzhiyun usbdp_phy1: phy@fed90000 { 789*4882a593Smuzhiyun compatible = "rockchip,rk3588-usbdp-phy"; 790*4882a593Smuzhiyun reg = <0x0 0xfed90000 0x0 0x10000>; 791*4882a593Smuzhiyun rockchip,u2phy-grf = <&usb2phy1_grf>; 792*4882a593Smuzhiyun rockchip,usb-grf = <&usb_grf>; 793*4882a593Smuzhiyun rockchip,usbdpphy-grf = <&usbdpphy1_grf>; 794*4882a593Smuzhiyun rockchip,vo-grf = <&vo0_grf>; 795*4882a593Smuzhiyun clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>, 796*4882a593Smuzhiyun <&cru CLK_USBDP_PHY1_IMMORTAL>, 797*4882a593Smuzhiyun <&cru PCLK_USBDPPHY1>, 798*4882a593Smuzhiyun <&u2phy1>; 799*4882a593Smuzhiyun clock-names = "refclk", "immortal", "pclk", "utmi"; 800*4882a593Smuzhiyun resets = <&cru SRST_USBDP_COMBO_PHY1_INIT>, 801*4882a593Smuzhiyun <&cru SRST_USBDP_COMBO_PHY1_CMN>, 802*4882a593Smuzhiyun <&cru SRST_USBDP_COMBO_PHY1_LANE>, 803*4882a593Smuzhiyun <&cru SRST_USBDP_COMBO_PHY1_PCS>, 804*4882a593Smuzhiyun <&cru SRST_P_USBDPPHY1>; 805*4882a593Smuzhiyun reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb"; 806*4882a593Smuzhiyun status = "disabled"; 807*4882a593Smuzhiyun 808*4882a593Smuzhiyun usbdp_phy1_dp: dp-port { 809*4882a593Smuzhiyun #phy-cells = <0>; 810*4882a593Smuzhiyun status = "disabled"; 811*4882a593Smuzhiyun }; 812*4882a593Smuzhiyun 813*4882a593Smuzhiyun usbdp_phy1_u3: u3-port { 814*4882a593Smuzhiyun #phy-cells = <0>; 815*4882a593Smuzhiyun status = "disabled"; 816*4882a593Smuzhiyun }; 817*4882a593Smuzhiyun }; 818*4882a593Smuzhiyun 819*4882a593Smuzhiyun combphy1_ps: phy@fee10000 { 820*4882a593Smuzhiyun compatible = "rockchip,rk3588-naneng-combphy"; 821*4882a593Smuzhiyun reg = <0x0 0xfee10000 0x0 0x100>; 822*4882a593Smuzhiyun #phy-cells = <1>; 823*4882a593Smuzhiyun clocks = <&cru CLK_REF_PIPE_PHY1>, <&cru PCLK_PCIE_COMBO_PIPE_PHY1>, 824*4882a593Smuzhiyun <&cru PCLK_PHP_ROOT>; 825*4882a593Smuzhiyun clock-names = "refclk", "apbclk", "phpclk"; 826*4882a593Smuzhiyun assigned-clocks = <&cru CLK_REF_PIPE_PHY1>; 827*4882a593Smuzhiyun assigned-clock-rates = <100000000>; 828*4882a593Smuzhiyun resets = <&cru SRST_P_PCIE2_PHY1>, <&cru SRST_REF_PIPE_PHY1>; 829*4882a593Smuzhiyun reset-names = "combphy-apb", "combphy"; 830*4882a593Smuzhiyun rockchip,pipe-grf = <&php_grf>; 831*4882a593Smuzhiyun rockchip,pipe-phy-grf = <&pipe_phy1_grf>; 832*4882a593Smuzhiyun rockchip,pcie1ln-sel-bits = <0x100 0 0 0>; 833*4882a593Smuzhiyun status = "disabled"; 834*4882a593Smuzhiyun }; 835*4882a593Smuzhiyun 836*4882a593Smuzhiyun pcie30phy: phy@fee80000 { 837*4882a593Smuzhiyun compatible = "rockchip,rk3588-pcie3-phy"; 838*4882a593Smuzhiyun reg = <0x0 0xfee80000 0x0 0x20000>; 839*4882a593Smuzhiyun #phy-cells = <0>; 840*4882a593Smuzhiyun clocks = <&cru PCLK_PCIE_COMBO_PIPE_PHY>; 841*4882a593Smuzhiyun clock-names = "pclk"; 842*4882a593Smuzhiyun resets = <&cru SRST_PCIE30_PHY>; 843*4882a593Smuzhiyun reset-names = "phy"; 844*4882a593Smuzhiyun rockchip,pipe-grf = <&php_grf>; 845*4882a593Smuzhiyun rockchip,phy-grf = <&pcie30_phy_grf>; 846*4882a593Smuzhiyun status = "disabled"; 847*4882a593Smuzhiyun }; 848*4882a593Smuzhiyun 849*4882a593Smuzhiyun}; 850*4882a593Smuzhiyun 851*4882a593Smuzhiyun&display_subsystem { 852*4882a593Smuzhiyun route { 853*4882a593Smuzhiyun route_dp1: route-dp1 { 854*4882a593Smuzhiyun status = "disabled"; 855*4882a593Smuzhiyun logo,uboot = "logo.bmp"; 856*4882a593Smuzhiyun logo,kernel = "logo_kernel.bmp"; 857*4882a593Smuzhiyun logo,mode = "center"; 858*4882a593Smuzhiyun charge_logo,mode = "center"; 859*4882a593Smuzhiyun connect = <&vp1_out_dp1>; 860*4882a593Smuzhiyun }; 861*4882a593Smuzhiyun 862*4882a593Smuzhiyun route_hdmi1: route-hdmi1 { 863*4882a593Smuzhiyun status = "disabled"; 864*4882a593Smuzhiyun logo,uboot = "logo.bmp"; 865*4882a593Smuzhiyun logo,kernel = "logo_kernel.bmp"; 866*4882a593Smuzhiyun logo,mode = "center"; 867*4882a593Smuzhiyun charge_logo,mode = "center"; 868*4882a593Smuzhiyun connect = <&vp1_out_hdmi1>; 869*4882a593Smuzhiyun }; 870*4882a593Smuzhiyun }; 871*4882a593Smuzhiyun}; 872*4882a593Smuzhiyun 873*4882a593Smuzhiyun&vp0 { 874*4882a593Smuzhiyun vp0_out_dp1: endpoint@3 { 875*4882a593Smuzhiyun reg = <3>; 876*4882a593Smuzhiyun remote-endpoint = <&dp1_in_vp0>; 877*4882a593Smuzhiyun }; 878*4882a593Smuzhiyun 879*4882a593Smuzhiyun vp0_out_edp1: endpoint@4 { 880*4882a593Smuzhiyun reg = <4>; 881*4882a593Smuzhiyun remote-endpoint = <&edp1_in_vp0>; 882*4882a593Smuzhiyun }; 883*4882a593Smuzhiyun 884*4882a593Smuzhiyun vp0_out_hdmi1: endpoint@5 { 885*4882a593Smuzhiyun reg = <5>; 886*4882a593Smuzhiyun remote-endpoint = <&hdmi1_in_vp0>; 887*4882a593Smuzhiyun }; 888*4882a593Smuzhiyun}; 889*4882a593Smuzhiyun 890*4882a593Smuzhiyun&vp1 { 891*4882a593Smuzhiyun vp1_out_dp1: endpoint@3 { 892*4882a593Smuzhiyun reg = <3>; 893*4882a593Smuzhiyun remote-endpoint = <&dp1_in_vp1>; 894*4882a593Smuzhiyun }; 895*4882a593Smuzhiyun 896*4882a593Smuzhiyun vp1_out_edp1: endpoint@4 { 897*4882a593Smuzhiyun reg = <4>; 898*4882a593Smuzhiyun remote-endpoint = <&edp1_in_vp1>; 899*4882a593Smuzhiyun }; 900*4882a593Smuzhiyun 901*4882a593Smuzhiyun vp1_out_hdmi1: endpoint@5 { 902*4882a593Smuzhiyun reg = <5>; 903*4882a593Smuzhiyun remote-endpoint = <&hdmi1_in_vp1>; 904*4882a593Smuzhiyun }; 905*4882a593Smuzhiyun}; 906*4882a593Smuzhiyun 907*4882a593Smuzhiyun&vp2 { 908*4882a593Smuzhiyun vp2_out_dp1: endpoint@5 { 909*4882a593Smuzhiyun reg = <5>; 910*4882a593Smuzhiyun remote-endpoint = <&dp1_in_vp2>; 911*4882a593Smuzhiyun }; 912*4882a593Smuzhiyun 913*4882a593Smuzhiyun vp2_out_edp1: endpoint@6 { 914*4882a593Smuzhiyun reg = <6>; 915*4882a593Smuzhiyun remote-endpoint = <&edp1_in_vp2>; 916*4882a593Smuzhiyun }; 917*4882a593Smuzhiyun 918*4882a593Smuzhiyun vp2_out_hdmi1: endpoint@7 { 919*4882a593Smuzhiyun reg = <7>; 920*4882a593Smuzhiyun remote-endpoint = <&hdmi1_in_vp2>; 921*4882a593Smuzhiyun }; 922*4882a593Smuzhiyun}; 923