1af7cda83SSimon Xue# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2af7cda83SSimon Xue%YAML 1.2 3af7cda83SSimon Xue--- 4af7cda83SSimon Xue$id: http://devicetree.org/schemas/pci/rockchip-dw-pcie.yaml# 5af7cda83SSimon Xue$schema: http://devicetree.org/meta-schemas/core.yaml# 6af7cda83SSimon Xue 7af7cda83SSimon Xuetitle: DesignWare based PCIe controller on Rockchip SoCs 8af7cda83SSimon Xue 9af7cda83SSimon Xuemaintainers: 10af7cda83SSimon Xue - Shawn Lin <shawn.lin@rock-chips.com> 11af7cda83SSimon Xue - Simon Xue <xxm@rock-chips.com> 12af7cda83SSimon Xue - Heiko Stuebner <heiko@sntech.de> 13af7cda83SSimon Xue 14af7cda83SSimon Xuedescription: |+ 15af7cda83SSimon Xue RK3568 SoC PCIe host controller is based on the Synopsys DesignWare 16af7cda83SSimon Xue PCIe IP and thus inherits all the common properties defined in 1798b59129SSerge Semin snps,dw-pcie.yaml. 18af7cda83SSimon Xue 19af7cda83SSimon XueallOf: 20*ebce9f66SSebastian Reichel - $ref: /schemas/pci/pci-bus.yaml# 21*ebce9f66SSebastian Reichel - $ref: /schemas/pci/snps,dw-pcie-common.yaml# 22af7cda83SSimon Xue 23af7cda83SSimon Xueproperties: 24af7cda83SSimon Xue compatible: 2513803c86SLucas Tanure oneOf: 2613803c86SLucas Tanure - const: rockchip,rk3568-pcie 2713803c86SLucas Tanure - items: 2813803c86SLucas Tanure - enum: 2913803c86SLucas Tanure - rockchip,rk3588-pcie 30af7cda83SSimon Xue - const: rockchip,rk3568-pcie 31af7cda83SSimon Xue 32af7cda83SSimon Xue reg: 33af7cda83SSimon Xue items: 34af7cda83SSimon Xue - description: Data Bus Interface (DBI) registers 35af7cda83SSimon Xue - description: Rockchip designed configuration registers 36af7cda83SSimon Xue - description: Config registers 37af7cda83SSimon Xue 38af7cda83SSimon Xue reg-names: 39af7cda83SSimon Xue items: 40af7cda83SSimon Xue - const: dbi 41af7cda83SSimon Xue - const: apb 42af7cda83SSimon Xue - const: config 43af7cda83SSimon Xue 44af7cda83SSimon Xue clocks: 453216ceebSSebastian Reichel minItems: 5 46af7cda83SSimon Xue items: 47af7cda83SSimon Xue - description: AHB clock for PCIe master 48af7cda83SSimon Xue - description: AHB clock for PCIe slave 49af7cda83SSimon Xue - description: AHB clock for PCIe dbi 50af7cda83SSimon Xue - description: APB clock for PCIe 51af7cda83SSimon Xue - description: Auxiliary clock for PCIe 523216ceebSSebastian Reichel - description: PIPE clock 53af7cda83SSimon Xue 54af7cda83SSimon Xue clock-names: 553216ceebSSebastian Reichel minItems: 5 56af7cda83SSimon Xue items: 57af7cda83SSimon Xue - const: aclk_mst 58af7cda83SSimon Xue - const: aclk_slv 59af7cda83SSimon Xue - const: aclk_dbi 60af7cda83SSimon Xue - const: pclk 61af7cda83SSimon Xue - const: aux 623216ceebSSebastian Reichel - const: pipe 63af7cda83SSimon Xue 64*ebce9f66SSebastian Reichel interrupts: 65*ebce9f66SSebastian Reichel items: 66*ebce9f66SSebastian Reichel - description: 67*ebce9f66SSebastian Reichel Combined system interrupt, which is used to signal the following 68*ebce9f66SSebastian Reichel interrupts - phy_link_up, dll_link_up, link_req_rst_not, hp_pme, 69*ebce9f66SSebastian Reichel hp, hp_msi, link_auto_bw, link_auto_bw_msi, bw_mgt, bw_mgt_msi, 70*ebce9f66SSebastian Reichel edma_wr, edma_rd, dpa_sub_upd, rbar_update, link_eq_req, ep_elbi_app 71*ebce9f66SSebastian Reichel - description: 72*ebce9f66SSebastian Reichel Combined PM interrupt, which is used to signal the following 73*ebce9f66SSebastian Reichel interrupts - linkst_in_l1sub, linkst_in_l1, linkst_in_l2, 74*ebce9f66SSebastian Reichel linkst_in_l0s, linkst_out_l1sub, linkst_out_l1, linkst_out_l2, 75*ebce9f66SSebastian Reichel linkst_out_l0s, pm_dstate_update 76*ebce9f66SSebastian Reichel - description: 77*ebce9f66SSebastian Reichel Combined message interrupt, which is used to signal the following 78*ebce9f66SSebastian Reichel interrupts - ven_msg, unlock_msg, ltr_msg, cfg_pme, cfg_pme_msi, 79*ebce9f66SSebastian Reichel pm_pme, pm_to_ack, pm_turnoff, obff_idle, obff_obff, obff_cpu_active 80*ebce9f66SSebastian Reichel - description: 81*ebce9f66SSebastian Reichel Combined legacy interrupt, which is used to signal the following 82*ebce9f66SSebastian Reichel interrupts - inta, intb, intc, intd 83*ebce9f66SSebastian Reichel - description: 84*ebce9f66SSebastian Reichel Combined error interrupt, which is used to signal the following 85*ebce9f66SSebastian Reichel interrupts - aer_rc_err, aer_rc_err_msi, rx_cpl_timeout, 86*ebce9f66SSebastian Reichel tx_cpl_timeout, cor_err_sent, nf_err_sent, f_err_sent, cor_err_rx, 87*ebce9f66SSebastian Reichel nf_err_rx, f_err_rx, radm_qoverflow 88*ebce9f66SSebastian Reichel 89*ebce9f66SSebastian Reichel interrupt-names: 90*ebce9f66SSebastian Reichel items: 91*ebce9f66SSebastian Reichel - const: sys 92*ebce9f66SSebastian Reichel - const: pmc 93*ebce9f66SSebastian Reichel - const: msg 94*ebce9f66SSebastian Reichel - const: legacy 95*ebce9f66SSebastian Reichel - const: err 96*ebce9f66SSebastian Reichel 97af7cda83SSimon Xue msi-map: true 98af7cda83SSimon Xue 99af7cda83SSimon Xue num-lanes: true 100af7cda83SSimon Xue 101af7cda83SSimon Xue phys: 102af7cda83SSimon Xue maxItems: 1 103af7cda83SSimon Xue 104af7cda83SSimon Xue phy-names: 105af7cda83SSimon Xue const: pcie-phy 106af7cda83SSimon Xue 107af7cda83SSimon Xue power-domains: 108af7cda83SSimon Xue maxItems: 1 109af7cda83SSimon Xue 110af7cda83SSimon Xue ranges: 1113216ceebSSebastian Reichel minItems: 2 1123216ceebSSebastian Reichel maxItems: 3 113af7cda83SSimon Xue 114af7cda83SSimon Xue resets: 1153216ceebSSebastian Reichel minItems: 1 1163216ceebSSebastian Reichel maxItems: 2 117af7cda83SSimon Xue 118af7cda83SSimon Xue reset-names: 1193216ceebSSebastian Reichel oneOf: 1203216ceebSSebastian Reichel - const: pipe 1213216ceebSSebastian Reichel - items: 1223216ceebSSebastian Reichel - const: pwr 1233216ceebSSebastian Reichel - const: pipe 124af7cda83SSimon Xue 125af7cda83SSimon Xue vpcie3v3-supply: true 126af7cda83SSimon Xue 127af7cda83SSimon Xuerequired: 128af7cda83SSimon Xue - compatible 129af7cda83SSimon Xue - reg 130af7cda83SSimon Xue - reg-names 131af7cda83SSimon Xue - clocks 132af7cda83SSimon Xue - clock-names 133af7cda83SSimon Xue - msi-map 134af7cda83SSimon Xue - num-lanes 135af7cda83SSimon Xue - phys 136af7cda83SSimon Xue - phy-names 137af7cda83SSimon Xue - power-domains 138af7cda83SSimon Xue - resets 139af7cda83SSimon Xue - reset-names 140af7cda83SSimon Xue 141af7cda83SSimon XueunevaluatedProperties: false 142af7cda83SSimon Xue 143af7cda83SSimon Xueexamples: 144af7cda83SSimon Xue - | 145*ebce9f66SSebastian Reichel #include <dt-bindings/interrupt-controller/arm-gic.h> 146af7cda83SSimon Xue 147af7cda83SSimon Xue bus { 148af7cda83SSimon Xue #address-cells = <2>; 149af7cda83SSimon Xue #size-cells = <2>; 150af7cda83SSimon Xue 151af7cda83SSimon Xue pcie3x2: pcie@fe280000 { 152931262e6SPeter Geis compatible = "rockchip,rk3568-pcie"; 153af7cda83SSimon Xue reg = <0x3 0xc0800000 0x0 0x390000>, 154af7cda83SSimon Xue <0x0 0xfe280000 0x0 0x10000>, 155af7cda83SSimon Xue <0x3 0x80000000 0x0 0x100000>; 156af7cda83SSimon Xue reg-names = "dbi", "apb", "config"; 157af7cda83SSimon Xue bus-range = <0x20 0x2f>; 158af7cda83SSimon Xue clocks = <&cru 143>, <&cru 144>, 159af7cda83SSimon Xue <&cru 145>, <&cru 146>, 160af7cda83SSimon Xue <&cru 147>; 161af7cda83SSimon Xue clock-names = "aclk_mst", "aclk_slv", 162af7cda83SSimon Xue "aclk_dbi", "pclk", 163af7cda83SSimon Xue "aux"; 164af7cda83SSimon Xue device_type = "pci"; 165*ebce9f66SSebastian Reichel interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 166*ebce9f66SSebastian Reichel <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>, 167*ebce9f66SSebastian Reichel <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>, 168*ebce9f66SSebastian Reichel <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 169*ebce9f66SSebastian Reichel <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 170*ebce9f66SSebastian Reichel interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 171af7cda83SSimon Xue linux,pci-domain = <2>; 172af7cda83SSimon Xue max-link-speed = <2>; 173af7cda83SSimon Xue msi-map = <0x2000 &its 0x2000 0x1000>; 174af7cda83SSimon Xue num-lanes = <2>; 175af7cda83SSimon Xue phys = <&pcie30phy>; 176af7cda83SSimon Xue phy-names = "pcie-phy"; 177af7cda83SSimon Xue power-domains = <&power 15>; 178af7cda83SSimon Xue ranges = <0x81000000 0x0 0x80800000 0x3 0x80800000 0x0 0x100000>, 179af7cda83SSimon Xue <0x83000000 0x0 0x80900000 0x3 0x80900000 0x0 0x3f700000>; 180af7cda83SSimon Xue resets = <&cru 193>; 181af7cda83SSimon Xue reset-names = "pipe"; 182af7cda83SSimon Xue #address-cells = <3>; 183af7cda83SSimon Xue #size-cells = <2>; 184af7cda83SSimon Xue }; 185af7cda83SSimon Xue }; 186af7cda83SSimon Xue... 187