162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include "rk356x.dtsi" 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/ { 962306a36Sopenharmony_ci compatible = "rockchip,rk3568"; 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci sata0: sata@fc000000 { 1262306a36Sopenharmony_ci compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci"; 1362306a36Sopenharmony_ci reg = <0 0xfc000000 0 0x1000>; 1462306a36Sopenharmony_ci clocks = <&cru ACLK_SATA0>, <&cru CLK_SATA0_PMALIVE>, 1562306a36Sopenharmony_ci <&cru CLK_SATA0_RXOOB>; 1662306a36Sopenharmony_ci clock-names = "sata", "pmalive", "rxoob"; 1762306a36Sopenharmony_ci interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 1862306a36Sopenharmony_ci phys = <&combphy0 PHY_TYPE_SATA>; 1962306a36Sopenharmony_ci phy-names = "sata-phy"; 2062306a36Sopenharmony_ci ports-implemented = <0x1>; 2162306a36Sopenharmony_ci power-domains = <&power RK3568_PD_PIPE>; 2262306a36Sopenharmony_ci status = "disabled"; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci pipe_phy_grf0: syscon@fdc70000 { 2662306a36Sopenharmony_ci compatible = "rockchip,rk3568-pipe-phy-grf", "syscon"; 2762306a36Sopenharmony_ci reg = <0x0 0xfdc70000 0x0 0x1000>; 2862306a36Sopenharmony_ci }; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci qos_pcie3x1: qos@fe190080 { 3162306a36Sopenharmony_ci compatible = "rockchip,rk3568-qos", "syscon"; 3262306a36Sopenharmony_ci reg = <0x0 0xfe190080 0x0 0x20>; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci qos_pcie3x2: qos@fe190100 { 3662306a36Sopenharmony_ci compatible = "rockchip,rk3568-qos", "syscon"; 3762306a36Sopenharmony_ci reg = <0x0 0xfe190100 0x0 0x20>; 3862306a36Sopenharmony_ci }; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci qos_sata0: qos@fe190200 { 4162306a36Sopenharmony_ci compatible = "rockchip,rk3568-qos", "syscon"; 4262306a36Sopenharmony_ci reg = <0x0 0xfe190200 0x0 0x20>; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci pcie30_phy_grf: syscon@fdcb8000 { 4662306a36Sopenharmony_ci compatible = "rockchip,rk3568-pcie3-phy-grf", "syscon"; 4762306a36Sopenharmony_ci reg = <0x0 0xfdcb8000 0x0 0x10000>; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci pcie30phy: phy@fe8c0000 { 5162306a36Sopenharmony_ci compatible = "rockchip,rk3568-pcie3-phy"; 5262306a36Sopenharmony_ci reg = <0x0 0xfe8c0000 0x0 0x20000>; 5362306a36Sopenharmony_ci #phy-cells = <0>; 5462306a36Sopenharmony_ci clocks = <&pmucru CLK_PCIE30PHY_REF_M>, <&pmucru CLK_PCIE30PHY_REF_N>, 5562306a36Sopenharmony_ci <&cru PCLK_PCIE30PHY>; 5662306a36Sopenharmony_ci clock-names = "refclk_m", "refclk_n", "pclk"; 5762306a36Sopenharmony_ci resets = <&cru SRST_PCIE30PHY>; 5862306a36Sopenharmony_ci reset-names = "phy"; 5962306a36Sopenharmony_ci rockchip,phy-grf = <&pcie30_phy_grf>; 6062306a36Sopenharmony_ci status = "disabled"; 6162306a36Sopenharmony_ci }; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci pcie3x1: pcie@fe270000 { 6462306a36Sopenharmony_ci compatible = "rockchip,rk3568-pcie"; 6562306a36Sopenharmony_ci #address-cells = <3>; 6662306a36Sopenharmony_ci #size-cells = <2>; 6762306a36Sopenharmony_ci bus-range = <0x0 0xf>; 6862306a36Sopenharmony_ci clocks = <&cru ACLK_PCIE30X1_MST>, <&cru ACLK_PCIE30X1_SLV>, 6962306a36Sopenharmony_ci <&cru ACLK_PCIE30X1_DBI>, <&cru PCLK_PCIE30X1>, 7062306a36Sopenharmony_ci <&cru CLK_PCIE30X1_AUX_NDFT>; 7162306a36Sopenharmony_ci clock-names = "aclk_mst", "aclk_slv", 7262306a36Sopenharmony_ci "aclk_dbi", "pclk", "aux"; 7362306a36Sopenharmony_ci device_type = "pci"; 7462306a36Sopenharmony_ci interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 7562306a36Sopenharmony_ci <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>, 7662306a36Sopenharmony_ci <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>, 7762306a36Sopenharmony_ci <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 7862306a36Sopenharmony_ci <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 7962306a36Sopenharmony_ci interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 8062306a36Sopenharmony_ci #interrupt-cells = <1>; 8162306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 8262306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &pcie3x1_intc 0>, 8362306a36Sopenharmony_ci <0 0 0 2 &pcie3x1_intc 1>, 8462306a36Sopenharmony_ci <0 0 0 3 &pcie3x1_intc 2>, 8562306a36Sopenharmony_ci <0 0 0 4 &pcie3x1_intc 3>; 8662306a36Sopenharmony_ci linux,pci-domain = <1>; 8762306a36Sopenharmony_ci num-ib-windows = <6>; 8862306a36Sopenharmony_ci num-ob-windows = <2>; 8962306a36Sopenharmony_ci max-link-speed = <3>; 9062306a36Sopenharmony_ci msi-map = <0x0 &gic 0x1000 0x1000>; 9162306a36Sopenharmony_ci num-lanes = <1>; 9262306a36Sopenharmony_ci phys = <&pcie30phy>; 9362306a36Sopenharmony_ci phy-names = "pcie-phy"; 9462306a36Sopenharmony_ci power-domains = <&power RK3568_PD_PIPE>; 9562306a36Sopenharmony_ci reg = <0x3 0xc0400000 0x0 0x00400000>, 9662306a36Sopenharmony_ci <0x0 0xfe270000 0x0 0x00010000>, 9762306a36Sopenharmony_ci <0x0 0xf2000000 0x0 0x00100000>; 9862306a36Sopenharmony_ci ranges = <0x01000000 0x0 0xf2100000 0x0 0xf2100000 0x0 0x00100000>, 9962306a36Sopenharmony_ci <0x02000000 0x0 0xf2200000 0x0 0xf2200000 0x0 0x01e00000>, 10062306a36Sopenharmony_ci <0x03000000 0x0 0x40000000 0x3 0x40000000 0x0 0x40000000>; 10162306a36Sopenharmony_ci reg-names = "dbi", "apb", "config"; 10262306a36Sopenharmony_ci resets = <&cru SRST_PCIE30X1_POWERUP>; 10362306a36Sopenharmony_ci reset-names = "pipe"; 10462306a36Sopenharmony_ci /* bifurcation; lane1 when using 1+1 */ 10562306a36Sopenharmony_ci status = "disabled"; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci pcie3x1_intc: legacy-interrupt-controller { 10862306a36Sopenharmony_ci interrupt-controller; 10962306a36Sopenharmony_ci #address-cells = <0>; 11062306a36Sopenharmony_ci #interrupt-cells = <1>; 11162306a36Sopenharmony_ci interrupt-parent = <&gic>; 11262306a36Sopenharmony_ci interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci pcie3x2: pcie@fe280000 { 11762306a36Sopenharmony_ci compatible = "rockchip,rk3568-pcie"; 11862306a36Sopenharmony_ci #address-cells = <3>; 11962306a36Sopenharmony_ci #size-cells = <2>; 12062306a36Sopenharmony_ci bus-range = <0x0 0xf>; 12162306a36Sopenharmony_ci clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>, 12262306a36Sopenharmony_ci <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>, 12362306a36Sopenharmony_ci <&cru CLK_PCIE30X2_AUX_NDFT>; 12462306a36Sopenharmony_ci clock-names = "aclk_mst", "aclk_slv", 12562306a36Sopenharmony_ci "aclk_dbi", "pclk", "aux"; 12662306a36Sopenharmony_ci device_type = "pci"; 12762306a36Sopenharmony_ci interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>, 12862306a36Sopenharmony_ci <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, 12962306a36Sopenharmony_ci <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 13062306a36Sopenharmony_ci <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 13162306a36Sopenharmony_ci <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; 13262306a36Sopenharmony_ci interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 13362306a36Sopenharmony_ci #interrupt-cells = <1>; 13462306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 13562306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &pcie3x2_intc 0>, 13662306a36Sopenharmony_ci <0 0 0 2 &pcie3x2_intc 1>, 13762306a36Sopenharmony_ci <0 0 0 3 &pcie3x2_intc 2>, 13862306a36Sopenharmony_ci <0 0 0 4 &pcie3x2_intc 3>; 13962306a36Sopenharmony_ci linux,pci-domain = <2>; 14062306a36Sopenharmony_ci num-ib-windows = <6>; 14162306a36Sopenharmony_ci num-ob-windows = <2>; 14262306a36Sopenharmony_ci max-link-speed = <3>; 14362306a36Sopenharmony_ci msi-map = <0x0 &gic 0x2000 0x1000>; 14462306a36Sopenharmony_ci num-lanes = <2>; 14562306a36Sopenharmony_ci phys = <&pcie30phy>; 14662306a36Sopenharmony_ci phy-names = "pcie-phy"; 14762306a36Sopenharmony_ci power-domains = <&power RK3568_PD_PIPE>; 14862306a36Sopenharmony_ci reg = <0x3 0xc0800000 0x0 0x00400000>, 14962306a36Sopenharmony_ci <0x0 0xfe280000 0x0 0x00010000>, 15062306a36Sopenharmony_ci <0x0 0xf0000000 0x0 0x00100000>; 15162306a36Sopenharmony_ci ranges = <0x01000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x00100000>, 15262306a36Sopenharmony_ci <0x02000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0x01e00000>, 15362306a36Sopenharmony_ci <0x03000000 0x0 0x40000000 0x3 0x80000000 0x0 0x40000000>; 15462306a36Sopenharmony_ci reg-names = "dbi", "apb", "config"; 15562306a36Sopenharmony_ci resets = <&cru SRST_PCIE30X2_POWERUP>; 15662306a36Sopenharmony_ci reset-names = "pipe"; 15762306a36Sopenharmony_ci /* bifurcation; lane0 when using 1+1 */ 15862306a36Sopenharmony_ci status = "disabled"; 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci pcie3x2_intc: legacy-interrupt-controller { 16162306a36Sopenharmony_ci interrupt-controller; 16262306a36Sopenharmony_ci #address-cells = <0>; 16362306a36Sopenharmony_ci #interrupt-cells = <1>; 16462306a36Sopenharmony_ci interrupt-parent = <&gic>; 16562306a36Sopenharmony_ci interrupts = <GIC_SPI 162 IRQ_TYPE_EDGE_RISING>; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci }; 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci gmac0: ethernet@fe2a0000 { 17062306a36Sopenharmony_ci compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a"; 17162306a36Sopenharmony_ci reg = <0x0 0xfe2a0000 0x0 0x10000>; 17262306a36Sopenharmony_ci interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 17362306a36Sopenharmony_ci <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 17462306a36Sopenharmony_ci interrupt-names = "macirq", "eth_wake_irq"; 17562306a36Sopenharmony_ci clocks = <&cru SCLK_GMAC0>, <&cru SCLK_GMAC0_RX_TX>, 17662306a36Sopenharmony_ci <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_MAC0_REFOUT>, 17762306a36Sopenharmony_ci <&cru ACLK_GMAC0>, <&cru PCLK_GMAC0>, 17862306a36Sopenharmony_ci <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_GMAC0_PTP_REF>; 17962306a36Sopenharmony_ci clock-names = "stmmaceth", "mac_clk_rx", 18062306a36Sopenharmony_ci "mac_clk_tx", "clk_mac_refout", 18162306a36Sopenharmony_ci "aclk_mac", "pclk_mac", 18262306a36Sopenharmony_ci "clk_mac_speed", "ptp_ref"; 18362306a36Sopenharmony_ci resets = <&cru SRST_A_GMAC0>; 18462306a36Sopenharmony_ci reset-names = "stmmaceth"; 18562306a36Sopenharmony_ci rockchip,grf = <&grf>; 18662306a36Sopenharmony_ci snps,axi-config = <&gmac0_stmmac_axi_setup>; 18762306a36Sopenharmony_ci snps,mixed-burst; 18862306a36Sopenharmony_ci snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; 18962306a36Sopenharmony_ci snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; 19062306a36Sopenharmony_ci snps,tso; 19162306a36Sopenharmony_ci status = "disabled"; 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci mdio0: mdio { 19462306a36Sopenharmony_ci compatible = "snps,dwmac-mdio"; 19562306a36Sopenharmony_ci #address-cells = <0x1>; 19662306a36Sopenharmony_ci #size-cells = <0x0>; 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci gmac0_stmmac_axi_setup: stmmac-axi-config { 20062306a36Sopenharmony_ci snps,blen = <0 0 0 0 16 8 4>; 20162306a36Sopenharmony_ci snps,rd_osr_lmt = <8>; 20262306a36Sopenharmony_ci snps,wr_osr_lmt = <4>; 20362306a36Sopenharmony_ci }; 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci gmac0_mtl_rx_setup: rx-queues-config { 20662306a36Sopenharmony_ci snps,rx-queues-to-use = <1>; 20762306a36Sopenharmony_ci queue0 {}; 20862306a36Sopenharmony_ci }; 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci gmac0_mtl_tx_setup: tx-queues-config { 21162306a36Sopenharmony_ci snps,tx-queues-to-use = <1>; 21262306a36Sopenharmony_ci queue0 {}; 21362306a36Sopenharmony_ci }; 21462306a36Sopenharmony_ci }; 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci combphy0: phy@fe820000 { 21762306a36Sopenharmony_ci compatible = "rockchip,rk3568-naneng-combphy"; 21862306a36Sopenharmony_ci reg = <0x0 0xfe820000 0x0 0x100>; 21962306a36Sopenharmony_ci clocks = <&pmucru CLK_PCIEPHY0_REF>, 22062306a36Sopenharmony_ci <&cru PCLK_PIPEPHY0>, 22162306a36Sopenharmony_ci <&cru PCLK_PIPE>; 22262306a36Sopenharmony_ci clock-names = "ref", "apb", "pipe"; 22362306a36Sopenharmony_ci assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>; 22462306a36Sopenharmony_ci assigned-clock-rates = <100000000>; 22562306a36Sopenharmony_ci resets = <&cru SRST_PIPEPHY0>; 22662306a36Sopenharmony_ci rockchip,pipe-grf = <&pipegrf>; 22762306a36Sopenharmony_ci rockchip,pipe-phy-grf = <&pipe_phy_grf0>; 22862306a36Sopenharmony_ci #phy-cells = <1>; 22962306a36Sopenharmony_ci status = "disabled"; 23062306a36Sopenharmony_ci }; 23162306a36Sopenharmony_ci}; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci&cpu0_opp_table { 23462306a36Sopenharmony_ci opp-1992000000 { 23562306a36Sopenharmony_ci opp-hz = /bits/ 64 <1992000000>; 23662306a36Sopenharmony_ci opp-microvolt = <1150000 1150000 1150000>; 23762306a36Sopenharmony_ci }; 23862306a36Sopenharmony_ci}; 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci&pipegrf { 24162306a36Sopenharmony_ci compatible = "rockchip,rk3568-pipe-grf", "syscon"; 24262306a36Sopenharmony_ci}; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci&power { 24562306a36Sopenharmony_ci power-domain@RK3568_PD_PIPE { 24662306a36Sopenharmony_ci reg = <RK3568_PD_PIPE>; 24762306a36Sopenharmony_ci clocks = <&cru PCLK_PIPE>; 24862306a36Sopenharmony_ci pm_qos = <&qos_pcie2x1>, 24962306a36Sopenharmony_ci <&qos_pcie3x1>, 25062306a36Sopenharmony_ci <&qos_pcie3x2>, 25162306a36Sopenharmony_ci <&qos_sata0>, 25262306a36Sopenharmony_ci <&qos_sata1>, 25362306a36Sopenharmony_ci <&qos_sata2>, 25462306a36Sopenharmony_ci <&qos_usb3_0>, 25562306a36Sopenharmony_ci <&qos_usb3_1>; 25662306a36Sopenharmony_ci #power-domain-cells = <0>; 25762306a36Sopenharmony_ci }; 25862306a36Sopenharmony_ci}; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci&usb_host0_xhci { 26162306a36Sopenharmony_ci phys = <&usb2phy0_otg>, <&combphy0 PHY_TYPE_USB3>; 26262306a36Sopenharmony_ci phy-names = "usb2-phy", "usb3-phy"; 26362306a36Sopenharmony_ci}; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci&vop { 26662306a36Sopenharmony_ci compatible = "rockchip,rk3568-vop"; 26762306a36Sopenharmony_ci}; 268