Lines Matching +full:pci +full:- +full:host +full:- +full:cam +full:- +full:generic
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/pci/host-generic-pci.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Generic PCI host controller
10 - Will Deacon <will@kernel.org>
13 Firmware-initialised PCI host controllers and PCI emulations, such as the
14 virtio-pci implementations found in kvmtool and other para-virtualised
21 Configuration Space is assumed to be memory-mapped (as opposed to being
23 geography of a PCI bus address by concatenating the various components to
26 For CAM, this 24-bit offset is:
38 description: Depends on the layout of configuration space (CAM vs ECAM
41 - description:
42 PCIe host controller in Arm Juno based on PLDA XpressRICH3-AXI IP
44 - const: arm,juno-r1-pcie
45 - const: plda,xpressrich3-axi
46 - const: pci-host-ecam-generic
47 - description: |
48 ThunderX PCI host controller for pass-1.x silicon
50 Firmware-initialized PCI host controller to on-chip devices found on
51 some Cavium ThunderX processors. These devices have ECAM-based config
55 const: cavium,pci-host-thunder-ecam
56 - description:
57 Cavium ThunderX PEM firmware-initialized PCIe host controller
58 const: cavium,pci-host-thunder-pem
59 - description:
60 HiSilicon Hip06/Hip07 PCIe host bridge in almost-ECAM mode. Some
61 firmware places the host controller in a mode where it is ECAM
64 - hisilicon,hip06-pcie-ecam
65 - hisilicon,hip07-pcie-ecam
66 - description: |
76 of 64 KB, it cannot be supported by the generic ECAM driver, because
80 - enum:
81 - marvell,armada8k-pcie-ecam
82 - socionext,synquacer-pcie-ecam
83 - const: snps,dw-pcie-ecam
84 - description:
85 CAM or ECAM compliant PCI host controllers without any quirks
87 - pci-host-cam-generic
88 - pci-host-ecam-generic
93 bus. The base address corresponds to the first bus in the "bus-range"
94 property. If no "bus-range" is specified, this will be bus 0 (the
95 default). Some host controllers have a 2nd non-compliant address range,
102 As described in IEEE Std 1275-1994, but must provide at least a
103 definition of non-prefetchable memory. One or both of prefetchable Memory
108 dma-coherent: true
109 iommu-map: true
110 iommu-map-mask: true
111 msi-parent: true
114 - compatible
115 - reg
116 - ranges
119 - $ref: /schemas/pci/pci-bus.yaml#
120 - if:
124 const: arm,juno-r1-pcie
127 - dma-coherent
129 - if:
135 - cavium,pci-host-thunder-pem
136 - hisilicon,hip06-pcie-ecam
137 - hisilicon,hip07-pcie-ecam
146 - |
149 #address-cells = <2>;
150 #size-cells = <2>;
152 compatible = "pci-host-cam-generic";
153 device_type = "pci";
154 #address-cells = <3>;
155 #size-cells = <2>;
156 bus-range = <0x0 0x1>;
165 #interrupt-cells = <0x1>;
168 interrupt-map = < 0x0 0x0 0x0 0x1 &gic 0x0 0x4 0x1>,
174 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;