]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap2/usb-musb.c
Merge branch 'omap-fixes'
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap2 / usb-musb.c
index 327af7d494fecad537946ef31deccdcf2d42a5e1..927c2d91a036c15ec7d741bb1d822bc1be8f770b 100644 (file)
@@ -22,8 +22,7 @@
 #include <linux/platform_device.h>
 #include <linux/clk.h>
 #include <linux/dma-mapping.h>
-
-#include <asm/io.h>
+#include <linux/io.h>
 
 #include <linux/usb/musb.h>
 
@@ -146,6 +145,20 @@ static struct platform_device musb_device = {
        .resource       = musb_resources,
 };
 
+#ifdef CONFIG_NOP_USB_XCEIV
+static u64 nop_xceiv_dmamask = DMA_32BIT_MASK;
+
+static struct platform_device nop_xceiv_device = {
+       .name           = "nop_usb_xceiv",
+       .id             = -1,
+       .dev = {
+               .dma_mask               = &nop_xceiv_dmamask,
+               .coherent_dma_mask      = DMA_32BIT_MASK,
+               .platform_data          = NULL,
+       },
+};
+#endif
+
 void __init usb_musb_init(void)
 {
        if (cpu_is_omap243x()) {
@@ -158,6 +171,13 @@ void __init usb_musb_init(void)
 
        musb_resources[0].end = musb_resources[0].start + SZ_8K - 1;
 
+#ifdef CONFIG_NOP_USB_XCEIV
+       if (platform_device_register(&nop_xceiv_device) < 0) {
+               printk(KERN_ERR "Unable to register NOP-XCEIV device\n");
+               return;
+       }
+#endif
+
        if (platform_device_register(&musb_device) < 0) {
                printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n");
                return;