[U-Boot] [PATCH] pci: Fix expansion ROM programming for multi-function devices
Bin Meng
bmeng.cn at gmail.com
Wed Oct 7 11:13:18 CEST 2015
PCI_HEADER_TYPE register (offset 0x0e) bit 7 is an indicator
for multi-function devices. We should mask it off before using
it as the header type.
Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
---
drivers/pci/pci_auto.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pci/pci_auto.c b/drivers/pci/pci_auto.c
index 41d5447..79f27c7 100644
--- a/drivers/pci/pci_auto.c
+++ b/drivers/pci/pci_auto.c
@@ -185,6 +185,7 @@ void pciauto_setup_device(struct pci_controller *hose,
#ifndef CONFIG_PCI_ENUM_ONLY
/* Configure the expansion ROM address */
pci_hose_read_config_byte(hose, dev, PCI_HEADER_TYPE, &header_type);
+ header_type &= 0x7f;
if (header_type != PCI_HEADER_TYPE_CARDBUS) {
rom_addr = (header_type == PCI_HEADER_TYPE_NORMAL) ?
PCI_ROM_ADDRESS : PCI_ROM_ADDRESS1;
--
1.8.2.1
More information about the U-Boot
mailing list