diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-06-14 11:56:52 -0400 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-06-30 02:59:58 -0400 |
commit | 9f72ffedc8409b9c9cbe17a9f66c2982baa4ff52 (patch) | |
tree | f996492cf0eebe5bb6f164776db25865c7ab8991 /arch | |
parent | e780d2392dd37fcc231d97400c1cdd8d261ed556 (diff) |
ARM: imx: new Kconfig symbol and feature test macro for DMA on mx1 and mx2
This should be used instead of hard coding the corresponding platforms.
The feature test macro is needed to support different SOCs in a single
kernel image. While at it rename dma-mx1-mx2 to dma-v1 as mx25 doesn't
use it and so the mx2 part is wrong and move the header to
arch/arm/mach-imx.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-imx/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/mach-imx/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/dma-v1.c (renamed from arch/arm/plat-mxc/dma-mx1-mx2.c) | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/include/mach/dma-mx1-mx2.h | 10 | ||||
-rw-r--r-- | arch/arm/mach-imx/include/mach/dma-v1.h (renamed from arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h) | 10 | ||||
-rw-r--r-- | arch/arm/plat-mxc/Makefile | 2 |
6 files changed, 26 insertions, 8 deletions
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 5edead235bd1..73c70af35fc8 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -1,7 +1,11 @@ | |||
1 | config IMX_HAVE_DMA_V1 | ||
2 | bool | ||
3 | |||
1 | if ARCH_MX1 | 4 | if ARCH_MX1 |
2 | 5 | ||
3 | config SOC_IMX1 | 6 | config SOC_IMX1 |
4 | select CPU_ARM920T | 7 | select CPU_ARM920T |
8 | select IMX_HAVE_DMA_V1 | ||
5 | select IMX_HAVE_IOMUX_V1 | 9 | select IMX_HAVE_IOMUX_V1 |
6 | bool | 10 | bool |
7 | 11 | ||
@@ -27,12 +31,14 @@ if ARCH_MX2 | |||
27 | config SOC_IMX21 | 31 | config SOC_IMX21 |
28 | select CPU_ARM926T | 32 | select CPU_ARM926T |
29 | select ARCH_MXC_AUDMUX_V1 | 33 | select ARCH_MXC_AUDMUX_V1 |
34 | select IMX_HAVE_DMA_V1 | ||
30 | select IMX_HAVE_IOMUX_V1 | 35 | select IMX_HAVE_IOMUX_V1 |
31 | bool | 36 | bool |
32 | 37 | ||
33 | config SOC_IMX27 | 38 | config SOC_IMX27 |
34 | select CPU_ARM926T | 39 | select CPU_ARM926T |
35 | select ARCH_MXC_AUDMUX_V1 | 40 | select ARCH_MXC_AUDMUX_V1 |
41 | select IMX_HAVE_DMA_V1 | ||
36 | select IMX_HAVE_IOMUX_V1 | 42 | select IMX_HAVE_IOMUX_V1 |
37 | bool | 43 | bool |
38 | 44 | ||
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index e56a1191c9df..86b53e6bc94e 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile | |||
@@ -6,6 +6,8 @@ | |||
6 | 6 | ||
7 | obj-y := devices.o | 7 | obj-y := devices.o |
8 | 8 | ||
9 | obj-$(CONFIG_IMX_HAVE_DMA_V1) += dma-v1.o | ||
10 | |||
9 | obj-$(CONFIG_ARCH_MX1) += clock-imx1.o mm-imx1.o | 11 | obj-$(CONFIG_ARCH_MX1) += clock-imx1.o mm-imx1.o |
10 | obj-$(CONFIG_MACH_MX21) += clock-imx21.o mm-imx21.o | 12 | obj-$(CONFIG_MACH_MX21) += clock-imx21.o mm-imx21.o |
11 | 13 | ||
diff --git a/arch/arm/plat-mxc/dma-mx1-mx2.c b/arch/arm/mach-imx/dma-v1.c index e16014b0d13c..fd1d9197d06e 100644 --- a/arch/arm/plat-mxc/dma-mx1-mx2.c +++ b/arch/arm/mach-imx/dma-v1.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/arch/arm/plat-mxc/dma-mx1-mx2.c | 2 | * linux/arch/arm/plat-mxc/dma-v1.c |
3 | * | 3 | * |
4 | * i.MX DMA registration and IRQ dispatching | 4 | * i.MX DMA registration and IRQ dispatching |
5 | * | 5 | * |
@@ -34,7 +34,7 @@ | |||
34 | #include <asm/system.h> | 34 | #include <asm/system.h> |
35 | #include <asm/irq.h> | 35 | #include <asm/irq.h> |
36 | #include <mach/hardware.h> | 36 | #include <mach/hardware.h> |
37 | #include <mach/dma-mx1-mx2.h> | 37 | #include <mach/dma-v1.h> |
38 | 38 | ||
39 | #define DMA_DCR 0x00 /* Control Register */ | 39 | #define DMA_DCR 0x00 /* Control Register */ |
40 | #define DMA_DISR 0x04 /* Interrupt status Register */ | 40 | #define DMA_DISR 0x04 /* Interrupt status Register */ |
diff --git a/arch/arm/mach-imx/include/mach/dma-mx1-mx2.h b/arch/arm/mach-imx/include/mach/dma-mx1-mx2.h new file mode 100644 index 000000000000..df5f522da6b3 --- /dev/null +++ b/arch/arm/mach-imx/include/mach/dma-mx1-mx2.h | |||
@@ -0,0 +1,10 @@ | |||
1 | #ifndef __MACH_DMA_MX1_MX2_H__ | ||
2 | #define __MACH_DMA_MX1_MX2_H__ | ||
3 | /* | ||
4 | * Don't use this header in new code, it will go away when all users are | ||
5 | * converted to mach/dma-v1.h | ||
6 | */ | ||
7 | |||
8 | #include <mach/dma-v1.h> | ||
9 | |||
10 | #endif /* ifndef __MACH_DMA_MX1_MX2_H__ */ | ||
diff --git a/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h b/arch/arm/mach-imx/include/mach/dma-v1.h index 7c4870bd5a21..287431cc13e5 100644 --- a/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h +++ b/arch/arm/mach-imx/include/mach/dma-v1.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h | 2 | * linux/arch/arm/mach-imx/include/mach/dma-v1.h |
3 | * | 3 | * |
4 | * i.MX DMA registration and IRQ dispatching | 4 | * i.MX DMA registration and IRQ dispatching |
5 | * | 5 | * |
@@ -22,8 +22,10 @@ | |||
22 | * MA 02110-1301, USA. | 22 | * MA 02110-1301, USA. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #ifndef __ASM_ARCH_MXC_DMA_H | 25 | #ifndef __MACH_DMA_V1_H__ |
26 | #define __ASM_ARCH_MXC_DMA_H | 26 | #define __MACH_DMA_V1_H__ |
27 | |||
28 | #define imx_has_dma_v1() (cpu_is_mx1() || cpu_is_mx21() || cpu_is_mx27()) | ||
27 | 29 | ||
28 | #define IMX_DMA_CHANNELS 16 | 30 | #define IMX_DMA_CHANNELS 16 |
29 | 31 | ||
@@ -102,4 +104,4 @@ enum imx_dma_prio { | |||
102 | 104 | ||
103 | int imx_dma_request_by_prio(const char *name, enum imx_dma_prio prio); | 105 | int imx_dma_request_by_prio(const char *name, enum imx_dma_prio prio); |
104 | 106 | ||
105 | #endif /* _ASM_ARCH_MXC_DMA_H */ | 107 | #endif /* __MACH_DMA_V1_H__ */ |
diff --git a/arch/arm/plat-mxc/Makefile b/arch/arm/plat-mxc/Makefile index 895bc3c5e0c0..f134d14eabfd 100644 --- a/arch/arm/plat-mxc/Makefile +++ b/arch/arm/plat-mxc/Makefile | |||
@@ -8,8 +8,6 @@ obj-y := irq.o clock.o gpio.o time.o devices.o cpu.o system.o | |||
8 | # MX51 uses the TZIC interrupt controller, older platforms use AVIC (irq.o) | 8 | # MX51 uses the TZIC interrupt controller, older platforms use AVIC (irq.o) |
9 | obj-$(CONFIG_MXC_TZIC) += tzic.o | 9 | obj-$(CONFIG_MXC_TZIC) += tzic.o |
10 | 10 | ||
11 | obj-$(CONFIG_ARCH_MX1) += dma-mx1-mx2.o | ||
12 | obj-$(CONFIG_ARCH_MX2) += dma-mx1-mx2.o | ||
13 | obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o | 11 | obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o |
14 | obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o | 12 | obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o |
15 | obj-$(CONFIG_MXC_PWM) += pwm.o | 13 | obj-$(CONFIG_MXC_PWM) += pwm.o |