# PCIe/new PCI configuration options

# Copyright (c) 2019 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig PCIE
	bool "Enable new PCI/PCIe Root Complex support"
	help
	  This option enables support for new PCI(e) drivers.

if PCIE

config PCIE_MSI
	bool "Enable 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.

config PCIE_SHELL
	bool "Enable PCIe/new PCI Shell"
	default y
	depends on SHELL
	help
	  Enable commands for debugging PCI(e) using the built-in shell.

endif # PCIE
