summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Rottmann <JRottmann@LiPPERTEmbedded.de>2010-09-03 14:54:50 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2010-09-03 14:54:50 +0000
commit4e1ac83bb61707210500a4bbf59c9aa6095e36b6 (patch)
treef393e0fc5af87359293cc5a3dbd8be0fff8703cc
parent3cf287dab0d71cc7bfa864609016c47f3310a9e3 (diff)
The AMD CS5536's USB controllers are located at device 0F, functions 4
and 5. They're not found if only function 0 is checked. So if a device exists at all, try all its functions. usb_controller_initialize() will silently skip all device classes != 0C03. (changed to continue to use 32bit accesses -pg) Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5774 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--payloads/libpayload/drivers/usb/usbinit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/payloads/libpayload/drivers/usb/usbinit.c b/payloads/libpayload/drivers/usb/usbinit.c
index 9c8063a3cb..50dbf97470 100644
--- a/payloads/libpayload/drivers/usb/usbinit.c
+++ b/payloads/libpayload/drivers/usb/usbinit.c
@@ -126,7 +126,7 @@ usb_initialize (void)
*/
for (bus = 0; bus < 256; bus++)
for (dev = 0; dev < 32; dev++)
- if (pci_read_config32 (PCI_DEV(bus, dev, 0), 8) >> 16 == 0x0c03)
+ if (pci_read_config32 (PCI_DEV(bus, dev, 0), 8) >> 16 != 0xffff)
for (func = 7; func >= 0 ; func--)
usb_controller_initialize (bus, dev, func);
usb_poll();