Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sh: dmaengine support for sh7724.

Add a dmaengine platform device to sh7724, fix DMA channel interrupt numbers.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>

authored by

Guennadi Liakhovetski and committed by
Paul Mundt
39b27f4c 718deb6b

+19 -4
+4 -4
arch/sh/include/cpu-sh4/cpu/dma-sh4a.h
··· 19 19 #elif defined(CONFIG_CPU_SUBTYPE_SH7723) || \ 20 20 defined(CONFIG_CPU_SUBTYPE_SH7724) 21 21 #define DMTE0_IRQ 48 /* DMAC0A*/ 22 - #define DMTE4_IRQ 40 /* DMAC0B */ 23 - #define DMTE6_IRQ 42 24 - #define DMTE8_IRQ 76 /* DMAC1A */ 25 - #define DMTE9_IRQ 77 22 + #define DMTE4_IRQ 76 /* DMAC0B */ 23 + #define DMTE6_IRQ 40 24 + #define DMTE8_IRQ 42 /* DMAC1A */ 25 + #define DMTE9_IRQ 43 26 26 #define DMTE10_IRQ 72 /* DMAC1B */ 27 27 #define DMTE11_IRQ 73 28 28 #define DMAE0_IRQ 78 /* DMA Error IRQ*/
+15
arch/sh/kernel/cpu/sh4a/setup-sh7724.c
··· 23 23 #include <linux/notifier.h> 24 24 #include <asm/suspend.h> 25 25 #include <asm/clock.h> 26 + #include <asm/dma-sh.h> 26 27 #include <asm/mmzone.h> 27 28 #include <cpu/sh7724.h> 29 + 30 + /* DMA */ 31 + static struct sh_dmae_pdata dma_platform_data = { 32 + .mode = SHDMA_DMAOR1, 33 + }; 34 + 35 + static struct platform_device dma_device = { 36 + .name = "sh-dma-engine", 37 + .id = -1, 38 + .dev = { 39 + .platform_data = &dma_platform_data, 40 + }, 41 + }; 28 42 29 43 /* Serial */ 30 44 static struct plat_sci_port scif0_platform_data = { ··· 663 649 &tmu3_device, 664 650 &tmu4_device, 665 651 &tmu5_device, 652 + &dma_device, 666 653 &rtc_device, 667 654 &iic0_device, 668 655 &iic1_device,