Add Kconfig options to override Subsystem Vendor and Device ID

These can typically be set in the devicetree but we need a way to
override those values with a Kconfig setting so as not to expose
the Vendor ID before the product has launched.

Change-Id: Ib382e6d9359d24b128c693a657ffde52604efad3
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/65310
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/4455
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Duncan Laurie 2013-08-09 07:55:10 -07:00 committed by Patrick Georgi
parent d538e8fb00
commit 7e1c83e31b
2 changed files with 20 additions and 0 deletions

View File

@ -503,3 +503,19 @@ config PXE_ROM_ID
Under GNU/Linux you can run `lspci -nn` to list the IDs of your PCI devices.
endmenu
config SUBSYSTEM_VENDOR_ID
hex "Override PCI Subsystem Vendor ID"
depends on PCI
default "0x0000"
help
This config option will override the devicetree settings for
PCI Subsystem Vendor ID.
config SUBSYSTEM_DEVICE_ID
hex "Override PCI Subsystem Device ID"
depends on PCI
default "0x0000"
help
This config option will override the devicetree settings for
PCI Subsystem Device ID.

View File

@ -599,6 +599,10 @@ void pci_dev_enable_resources(struct device *dev)
/* Set the subsystem vendor and device ID for mainboard devices. */
ops = ops_pci(dev);
if (dev->on_mainboard && ops && ops->set_subsystem) {
if (CONFIG_SUBSYSTEM_VENDOR_ID)
dev->subsystem_vendor = CONFIG_SUBSYSTEM_VENDOR_ID;
if (CONFIG_SUBSYSTEM_DEVICE_ID)
dev->subsystem_device = CONFIG_SUBSYSTEM_DEVICE_ID;
printk(BIOS_DEBUG, "%s subsystem <- %04x/%04x\n",
dev_path(dev), dev->subsystem_vendor,
dev->subsystem_device);