# 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

