blob: 515ef89ce280da29d32b6402eabed74d5042d25c [file] [log] [blame]
# PCIe/new PCI configuration options
# Copyright (c) 2019 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
menuconfig PCIE
bool "New PCI/PCIe Root Complex support"
help
This option enables support for new PCI(e) drivers.
if PCIE
module = PCIE
module-str = pcie
source "subsys/logging/Kconfig.template.log_config"
config PCIE_INIT_PRIORITY
int "PCIe initialization priority"
default 41
help
PCIe host drivers initialization priority.
config PCIE_CONTROLLER
bool "PCIe Controller management"
help
Add support for PCIe Controller management when not handled by a
system firmware like on x86 platforms.
if PCIE_CONTROLLER
config PCIE_ECAM
bool "Support for PCIe ECAM Controllers"
help
Add support for Enhanced Configuration Address Mapping configured
PCIe Controllers allowing all outgoing I/O and MEM TLPs to be mapped
from memory space into any 256 MB region of the PCIe configuration space.
endif # PCIE_CONTROLLER
config PCIE_MSI
bool "Support for PCI(e) MSI"
help
Use Message-Signaled Interrupts where possible. With this option
enabled, PCI(e) devices which support MSI will be configured (at
runtime) to use them. This is typically required for PCIe devices
to generate interrupts at all.
if PCIE_MSI
config PCIE_MSI_MULTI_VECTOR
bool "MSI multi-vector support"
help
MSI can support up to 32 different messages. This will enable the
support of such capability so each message can get a vector
assigned to it. This will require for the selected architecture
to provide the necessary logic to make it work. Disable this if
the vectors cannot be managed by the hardware or if none of the
peripheral require this.
config PCIE_MSI_X
bool "MSI-X support"
help
If one or more device support MSI-X, you'll need to enable this.
If a device exposes support for both MSI-X and MSI, MSI-X will be
used and MSI disabled on that device. Enable PCIE_MSI_MULTI_VECTOR
if you want to support multi-vector on MSI-X as well.
endif # PCIE_MSI
config PCIE_PTM
bool "Support for PCI(e) Precision Time Management (PTM)"
help
This will enable support both PTM root and PTM requester features.
Up to the PCIe device driver to enable its PTM requester capability.
config PCIE_PRT
bool "Support for IRQ information retrieve via ACPI PRT (PCI Routing Table)"
default y if ACPI_DSDT_SUPPORT
help
This will enable retrieve interrupt routing information for PCI legacy
interrupt via ACPI PRT (PCI Routing Table)
config PCIE_SHELL
bool "PCIe/new PCI Shell"
depends on SHELL
help
Enable commands for debugging PCI(e) using the built-in shell.
endif # PCIE