X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=payloads%2Flibpayload%2Fdrivers%2Fusb%2Fusbinit.c;h=3964197038aaf6fa2941623eaab3b87f60edaa63;hb=c4716b4ebfbcc970bf16f4c74e812fbbb8f00124;hp=50dbf9747090e3fb7c42680af4444915f5d9f2ee;hpb=4e1ac83bb61707210500a4bbf59c9aa6095e36b6;p=coreboot.git diff --git a/payloads/libpayload/drivers/usb/usbinit.c b/payloads/libpayload/drivers/usb/usbinit.c index 50dbf9747..396419703 100644 --- a/payloads/libpayload/drivers/usb/usbinit.c +++ b/payloads/libpayload/drivers/usb/usbinit.c @@ -31,7 +31,7 @@ #include #include "uhci.h" #include "ohci.h" -//#include "ehci.h" +#include "ehci.h" #include "xhci.h" #include @@ -70,41 +70,47 @@ usb_controller_initialize (int bus, int dev, int func) printf ("%02x:%02x.%x %04x:%04x.%d ", bus, dev, func, pciid >> 16, pciid & 0xFFFF, func); - if (prog_if == 0) { - printf ("UHCI controller\n"); + switch(prog_if) { + case 0x00: #ifdef CONFIG_USB_UHCI - uhci_init (addr); + printf ("UHCI controller\n"); + uhci_init (addr); #else - printf ("Not supported.\n"); + printf ("UHCI controller (not supported)\n"); #endif - } - if (prog_if == 0x10) { - printf ("OHCI controller\n"); + break; + + case 0x10: #ifdef CONFIG_USB_OHCI - ohci_init(addr); + printf ("OHCI controller\n"); + ohci_init(addr); #else - printf ("Not supported.\n"); + printf ("OHCI controller (not supported)\n"); #endif + break; - } - if (prog_if == 0x20) { - printf ("EHCI controller\n"); + case 0x20: #ifdef CONFIG_USB_EHCI - //ehci_init(addr); - printf ("Not supported.\n"); + printf ("EHCI controller\n"); + ehci_init(addr); #else - printf ("Not supported.\n"); + printf ("EHCI controller (not supported)\n"); #endif + break; - } - if (prog_if == 0x30) { - printf ("xHCI controller\n"); + case 0x30: #ifdef CONFIG_USB_XHCI - xhci_init(addr); + printf ("xHCI controller\n"); + xhci_init(addr); #else - printf ("Not supported.\n"); + printf ("xHCI controller (not supported)\n"); #endif + break; + default: + printf ("unknown controller %x not supported\n", + prog_if); + break; } }