diff options
Diffstat (limited to 'src/southbridge/amd/amd8111/amd8111.c')
-rw-r--r-- | src/southbridge/amd/amd8111/amd8111.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/southbridge/amd/amd8111/amd8111.c b/src/southbridge/amd/amd8111/amd8111.c index afb02f1fec..a9b132cdaf 100644 --- a/src/southbridge/amd/amd8111/amd8111.c +++ b/src/southbridge/amd/amd8111/amd8111.c @@ -9,9 +9,11 @@ void amd8111_enable(device_t dev) device_t lpc_dev; device_t bus_dev; unsigned index; + uint32_t dword; uint16_t reg_old, reg; uint8_t byte; + /* See if we are on the behind the amd8111 pci bridge */ bus_dev = dev->bus->dev; if ((bus_dev->vendor == PCI_VENDOR_ID_AMD) && @@ -39,8 +41,13 @@ void amd8111_enable(device_t dev) } } - if ((dev->vendor == PCI_VENDOR_ID_AMD) && - (dev->device == PCI_DEVICE_ID_AMD_8111_USB2)) { + /* Now read the vendor and device id */ + dword= pci_read_config32(dev, PCI_VENDOR_ID); +#if 0 + printk_debug(" %s dev->vendor= %04x, dev->device= %04x, id = %08x\n", dev_path(dev), dev->vendor, dev->device, dword); +#endif + + if (dword == (PCI_VENDOR_ID_AMD | (PCI_DEVICE_ID_AMD_8111_USB2 << 16))) { if(!dev->enabled) { byte = pci_read_config8(lpc_dev, 0x47); byte |= (1<<7); |