# Kconfig - PCI configuration options

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


menuconfig PCI
	bool
	prompt "PCI Settings"
	depends on X86
	help
	  This options enables support of PCI bus for device drivers.

if PCI
config PCI_ENUMERATION
	bool
	prompt "Enable PCI device enumeration"
	default n
	help
	  This option enables the PCI enumeration for device drivers.
	  This might be useful along with PCI_DEBUG to find out which
	  are the PCI settings of the devices. Once those are known and
	  statically set in every relevant driver's configuration, it
	  might be wise to disable this option to remove useless code.

config PCI_LEGACY_BRIDGE
	bool
	prompt "PCI legacy bridge device support"
	default n
	help
	  This option adds support for PCI legacy bridge device, that
	  allows direct setup of the PCI interrupt pin to IRQ number
	  mapping.

config PCI_LEGACY_BRIDGE_BUS
	int "PCI Legacy Bridge Bus number"
	depends on PCI_LEGACY_BRIDGE
	default 0

config PCI_LEGACY_BRIDGE_DEV
	int "PCI Legacy Bridge Device number"
	depends on PCI_LEGACY_BRIDGE
	default 0

config PCI_LEGACY_BRIDGE_VENDOR_ID
	hex "PCI Legacy Bridge Vendor ID"
	depends on PCI_LEGACY_BRIDGE
	default 0

config PCI_LEGACY_BRIDGE_DEVICE_ID
	hex "PCI Legacy Bridge Device ID"
	depends on PCI_LEGACY_BRIDGE
	default 0

config PCI_DEBUG
	bool
	prompt "Enable PCI debugging"
	default n
	help
	  This options enables PCI debugging functions

endif

