1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*833e5d42SEmmanuel Vadot%YAML 1.2 3*833e5d42SEmmanuel Vadot--- 4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/pci/qcom,pcie-sa8255p.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: Qualcomm SA8255p based firmware managed and ECAM compliant PCIe Root Complex 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotmaintainers: 10*833e5d42SEmmanuel Vadot - Bjorn Andersson <andersson@kernel.org> 11*833e5d42SEmmanuel Vadot - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 12*833e5d42SEmmanuel Vadot 13*833e5d42SEmmanuel Vadotdescription: 14*833e5d42SEmmanuel Vadot Qualcomm SA8255p SoC PCIe root complex controller is based on the Synopsys 15*833e5d42SEmmanuel Vadot DesignWare PCIe IP which is managed by firmware, and configured in ECAM mode. 16*833e5d42SEmmanuel Vadot 17*833e5d42SEmmanuel Vadotproperties: 18*833e5d42SEmmanuel Vadot compatible: 19*833e5d42SEmmanuel Vadot const: qcom,pcie-sa8255p 20*833e5d42SEmmanuel Vadot 21*833e5d42SEmmanuel Vadot reg: 22*833e5d42SEmmanuel Vadot description: 23*833e5d42SEmmanuel Vadot The base address and size of the ECAM area for accessing PCI 24*833e5d42SEmmanuel Vadot Configuration Space, as accessed from the parent bus. The base 25*833e5d42SEmmanuel Vadot address corresponds to the first bus in the "bus-range" property. If 26*833e5d42SEmmanuel Vadot no "bus-range" is specified, this will be bus 0 (the default). 27*833e5d42SEmmanuel Vadot maxItems: 1 28*833e5d42SEmmanuel Vadot 29*833e5d42SEmmanuel Vadot ranges: 30*833e5d42SEmmanuel Vadot description: 31*833e5d42SEmmanuel Vadot As described in IEEE Std 1275-1994, but must provide at least a 32*833e5d42SEmmanuel Vadot definition of non-prefetchable memory. One or both of prefetchable Memory 33*833e5d42SEmmanuel Vadot may also be provided. 34*833e5d42SEmmanuel Vadot minItems: 1 35*833e5d42SEmmanuel Vadot maxItems: 2 36*833e5d42SEmmanuel Vadot 37*833e5d42SEmmanuel Vadot interrupts: 38*833e5d42SEmmanuel Vadot minItems: 8 39*833e5d42SEmmanuel Vadot maxItems: 8 40*833e5d42SEmmanuel Vadot 41*833e5d42SEmmanuel Vadot interrupt-names: 42*833e5d42SEmmanuel Vadot items: 43*833e5d42SEmmanuel Vadot - const: msi0 44*833e5d42SEmmanuel Vadot - const: msi1 45*833e5d42SEmmanuel Vadot - const: msi2 46*833e5d42SEmmanuel Vadot - const: msi3 47*833e5d42SEmmanuel Vadot - const: msi4 48*833e5d42SEmmanuel Vadot - const: msi5 49*833e5d42SEmmanuel Vadot - const: msi6 50*833e5d42SEmmanuel Vadot - const: msi7 51*833e5d42SEmmanuel Vadot 52*833e5d42SEmmanuel Vadot power-domains: 53*833e5d42SEmmanuel Vadot maxItems: 1 54*833e5d42SEmmanuel Vadot 55*833e5d42SEmmanuel Vadot dma-coherent: true 56*833e5d42SEmmanuel Vadot iommu-map: true 57*833e5d42SEmmanuel Vadot 58*833e5d42SEmmanuel Vadotrequired: 59*833e5d42SEmmanuel Vadot - compatible 60*833e5d42SEmmanuel Vadot - reg 61*833e5d42SEmmanuel Vadot - ranges 62*833e5d42SEmmanuel Vadot - power-domains 63*833e5d42SEmmanuel Vadot - interrupts 64*833e5d42SEmmanuel Vadot - interrupt-names 65*833e5d42SEmmanuel Vadot 66*833e5d42SEmmanuel VadotallOf: 67*833e5d42SEmmanuel Vadot - $ref: /schemas/pci/pci-host-bridge.yaml# 68*833e5d42SEmmanuel Vadot 69*833e5d42SEmmanuel VadotunevaluatedProperties: false 70*833e5d42SEmmanuel Vadot 71*833e5d42SEmmanuel Vadotexamples: 72*833e5d42SEmmanuel Vadot - | 73*833e5d42SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 74*833e5d42SEmmanuel Vadot 75*833e5d42SEmmanuel Vadot soc { 76*833e5d42SEmmanuel Vadot #address-cells = <2>; 77*833e5d42SEmmanuel Vadot #size-cells = <2>; 78*833e5d42SEmmanuel Vadot 79*833e5d42SEmmanuel Vadot pci@1c00000 { 80*833e5d42SEmmanuel Vadot compatible = "qcom,pcie-sa8255p"; 81*833e5d42SEmmanuel Vadot reg = <0x4 0x00000000 0 0x10000000>; 82*833e5d42SEmmanuel Vadot device_type = "pci"; 83*833e5d42SEmmanuel Vadot #address-cells = <3>; 84*833e5d42SEmmanuel Vadot #size-cells = <2>; 85*833e5d42SEmmanuel Vadot ranges = <0x02000000 0x0 0x40100000 0x0 0x40100000 0x0 0x1ff00000>, 86*833e5d42SEmmanuel Vadot <0x43000000 0x4 0x10100000 0x4 0x10100000 0x0 0x40000000>; 87*833e5d42SEmmanuel Vadot bus-range = <0x00 0xff>; 88*833e5d42SEmmanuel Vadot dma-coherent; 89*833e5d42SEmmanuel Vadot linux,pci-domain = <0>; 90*833e5d42SEmmanuel Vadot power-domains = <&scmi5_pd 0>; 91*833e5d42SEmmanuel Vadot iommu-map = <0x0 &pcie_smmu 0x0000 0x1>, 92*833e5d42SEmmanuel Vadot <0x100 &pcie_smmu 0x0001 0x1>; 93*833e5d42SEmmanuel Vadot interrupt-parent = <&intc>; 94*833e5d42SEmmanuel Vadot interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>, 95*833e5d42SEmmanuel Vadot <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>, 96*833e5d42SEmmanuel Vadot <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>, 97*833e5d42SEmmanuel Vadot <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>, 98*833e5d42SEmmanuel Vadot <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>, 99*833e5d42SEmmanuel Vadot <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>, 100*833e5d42SEmmanuel Vadot <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>, 101*833e5d42SEmmanuel Vadot <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>; 102*833e5d42SEmmanuel Vadot interrupt-names = "msi0", "msi1", "msi2", "msi3", 103*833e5d42SEmmanuel Vadot "msi4", "msi5", "msi6", "msi7"; 104*833e5d42SEmmanuel Vadot 105*833e5d42SEmmanuel Vadot #interrupt-cells = <1>; 106*833e5d42SEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 107*833e5d42SEmmanuel Vadot interrupt-map = <0 0 0 1 &intc GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, 108*833e5d42SEmmanuel Vadot <0 0 0 2 &intc GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>, 109*833e5d42SEmmanuel Vadot <0 0 0 3 &intc GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>, 110*833e5d42SEmmanuel Vadot <0 0 0 4 &intc GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 111*833e5d42SEmmanuel Vadot 112*833e5d42SEmmanuel Vadot pcie@0 { 113*833e5d42SEmmanuel Vadot device_type = "pci"; 114*833e5d42SEmmanuel Vadot reg = <0x0 0x0 0x0 0x0 0x0>; 115*833e5d42SEmmanuel Vadot bus-range = <0x01 0xff>; 116*833e5d42SEmmanuel Vadot 117*833e5d42SEmmanuel Vadot #address-cells = <3>; 118*833e5d42SEmmanuel Vadot #size-cells = <2>; 119*833e5d42SEmmanuel Vadot ranges; 120*833e5d42SEmmanuel Vadot }; 121*833e5d42SEmmanuel Vadot }; 122*833e5d42SEmmanuel Vadot }; 123