/linux/Documentation/devicetree/bindings/pci/ |
H A D | host-generic-pci.yaml | 31 While ECAM extends this by 4 bits to accommodate 4k of function space: 38 description: Depends on the layout of configuration space (CAM vs ECAM 46 - const: pci-host-ecam-generic 51 some Cavium ThunderX processors. These devices have ECAM-based config 55 const: cavium,pci-host-thunder-ecam 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 69 that cover all config, MMIO and I/O spaces in a [mostly] ECAM [all …]
|
H A D | qcom,pcie-sa8255p.yaml | 7 title: Qualcomm SA8255p based firmware managed and ECAM compliant PCIe Root Complex 15 DesignWare PCIe IP which is managed by firmware, and configured in ECAM mode. 23 The base address and size of the ECAM area for accessing PCI
|
H A D | nvidia,tegra194-pcie.yaml | 39 - description: aperture to access the configuration space through ECAM. 48 - const: ecam 338 <0x24 0x30000000 0x0 0x10000000>; /* ECAM (256MB) */ 339 reg-names = "appl", "config", "atu_dma", "dbi", "ecam";
|
H A D | amazon,al-alpine-v3-pcie.yaml | 27 - description: PCIe ECAM space
|
/linux/drivers/pci/ |
H A D | ecam.c | 11 #include <linux/pci-ecam.h> 44 /* ECAM-compliant platforms need not supply ops->bus_shift */ in pci_ecam_create() 59 dev_warn(dev, "ECAM area %pR can only accommodate %pR (reduced from %pR desired)\n", in pci_ecam_create() 67 cfg->res.name = "PCI ECAM"; in pci_ecam_create() 72 dev_err(dev, "can't claim ECAM area %pR: address conflict with %s %pR\n", in pci_ecam_create() 92 dev_info(dev, "ECAM at %pR for %pR\n", &cfg->res, &cfg->busr); in pci_ecam_create() 96 dev_err(dev, "ECAM ioremap failed\n"); in pci_ecam_create() 199 /* ECAM ops */ 212 /* ECAM ops for 32-bit access only (non-compliant) */ 223 /* ECAM ops for 32-bit read only (non-compliant) */
|
H A D | Makefile | 32 obj-$(CONFIG_PCI_ECAM) += ecam.o
|
/linux/drivers/pci/controller/ |
H A D | pci-host-generic.c | 14 #include <linux/pci-ecam.h> 33 * The Synopsys DesignWare PCIe controller in ECAM mode will not filter in pci_dw_valid_device() 65 { .compatible = "pci-host-ecam-generic", 68 { .compatible = "marvell,armada8k-pcie-ecam", 71 { .compatible = "socionext,synquacer-pcie-ecam", 74 { .compatible = "snps,dw-pcie-ecam",
|
H A D | Makefile | 15 obj-$(CONFIG_PCI_HOST_THUNDER_ECAM) += pci-thunder-ecam.o 50 # pci_root.c driver but don't support standard ECAM config access. 51 # They contain MCFG quirks to replace the generic ECAM accessors with 61 obj-$(CONFIG_ARM64) += pci-thunder-ecam.o
|
H A D | pci-thunder-pem.c | 13 #include <linux/pci-ecam.h> 25 * Enhanced Configuration Access Mechanism (ECAM) 27 * N.B. This is a non-standard platform-specific ECAM bus shift value. For 29 * include/linux/pci-ecam.h.
|
H A D | pcie-xilinx-common.h | 7 #include <linux/pci-ecam.h>
|
H A D | pci-host-common.c | 15 #include <linux/pci-ecam.h>
|
/linux/Documentation/PCI/ |
H A D | acpi-info.rst | 52 the device-specific details. The host bridge registers also include ECAM 66 bridge registers (including ECAM space) in PNP0C02 catch-all devices [6]. 67 With the exception of ECAM, the bridge register space is device-specific 72 descriptors in the PNP0A03 device for bridge registers, including ECAM, 84 The PCIe spec requires the Enhanced Configuration Access Method (ECAM) 86 ia64 SAL interface [7]. A host bridge consumes ECAM memory address space 88 defines the ECAM address space layout and functionality; only the base of 92 The MCFG table must describe the ECAM space of non-hot pluggable host 94 a _CBA method in the PNP0A03 device describes the ECAM space of a 167 access to the Configuration Space, the ECAM is required as defined in
|
/linux/arch/loongarch/pci/ |
H A D | acpi.c | 11 #include <linux/pci-ecam.h> 120 cfg->res.name = "PCI ECAM"; in arch_pci_ecam_create() 125 dev_err(dev, "can't claim ECAM area %pR: address conflict with %s %pR\n", in arch_pci_ecam_create() 139 dev_info(dev, "ECAM at %pR for %pR\n", &cfg->res, &cfg->busr); in arch_pci_ecam_create() 145 dev_err(dev, "ECAM ioremap failed\n"); in arch_pci_ecam_create() 168 dev_err(dev, "%04x:%pR ECAM region not found, use default value\n", seg, bus_res); in pci_acpi_setup_ecam_mapping() 186 dev_err(dev, "%04x:%pR error %ld mapping ECAM\n", seg, bus_res, PTR_ERR(cfg)); in pci_acpi_setup_ecam_mapping()
|
/linux/include/linux/ |
H A D | pci-ecam.h | 18 * Enhanced Configuration Access Mechanism (ECAM) 57 * use ECAM. 69 struct device *parent;/* ECAM res was from this dev */ 81 /* default ECAM ops */
|
/linux/drivers/pci/controller/dwc/ |
H A D | pcie-hisi.c | 16 #include <linux/pci-ecam.h> 160 .compatible = "hisilicon,hip06-pcie-ecam", 164 .compatible = "hisilicon,hip07-pcie-ecam", 173 .name = "hisi-pcie-almost-ecam",
|
H A D | Makefile | 36 # pci_root.c driver but don't support standard ECAM config access. 37 # They contain MCFG quirks to replace the generic ECAM accessors with
|
H A D | pcie-al.c | 12 #include <linux/pci-ecam.h> 267 dev_warn(pcie->dev, "ECAM window size is larger than 256MB. Cutting off at 256\n"); in al_pcie_config_prepare()
|
H A D | pcie-tegra194-acpi.c | 12 #include <linux/pci-ecam.h>
|
/linux/Documentation/translations/zh_CN/PCI/ |
H A D | acpi-info.rst | 60 ECAM,尽管对[6]的严格解释可能禁止这样做。旧的x86和ia64内核假定所有的地址空间描述 69 型配置访问方法(ECAM)。主桥消耗ECAM内存地址空间并将内存访问转换为PCI配置访问。该规范
|
/linux/drivers/pci/controller/plda/ |
H A D | pcie-microchip-host.c | 21 #include <linux/pci-ecam.h> 299 static void mc_pcie_enable_msi(struct mc_pcie *port, void __iomem *ecam) in mc_pcie_enable_msi() argument 306 reg = readw_relaxed(ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_FLAGS); in mc_pcie_enable_msi() 308 writew_relaxed(reg, ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_FLAGS); in mc_pcie_enable_msi() 313 writew_relaxed(reg, ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_FLAGS); in mc_pcie_enable_msi() 317 ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_ADDRESS_LO); in mc_pcie_enable_msi() 319 ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_ADDRESS_HI); in mc_pcie_enable_msi()
|
/linux/arch/arm64/boot/dts/cavium/ |
H A D | thunder2-99xx.dtsi | 98 compatible = "pci-host-ecam-generic"; 104 /* ECAM at 0x3000_0000 - 0x4000_0000 */
|
/linux/arch/arm64/boot/dts/arm/ |
H A D | morello-sdp.dts | 113 compatible = "pci-host-ecam-generic"; 135 compatible = "pci-host-ecam-generic";
|
/linux/drivers/acpi/ |
H A D | pci_mcfg.c | 14 #include <linux/pci-ecam.h> 234 dev_info(&root->device->dev, "MCFG quirk: ECAM at %pR for %pR with %ps\n", in pci_mcfg_apply_quirks() 278 * Allow quirks to override default ECAM ops and CFG resource in pci_mcfg_lookup()
|
/linux/arch/xtensa/boot/dts/ |
H A D | virt.dts | 49 compatible = "pci-host-ecam-generic";
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | nxp,netc-blk-ctrl.yaml | 87 compatible = "pci-host-ecam-generic";
|