]> pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
ARM: OMAP: musb_hdrc: tusb dma patch, minor
authorDavid Brownell <dbrownell@users.sourceforge.net>
Mon, 11 Dec 2006 21:25:08 +0000 (13:25 -0800)
committerTony Lindgren <tony@atomide.com>
Wed, 4 Apr 2007 14:32:00 +0000 (10:32 -0400)
Move all DMAREQ for TUSB6010 into its chip setup; it shouldn't be in
either the board-specific code, or the tusb6010 glue.  (Note, we still
aren't passing the "which channels" info to the driver...)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/board-h4.c
arch/arm/mach-omap2/usb-tusb6010.c

index 100aea47fa300b7c59c833e0c508eb9fef91a4f3..e85bbebe900cb2dc62bbab673d561ec1b8229ae4 100644 (file)
@@ -476,9 +476,10 @@ static void __init tusb_evm_setup(void)
                 */
                omap_cfg_reg(J15_24XX_GPIO99);
                irq = 99;
-               omap_cfg_reg(AA10_242X_DMAREQ0);
-               omap_cfg_reg(AA6_242X_DMAREQ1);
                dmachan = (1 << 1) | (1 << 0);
+#if !(defined(CONFIG_MTD_OMAP_NOR) || defined(CONFIG_MTD_OMAP_NOR_MODULE))
+               dmachan |= (1 << 5) | (1 << 4) (1 << 3) | (1 << 2);
+#endif
                break;
        }
 
index 5f276c5e442418059cdd91d5d984f6090ad0e938..497f7333c238b2d6cf8302ebb8301623911d5eef 100644 (file)
@@ -17,6 +17,7 @@
 
 #include <asm/arch/gpmc.h>
 #include <asm/arch/gpio.h>
+#include <asm/arch/mux.h>
 
 
 static u8              async_cs, sync_cs;
@@ -322,6 +323,21 @@ tusb6010_setup_interface(struct musb_hdrc_platform_data *data,
        /* REVISIT let the driver know what DMA channels work */
        if (!dmachan)
                tusb_device.dev.dma_mask = NULL;
+       else {
+               /* assume OMAP 2420 ES2.0 and later */
+               if (dmachan & (1 << 0))
+                       omap_cfg_reg(AA10_242X_DMAREQ0);
+               if (dmachan & (1 << 1))
+                       omap_cfg_reg(AA6_242X_DMAREQ1);
+               if (dmachan & (1 << 2))
+                       omap_cfg_reg(E4_242X_DMAREQ2);
+               if (dmachan & (1 << 3))
+                       omap_cfg_reg(G4_242X_DMAREQ3);
+               if (dmachan & (1 << 4))
+                       omap_cfg_reg(D3_242X_DMAREQ4);
+               if (dmachan & (1 << 5))
+                       omap_cfg_reg(E3_242X_DMAREQ5);
+       }
 
        /* so far so good ... register the device */
        status = platform_device_register(&tusb_device);