diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2009-02-06 09:38:22 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-03-13 05:34:26 -0400 |
commit | 198016e1b12d781ef00aaafbf571775a8e723f54 (patch) | |
tree | d2d45593f7c5e3ce9a703081e78fd5c6b5c29386 /arch/arm/plat-mxc/include/mach/mxc.h | |
parent | c0a5f85523132dc893916d6059370233fac1cb11 (diff) |
[ARM] MXC: add cpu_is_ macros
We had hardcoded cpu_is_ macros for mxc architectures till now. As we
want to run the same kernel on i.MX31 and i.MX35 this patch adds cpu_is_
macros which expand to 0 or 1 if only one architecture is compiled in and
only check for the cpu type if more than one architecture is compiled
in.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/plat-mxc/include/mach/mxc.h')
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mxc.h | 74 |
1 files changed, 65 insertions, 9 deletions
diff --git a/arch/arm/plat-mxc/include/mach/mxc.h b/arch/arm/plat-mxc/include/mach/mxc.h index d6b0c472cd97..5fa2a07f4eaf 100644 --- a/arch/arm/plat-mxc/include/mach/mxc.h +++ b/arch/arm/plat-mxc/include/mach/mxc.h | |||
@@ -24,21 +24,74 @@ | |||
24 | #error "Do not include directly." | 24 | #error "Do not include directly." |
25 | #endif | 25 | #endif |
26 | 26 | ||
27 | /* clean up all things that are not used */ | 27 | #define MXC_CPU_MX1 1 |
28 | #ifndef CONFIG_ARCH_MX3 | 28 | #define MXC_CPU_MX21 21 |
29 | # define cpu_is_mx31() (0) | 29 | #define MXC_CPU_MX27 27 |
30 | #define MXC_CPU_MX31 31 | ||
31 | #define MXC_CPU_MX35 35 | ||
32 | |||
33 | #ifndef __ASSEMBLY__ | ||
34 | extern unsigned int __mxc_cpu_type; | ||
35 | #endif | ||
36 | |||
37 | #ifdef CONFIG_ARCH_MX1 | ||
38 | # ifdef mxc_cpu_type | ||
39 | # undef mxc_cpu_type | ||
40 | # define mxc_cpu_type __mxc_cpu_type | ||
41 | # else | ||
42 | # define mxc_cpu_type MXC_CPU_MX1 | ||
43 | # endif | ||
44 | # define cpu_is_mx1() (mxc_cpu_type == MXC_CPU_MX1) | ||
45 | #else | ||
46 | # define cpu_is_mx1() (0) | ||
30 | #endif | 47 | #endif |
31 | 48 | ||
32 | #ifndef CONFIG_MACH_MX21 | 49 | #ifdef CONFIG_MACH_MX21 |
33 | # define cpu_is_mx21() (0) | 50 | # ifdef mxc_cpu_type |
51 | # undef mxc_cpu_type | ||
52 | # define mxc_cpu_type __mxc_cpu_type | ||
53 | # else | ||
54 | # define mxc_cpu_type MXC_CPU_MX21 | ||
55 | # endif | ||
56 | # define cpu_is_mx21() (mxc_cpu_type == MXC_CPU_MX21) | ||
57 | #else | ||
58 | # define cpu_is_mx21() (0) | ||
34 | #endif | 59 | #endif |
35 | 60 | ||
36 | #ifndef CONFIG_MACH_MX27 | 61 | #ifdef CONFIG_MACH_MX27 |
37 | # define cpu_is_mx27() (0) | 62 | # ifdef mxc_cpu_type |
63 | # undef mxc_cpu_type | ||
64 | # define mxc_cpu_type __mxc_cpu_type | ||
65 | # else | ||
66 | # define mxc_cpu_type MXC_CPU_MX27 | ||
67 | # endif | ||
68 | # define cpu_is_mx27() (mxc_cpu_type == MXC_CPU_MX27) | ||
69 | #else | ||
70 | # define cpu_is_mx27() (0) | ||
38 | #endif | 71 | #endif |
39 | 72 | ||
40 | #ifndef CONFIG_MACH_MX21 | 73 | #ifdef CONFIG_ARCH_MX31 |
41 | # define cpu_is_mx21() (0) | 74 | # ifdef mxc_cpu_type |
75 | # undef mxc_cpu_type | ||
76 | # define mxc_cpu_type __mxc_cpu_type | ||
77 | # else | ||
78 | # define mxc_cpu_type MXC_CPU_MX31 | ||
79 | # endif | ||
80 | # define cpu_is_mx31() (mxc_cpu_type == MXC_CPU_MX31) | ||
81 | #else | ||
82 | # define cpu_is_mx31() (0) | ||
83 | #endif | ||
84 | |||
85 | #ifdef CONFIG_ARCH_MX35 | ||
86 | # ifdef mxc_cpu_type | ||
87 | # undef mxc_cpu_type | ||
88 | # define mxc_cpu_type __mxc_cpu_type | ||
89 | # else | ||
90 | # define mxc_cpu_type MXC_CPU_MX35 | ||
91 | # endif | ||
92 | # define cpu_is_mx35() (mxc_cpu_type == MXC_CPU_MX35) | ||
93 | #else | ||
94 | # define cpu_is_mx35() (0) | ||
42 | #endif | 95 | #endif |
43 | 96 | ||
44 | #if defined(CONFIG_ARCH_MX3) || defined(CONFIG_ARCH_MX2) | 97 | #if defined(CONFIG_ARCH_MX3) || defined(CONFIG_ARCH_MX2) |
@@ -47,4 +100,7 @@ | |||
47 | #define CSCR_A(n) (IO_ADDRESS(WEIM_BASE_ADDR) + n * 0x10 + 0x8) | 100 | #define CSCR_A(n) (IO_ADDRESS(WEIM_BASE_ADDR) + n * 0x10 + 0x8) |
48 | #endif | 101 | #endif |
49 | 102 | ||
103 | #define cpu_is_mx3() (cpu_is_mx31() || cpu_is_mx35()) | ||
104 | #define cpu_is_mx2() (cpu_is_mx21() || cpu_is_mx27()) | ||
105 | |||
50 | #endif /* __ASM_ARCH_MXC_H__ */ | 106 | #endif /* __ASM_ARCH_MXC_H__ */ |