Merge commit 'gnu/master' into test
[qemu] / hw / usb-ohci.c
index 09944d0..7c37f70 100644 (file)
@@ -32,6 +32,7 @@
 #include "usb.h"
 #include "pci.h"
 #include "pxa.h"
+#include "omap.h"
 #include "devices.h"
 
 //#define DEBUG_OHCI
@@ -62,6 +63,7 @@ typedef struct OHCIPort {
 enum ohci_type {
     OHCI_TYPE_PCI,
     OHCI_TYPE_PXA,
+    OHCI_TYPE_OMAP,
     OHCI_TYPE_SM501,
 };
 
@@ -1695,7 +1697,7 @@ static void usb_ohci_init(OHCIState *ohci, int num_ports, int devfn,
     }
 
     ohci->async_td = 0;
-    qemu_register_reset(ohci_reset, ohci);
+    qemu_register_reset(ohci_reset, 0, ohci);
     ohci_reset(ohci);
 }
 
@@ -1747,6 +1749,16 @@ void usb_ohci_init_pxa(target_phys_addr_t base, int num_ports, int devfn,
     cpu_register_physical_memory(base, 0x1000, ohci->mem);
 }
 
+void usb_ohci_init_omap(target_phys_addr_t base, uint32_t region_size,
+                       int num_ports, qemu_irq irq)
+{
+    OHCIState *ohci = (OHCIState *)qemu_mallocz(sizeof(OHCIState));
+    
+    usb_ohci_init(ohci, num_ports, -1, irq, OHCI_TYPE_OMAP, "OHCI USB" ,0);
+
+    cpu_register_physical_memory(base, 0x1000, ohci->mem);
+}
+
 void usb_ohci_init_sm501(uint32_t mmio_base, uint32_t localmem_base,
                          int num_ports, int devfn, qemu_irq irq)
 {