1*e7534e79SClaudiu Beznea# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*e7534e79SClaudiu Beznea%YAML 1.2 3*e7534e79SClaudiu Beznea--- 4*e7534e79SClaudiu Beznea$id: http://devicetree.org/schemas/pci/renesas,r9a08g045-pcie.yaml# 5*e7534e79SClaudiu Beznea$schema: http://devicetree.org/meta-schemas/core.yaml# 6*e7534e79SClaudiu Beznea 7*e7534e79SClaudiu Bezneatitle: Renesas RZ/G3S PCIe host controller 8*e7534e79SClaudiu Beznea 9*e7534e79SClaudiu Bezneamaintainers: 10*e7534e79SClaudiu Beznea - Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> 11*e7534e79SClaudiu Beznea 12*e7534e79SClaudiu Bezneadescription: 13*e7534e79SClaudiu Beznea Renesas RZ/G3S PCIe host controller complies with PCIe Base Specification 14*e7534e79SClaudiu Beznea 4.0 and supports up to 5 GT/s (Gen2). 15*e7534e79SClaudiu Beznea 16*e7534e79SClaudiu Bezneaproperties: 17*e7534e79SClaudiu Beznea compatible: 18*e7534e79SClaudiu Beznea const: renesas,r9a08g045-pcie # RZ/G3S 19*e7534e79SClaudiu Beznea 20*e7534e79SClaudiu Beznea reg: 21*e7534e79SClaudiu Beznea maxItems: 1 22*e7534e79SClaudiu Beznea 23*e7534e79SClaudiu Beznea interrupts: 24*e7534e79SClaudiu Beznea items: 25*e7534e79SClaudiu Beznea - description: System error interrupt 26*e7534e79SClaudiu Beznea - description: System error on correctable error interrupt 27*e7534e79SClaudiu Beznea - description: System error on non-fatal error interrupt 28*e7534e79SClaudiu Beznea - description: System error on fatal error interrupt 29*e7534e79SClaudiu Beznea - description: AXI error interrupt 30*e7534e79SClaudiu Beznea - description: INTA interrupt 31*e7534e79SClaudiu Beznea - description: INTB interrupt 32*e7534e79SClaudiu Beznea - description: INTC interrupt 33*e7534e79SClaudiu Beznea - description: INTD interrupt 34*e7534e79SClaudiu Beznea - description: MSI interrupt 35*e7534e79SClaudiu Beznea - description: Link bandwidth interrupt 36*e7534e79SClaudiu Beznea - description: PME interrupt 37*e7534e79SClaudiu Beznea - description: DMA interrupt 38*e7534e79SClaudiu Beznea - description: PCIe event interrupt 39*e7534e79SClaudiu Beznea - description: Message interrupt 40*e7534e79SClaudiu Beznea - description: All interrupts 41*e7534e79SClaudiu Beznea 42*e7534e79SClaudiu Beznea interrupt-names: 43*e7534e79SClaudiu Beznea items: 44*e7534e79SClaudiu Beznea - description: serr 45*e7534e79SClaudiu Beznea - description: ser_cor 46*e7534e79SClaudiu Beznea - description: serr_nonfatal 47*e7534e79SClaudiu Beznea - description: serr_fatal 48*e7534e79SClaudiu Beznea - description: axi_err 49*e7534e79SClaudiu Beznea - description: inta 50*e7534e79SClaudiu Beznea - description: intb 51*e7534e79SClaudiu Beznea - description: intc 52*e7534e79SClaudiu Beznea - description: intd 53*e7534e79SClaudiu Beznea - description: msi 54*e7534e79SClaudiu Beznea - description: link_bandwidth 55*e7534e79SClaudiu Beznea - description: pm_pme 56*e7534e79SClaudiu Beznea - description: dma 57*e7534e79SClaudiu Beznea - description: pcie_evt 58*e7534e79SClaudiu Beznea - description: msg 59*e7534e79SClaudiu Beznea - description: all 60*e7534e79SClaudiu Beznea 61*e7534e79SClaudiu Beznea interrupt-controller: true 62*e7534e79SClaudiu Beznea 63*e7534e79SClaudiu Beznea clocks: 64*e7534e79SClaudiu Beznea items: 65*e7534e79SClaudiu Beznea - description: System clock 66*e7534e79SClaudiu Beznea - description: PM control clock 67*e7534e79SClaudiu Beznea 68*e7534e79SClaudiu Beznea clock-names: 69*e7534e79SClaudiu Beznea items: 70*e7534e79SClaudiu Beznea - description: aclk 71*e7534e79SClaudiu Beznea - description: pm 72*e7534e79SClaudiu Beznea 73*e7534e79SClaudiu Beznea resets: 74*e7534e79SClaudiu Beznea items: 75*e7534e79SClaudiu Beznea - description: AXI2PCIe Bridge reset 76*e7534e79SClaudiu Beznea - description: Data link layer/transaction layer reset 77*e7534e79SClaudiu Beznea - description: Transaction layer (ACLK domain) reset 78*e7534e79SClaudiu Beznea - description: Transaction layer (PCLK domain) reset 79*e7534e79SClaudiu Beznea - description: Physical layer reset 80*e7534e79SClaudiu Beznea - description: Configuration register reset 81*e7534e79SClaudiu Beznea - description: Configuration register reset 82*e7534e79SClaudiu Beznea 83*e7534e79SClaudiu Beznea reset-names: 84*e7534e79SClaudiu Beznea items: 85*e7534e79SClaudiu Beznea - description: aresetn 86*e7534e79SClaudiu Beznea - description: rst_b 87*e7534e79SClaudiu Beznea - description: rst_gp_b 88*e7534e79SClaudiu Beznea - description: rst_ps_b 89*e7534e79SClaudiu Beznea - description: rst_rsm_b 90*e7534e79SClaudiu Beznea - description: rst_cfg_b 91*e7534e79SClaudiu Beznea - description: rst_load_b 92*e7534e79SClaudiu Beznea 93*e7534e79SClaudiu Beznea power-domains: 94*e7534e79SClaudiu Beznea maxItems: 1 95*e7534e79SClaudiu Beznea 96*e7534e79SClaudiu Beznea dma-ranges: 97*e7534e79SClaudiu Beznea description: 98*e7534e79SClaudiu Beznea A single range for the inbound memory region. 99*e7534e79SClaudiu Beznea maxItems: 1 100*e7534e79SClaudiu Beznea 101*e7534e79SClaudiu Beznea renesas,sysc: 102*e7534e79SClaudiu Beznea description: | 103*e7534e79SClaudiu Beznea System controller registers control and monitor various PCIe 104*e7534e79SClaudiu Beznea functionalities. 105*e7534e79SClaudiu Beznea 106*e7534e79SClaudiu Beznea Control: 107*e7534e79SClaudiu Beznea - transition to L1 state 108*e7534e79SClaudiu Beznea - receiver termination settings 109*e7534e79SClaudiu Beznea - RST_RSM_B signal 110*e7534e79SClaudiu Beznea 111*e7534e79SClaudiu Beznea Monitor: 112*e7534e79SClaudiu Beznea - clkl1pm clock request state 113*e7534e79SClaudiu Beznea - power off information in L2 state 114*e7534e79SClaudiu Beznea - errors (fatal, non-fatal, correctable) 115*e7534e79SClaudiu Beznea $ref: /schemas/types.yaml#/definitions/phandle 116*e7534e79SClaudiu Beznea 117*e7534e79SClaudiu BezneapatternProperties: 118*e7534e79SClaudiu Beznea "^pcie@0,[0-0]$": 119*e7534e79SClaudiu Beznea type: object 120*e7534e79SClaudiu Beznea allOf: 121*e7534e79SClaudiu Beznea - $ref: /schemas/pci/pci-pci-bridge.yaml# 122*e7534e79SClaudiu Beznea 123*e7534e79SClaudiu Beznea properties: 124*e7534e79SClaudiu Beznea reg: 125*e7534e79SClaudiu Beznea maxItems: 1 126*e7534e79SClaudiu Beznea 127*e7534e79SClaudiu Beznea vendor-id: 128*e7534e79SClaudiu Beznea const: 0x1912 129*e7534e79SClaudiu Beznea 130*e7534e79SClaudiu Beznea device-id: 131*e7534e79SClaudiu Beznea const: 0x0033 132*e7534e79SClaudiu Beznea 133*e7534e79SClaudiu Beznea clocks: 134*e7534e79SClaudiu Beznea items: 135*e7534e79SClaudiu Beznea - description: Reference clock 136*e7534e79SClaudiu Beznea 137*e7534e79SClaudiu Beznea clock-names: 138*e7534e79SClaudiu Beznea items: 139*e7534e79SClaudiu Beznea - const: ref 140*e7534e79SClaudiu Beznea 141*e7534e79SClaudiu Beznea required: 142*e7534e79SClaudiu Beznea - device_type 143*e7534e79SClaudiu Beznea - vendor-id 144*e7534e79SClaudiu Beznea - device-id 145*e7534e79SClaudiu Beznea - clocks 146*e7534e79SClaudiu Beznea - clock-names 147*e7534e79SClaudiu Beznea 148*e7534e79SClaudiu Beznea unevaluatedProperties: false 149*e7534e79SClaudiu Beznea 150*e7534e79SClaudiu Beznearequired: 151*e7534e79SClaudiu Beznea - compatible 152*e7534e79SClaudiu Beznea - reg 153*e7534e79SClaudiu Beznea - clocks 154*e7534e79SClaudiu Beznea - clock-names 155*e7534e79SClaudiu Beznea - resets 156*e7534e79SClaudiu Beznea - reset-names 157*e7534e79SClaudiu Beznea - interrupts 158*e7534e79SClaudiu Beznea - interrupt-names 159*e7534e79SClaudiu Beznea - interrupt-map 160*e7534e79SClaudiu Beznea - interrupt-map-mask 161*e7534e79SClaudiu Beznea - interrupt-controller 162*e7534e79SClaudiu Beznea - power-domains 163*e7534e79SClaudiu Beznea - "#address-cells" 164*e7534e79SClaudiu Beznea - "#size-cells" 165*e7534e79SClaudiu Beznea - "#interrupt-cells" 166*e7534e79SClaudiu Beznea - renesas,sysc 167*e7534e79SClaudiu Beznea 168*e7534e79SClaudiu BezneaallOf: 169*e7534e79SClaudiu Beznea - $ref: /schemas/pci/pci-host-bridge.yaml# 170*e7534e79SClaudiu Beznea 171*e7534e79SClaudiu BezneaunevaluatedProperties: false 172*e7534e79SClaudiu Beznea 173*e7534e79SClaudiu Bezneaexamples: 174*e7534e79SClaudiu Beznea - | 175*e7534e79SClaudiu Beznea #include <dt-bindings/clock/r9a08g045-cpg.h> 176*e7534e79SClaudiu Beznea #include <dt-bindings/interrupt-controller/arm-gic.h> 177*e7534e79SClaudiu Beznea 178*e7534e79SClaudiu Beznea bus { 179*e7534e79SClaudiu Beznea #address-cells = <2>; 180*e7534e79SClaudiu Beznea #size-cells = <2>; 181*e7534e79SClaudiu Beznea 182*e7534e79SClaudiu Beznea pcie@11e40000 { 183*e7534e79SClaudiu Beznea compatible = "renesas,r9a08g045-pcie"; 184*e7534e79SClaudiu Beznea reg = <0 0x11e40000 0 0x10000>; 185*e7534e79SClaudiu Beznea ranges = <0x02000000 0 0x30000000 0 0x30000000 0 0x08000000>; 186*e7534e79SClaudiu Beznea /* Map all possible DRAM ranges (4 GB). */ 187*e7534e79SClaudiu Beznea dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 1 0x00000000>; 188*e7534e79SClaudiu Beznea bus-range = <0x0 0xff>; 189*e7534e79SClaudiu Beznea interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>, 190*e7534e79SClaudiu Beznea <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>, 191*e7534e79SClaudiu Beznea <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>, 192*e7534e79SClaudiu Beznea <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>, 193*e7534e79SClaudiu Beznea <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>, 194*e7534e79SClaudiu Beznea <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>, 195*e7534e79SClaudiu Beznea <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>, 196*e7534e79SClaudiu Beznea <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>, 197*e7534e79SClaudiu Beznea <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>, 198*e7534e79SClaudiu Beznea <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>, 199*e7534e79SClaudiu Beznea <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>, 200*e7534e79SClaudiu Beznea <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>, 201*e7534e79SClaudiu Beznea <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>, 202*e7534e79SClaudiu Beznea <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>, 203*e7534e79SClaudiu Beznea <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>, 204*e7534e79SClaudiu Beznea <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>; 205*e7534e79SClaudiu Beznea interrupt-names = "serr", "serr_cor", "serr_nonfatal", 206*e7534e79SClaudiu Beznea "serr_fatal", "axi_err", "inta", 207*e7534e79SClaudiu Beznea "intb", "intc", "intd", "msi", 208*e7534e79SClaudiu Beznea "link_bandwidth", "pm_pme", "dma", 209*e7534e79SClaudiu Beznea "pcie_evt", "msg", "all"; 210*e7534e79SClaudiu Beznea #interrupt-cells = <1>; 211*e7534e79SClaudiu Beznea interrupt-controller; 212*e7534e79SClaudiu Beznea interrupt-map-mask = <0 0 0 7>; 213*e7534e79SClaudiu Beznea interrupt-map = <0 0 0 1 &pcie 0 0 0 0>, /* INTA */ 214*e7534e79SClaudiu Beznea <0 0 0 2 &pcie 0 0 0 1>, /* INTB */ 215*e7534e79SClaudiu Beznea <0 0 0 3 &pcie 0 0 0 2>, /* INTC */ 216*e7534e79SClaudiu Beznea <0 0 0 4 &pcie 0 0 0 3>; /* INTD */ 217*e7534e79SClaudiu Beznea clocks = <&cpg CPG_MOD R9A08G045_PCI_ACLK>, 218*e7534e79SClaudiu Beznea <&cpg CPG_MOD R9A08G045_PCI_CLKL1PM>; 219*e7534e79SClaudiu Beznea clock-names = "aclk", "pm"; 220*e7534e79SClaudiu Beznea resets = <&cpg R9A08G045_PCI_ARESETN>, 221*e7534e79SClaudiu Beznea <&cpg R9A08G045_PCI_RST_B>, 222*e7534e79SClaudiu Beznea <&cpg R9A08G045_PCI_RST_GP_B>, 223*e7534e79SClaudiu Beznea <&cpg R9A08G045_PCI_RST_PS_B>, 224*e7534e79SClaudiu Beznea <&cpg R9A08G045_PCI_RST_RSM_B>, 225*e7534e79SClaudiu Beznea <&cpg R9A08G045_PCI_RST_CFG_B>, 226*e7534e79SClaudiu Beznea <&cpg R9A08G045_PCI_RST_LOAD_B>; 227*e7534e79SClaudiu Beznea reset-names = "aresetn", "rst_b", "rst_gp_b", "rst_ps_b", 228*e7534e79SClaudiu Beznea "rst_rsm_b", "rst_cfg_b", "rst_load_b"; 229*e7534e79SClaudiu Beznea power-domains = <&cpg>; 230*e7534e79SClaudiu Beznea device_type = "pci"; 231*e7534e79SClaudiu Beznea #address-cells = <3>; 232*e7534e79SClaudiu Beznea #size-cells = <2>; 233*e7534e79SClaudiu Beznea renesas,sysc = <&sysc>; 234*e7534e79SClaudiu Beznea 235*e7534e79SClaudiu Beznea pcie@0,0 { 236*e7534e79SClaudiu Beznea reg = <0x0 0x0 0x0 0x0 0x0>; 237*e7534e79SClaudiu Beznea ranges; 238*e7534e79SClaudiu Beznea clocks = <&versa3 5>; 239*e7534e79SClaudiu Beznea clock-names = "ref"; 240*e7534e79SClaudiu Beznea device_type = "pci"; 241*e7534e79SClaudiu Beznea vendor-id = <0x1912>; 242*e7534e79SClaudiu Beznea device-id = <0x0033>; 243*e7534e79SClaudiu Beznea #address-cells = <3>; 244*e7534e79SClaudiu Beznea #size-cells = <2>; 245*e7534e79SClaudiu Beznea }; 246*e7534e79SClaudiu Beznea }; 247*e7534e79SClaudiu Beznea }; 248*e7534e79SClaudiu Beznea 249*e7534e79SClaudiu Beznea... 250