Home
last modified time | relevance | path

Searched full:ecam (Results 1 – 25 of 86) sorted by relevance

1234

/openbmc/linux/Documentation/devicetree/bindings/pci/
H A Dhost-generic-pci.yaml31 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 Dnvidia,tegra194-pcie.yaml39 - 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";
/openbmc/linux/drivers/pci/controller/
H A Dpci-host-generic.c14 #include <linux/pci-ecam.h>
31 * The Synopsys DesignWare PCIe controller in ECAM mode will not filter in pci_dw_valid_device()
63 { .compatible = "pci-host-ecam-generic",
66 { .compatible = "marvell,armada8k-pcie-ecam",
69 { .compatible = "socionext,synquacer-pcie-ecam",
72 { .compatible = "snps,dw-pcie-ecam",
H A DMakefile15 obj-$(CONFIG_PCI_HOST_THUNDER_ECAM) += pci-thunder-ecam.o
49 # pci_root.c driver but don't support standard ECAM config access.
50 # They contain MCFG quirks to replace the generic ECAM accessors with
60 obj-$(CONFIG_ARM64) += pci-thunder-ecam.o
H A Dpci-thunder-pem.c13 #include <linux/pci-ecam.h>
24 * Enhanced Configuration Access Mechanism (ECAM)
26 * N.B. This is a non-standard platform-specific ECAM bus shift value. For
28 * include/linux/pci-ecam.h.
H A Dpcie-microchip-host.c18 #include <linux/pci-ecam.h>
389 static void mc_pcie_enable_msi(struct mc_pcie *port, void __iomem *ecam) in mc_pcie_enable_msi() argument
396 reg = readw_relaxed(ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_FLAGS); in mc_pcie_enable_msi()
398 writew_relaxed(reg, ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_FLAGS); in mc_pcie_enable_msi()
403 writew_relaxed(reg, ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_FLAGS); in mc_pcie_enable_msi()
407 ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_ADDRESS_LO); in mc_pcie_enable_msi()
409 ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_ADDRESS_HI); in mc_pcie_enable_msi()
H A Dpcie-xilinx-cpm.c21 #include <linux/pci-ecam.h>
334 _IC(CFG_TIMEOUT, "ECAM access timeout"),
346 _IC(CFG_PCIE_TIMEOUT, "PCIe ECAM access timeout"),
347 _IC(CFG_ERR_POISON, "ECAM poisoned completion received"),
/openbmc/linux/drivers/pci/
H A Decam.c11 #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) */
/openbmc/linux/Documentation/PCI/
H A Dacpi-info.rst52 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
/openbmc/linux/include/linux/
H A Dpci-ecam.h18 * Enhanced Configuration Access Mechanism (ECAM)
53 * use ECAM.
65 struct device *parent;/* ECAM res was from this dev */
77 /* default ECAM ops */
94 /* for DT-based PCI controllers that support ECAM */
/openbmc/linux/arch/loongarch/pci/
H A Dacpi.c11 #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()
/openbmc/linux/arch/arm64/kernel/
H A Dpci.c16 #include <linux/pci-ecam.h>
141 dev_err(dev, "%04x:%pR ECAM region not found\n", seg, bus_res); in pci_acpi_setup_ecam_mapping()
147 dev_info(dev, "ECAM area %pR reserved by %s\n", &cfgres, in pci_acpi_setup_ecam_mapping()
150 dev_warn(dev, FW_BUG "ECAM area %pR not reserved in ACPI namespace\n", in pci_acpi_setup_ecam_mapping()
155 dev_err(dev, "%04x:%pR error %ld mapping ECAM\n", seg, bus_res, in pci_acpi_setup_ecam_mapping()
/openbmc/qemu/include/hw/pci-host/
H A Dgpex.h44 MemMapEntry ecam; member
78 #define PCI_HOST_ECAM_BASE "x-ecam-base"
79 #define PCI_HOST_ECAM_SIZE "x-ecam-size"
/openbmc/linux/drivers/pci/controller/dwc/
H A Dpcie-hisi.c16 #include <linux/pci-ecam.h>
159 .compatible = "hisilicon,hip06-pcie-ecam",
163 .compatible = "hisilicon,hip07-pcie-ecam",
172 .name = "hisi-pcie-almost-ecam",
H A DMakefile31 # pci_root.c driver but don't support standard ECAM config access.
32 # They contain MCFG quirks to replace the generic ECAM accessors with
/openbmc/qemu/hw/pci-host/
H A Dgpex-acpi.c131 int nr_pcie_buses = cfg->ecam.size / PCIE_MMCFG_SIZE_MIN; in acpi_dsdt_add_gpex()
215 aml_append(method, aml_return(aml_int(cfg->ecam.base))); in acpi_dsdt_add_gpex()
278 cfg->ecam.base, in acpi_dsdt_add_gpex()
279 cfg->ecam.base + cfg->ecam.size - 1, in acpi_dsdt_add_gpex()
281 cfg->ecam.size)); in acpi_dsdt_add_gpex()
/openbmc/linux/arch/arm64/boot/dts/cavium/
H A Dthunder2-99xx.dtsi98 compatible = "pci-host-ecam-generic";
104 /* ECAM at 0x3000_0000 - 0x4000_0000 */
106 reg-names = "PCI ECAM";
/openbmc/qemu/docs/system/i386/
H A Dxenpvh.rst48 …483648,ram-high-base=4294967296,ram-high-size=2147483648,pci-ecam-base=824633720832,pci-ecam-size=…
/openbmc/linux/Documentation/translations/zh_CN/PCI/
H A Dacpi-info.rst60 ECAM,尽管对[6]的严格解释可能禁止这样做。旧的x86和ia64内核假定所有的地址空间描述
69 型配置访问方法(ECAM)。主桥消耗ECAM内存地址空间并将内存访问转换为PCI配置访问。该规范
/openbmc/u-boot/drivers/pci/
H A DKconfig55 bool "Generic ECAM-based PCI host controller support"
59 Say Y here if you want to enable support for generic ECAM-based
/openbmc/qemu/hw/i386/
H A Dmicrovm.c113 /* Map only the first size_ecam bytes of ECAM space */ in create_gpex()
116 memory_region_init_alias(ecam_alias, OBJECT(dev), "pcie-ecam", in create_gpex()
117 ecam_reg, 0, mms->gpex.ecam.size); in create_gpex()
119 mms->gpex.ecam.base, ecam_alias); in create_gpex()
239 mms->gpex.ecam.base = PCIE_ECAM_BASE; in microvm_devices_init()
240 mms->gpex.ecam.size = PCIE_ECAM_SIZE; in microvm_devices_init()
H A Dmicrovm-dt.c7 * The use case is to allow edk2 find the pcie ecam and the virtio
13 * Also pci ecam irq routing is not there, edk2 doesn't use
114 "compatible", "pci-host-ecam-generic"); in dt_add_pcie()
/openbmc/qemu/hw/xtensa/
H A Dvirt.c67 /* Map only the first size_ecam bytes of ECAM space. */ in create_pcie()
70 memory_region_init_alias(ecam_alias, OBJECT(dev), "pcie-ecam", in create_pcie()
/openbmc/u-boot/arch/x86/include/asm/arch-qemu/
H A Dqemu.h24 /* PCIe ECAM Base Address Register */
/openbmc/linux/drivers/acpi/
H A Dpci_mcfg.c14 #include <linux/pci-ecam.h>
222 dev_info(&root->device->dev, "MCFG quirk: ECAM at %pR for %pR with %ps\n", in pci_mcfg_apply_quirks()
266 * Allow quirks to override default ECAM ops and CFG resource in pci_mcfg_lookup()

1234