diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-10-09 22:36:39 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-06-25 11:52:05 +0200 |
commit | a4daf503059d05b5275bd12cade6bcb54e9d4e03 (patch) | |
tree | 82681fd4fe3b20f4e8ce1979338c6d614ac520f1 /arch/arm/mach-imx/include/mach/generic.h | |
parent | f887536147ac892751a18752f34764daf7267845 (diff) | |
download | barebox-a4daf503059d05b5275bd12cade6bcb54e9d4e03.tar.gz barebox-a4daf503059d05b5275bd12cade6bcb54e9d4e03.tar.xz |
ARM: i.MX: adopt cpu_is_* for multiple SoCs
This makes cpu_is_* functions when necessary for upcoming multisoc
support. When only one SoC type is compiled in cpu_is_* still expand
to static values.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/include/mach/generic.h')
-rw-r--r-- | arch/arm/mach-imx/include/mach/generic.h | 102 |
1 files changed, 84 insertions, 18 deletions
diff --git a/arch/arm/mach-imx/include/mach/generic.h b/arch/arm/mach-imx/include/mach/generic.h index 0c5dc8a7a0..506b1daaa3 100644 --- a/arch/arm/mach-imx/include/mach/generic.h +++ b/arch/arm/mach-imx/include/mach/generic.h @@ -37,58 +37,124 @@ int imx6_devices_init(void); /* range e.g. GPIO_1_5 is gpio 5 under linux */ #define IMX_GPIO_NR(bank, nr) (((bank) - 1) * 32 + (nr)) +#define IMX_CPU_IMX1 1 +#define IMX_CPU_IMX21 21 +#define IMX_CPU_IMX25 25 +#define IMX_CPU_IMX27 27 +#define IMX_CPU_IMX31 31 +#define IMX_CPU_IMX35 35 +#define IMX_CPU_IMX51 51 +#define IMX_CPU_IMX53 53 +#define IMX_CPU_IMX6 6 + +extern unsigned int __imx_cpu_type; + #ifdef CONFIG_ARCH_IMX1 -#define cpu_is_mx1() (1) +# ifdef imx_cpu_type +# undef imx_cpu_type +# define imx_cpu_type __imx_cpu_type +# else +# define imx_cpu_type IMX_CPU_IMX1 +# endif +# define cpu_is_mx1() (imx_cpu_type == IMX_CPU_IMX1) #else -#define cpu_is_mx1() (0) +# define cpu_is_mx1() (0) #endif #ifdef CONFIG_ARCH_IMX21 -#define cpu_is_mx21() (1) +# ifdef imx_cpu_type +# undef imx_cpu_type +# define imx_cpu_type __imx_cpu_type +# else +# define imx_cpu_type IMX_CPU_IMX21 +# endif +# define cpu_is_mx21() (imx_cpu_type == IMX_CPU_IMX21) #else -#define cpu_is_mx21() (0) +# define cpu_is_mx21() (0) #endif #ifdef CONFIG_ARCH_IMX25 -#define cpu_is_mx25() (1) +# ifdef imx_cpu_type +# undef imx_cpu_type +# define imx_cpu_type __imx_cpu_type +# else +# define imx_cpu_type IMX_CPU_IMX25 +# endif +# define cpu_is_mx25() (imx_cpu_type == IMX_CPU_IMX25) #else -#define cpu_is_mx25() (0) +# define cpu_is_mx25() (0) #endif #ifdef CONFIG_ARCH_IMX27 -#define cpu_is_mx27() (1) +# ifdef imx_cpu_type +# undef imx_cpu_type +# define imx_cpu_type __imx_cpu_type +# else +# define imx_cpu_type IMX_CPU_IMX27 +# endif +# define cpu_is_mx27() (imx_cpu_type == IMX_CPU_IMX27) #else -#define cpu_is_mx27() (0) +# define cpu_is_mx27() (0) #endif #ifdef CONFIG_ARCH_IMX31 -#define cpu_is_mx31() (1) +# ifdef imx_cpu_type +# undef imx_cpu_type +# define imx_cpu_type __imx_cpu_type +# else +# define imx_cpu_type IMX_CPU_IMX31 +# endif +# define cpu_is_mx31() (imx_cpu_type == IMX_CPU_IMX31) #else -#define cpu_is_mx31() (0) +# define cpu_is_mx31() (0) #endif #ifdef CONFIG_ARCH_IMX35 -#define cpu_is_mx35() (1) +# ifdef imx_cpu_type +# undef imx_cpu_type +# define imx_cpu_type __imx_cpu_type +# else +# define imx_cpu_type IMX_CPU_IMX35 +# endif +# define cpu_is_mx35() (imx_cpu_type == IMX_CPU_IMX35) #else -#define cpu_is_mx35() (0) +# define cpu_is_mx35() (0) #endif #ifdef CONFIG_ARCH_IMX51 -#define cpu_is_mx51() (1) +# ifdef imx_cpu_type +# undef imx_cpu_type +# define imx_cpu_type __imx_cpu_type +# else +# define imx_cpu_type IMX_CPU_IMX51 +# endif +# define cpu_is_mx51() (imx_cpu_type == IMX_CPU_IMX51) #else -#define cpu_is_mx51() (0) +# define cpu_is_mx51() (0) #endif #ifdef CONFIG_ARCH_IMX53 -#define cpu_is_mx53() (1) +# ifdef imx_cpu_type +# undef imx_cpu_type +# define imx_cpu_type __imx_cpu_type +# else +# define imx_cpu_type IMX_CPU_IMX53 +# endif +# define cpu_is_mx53() (imx_cpu_type == IMX_CPU_IMX53) #else -#define cpu_is_mx53() (0) +# define cpu_is_mx53() (0) #endif #ifdef CONFIG_ARCH_IMX6 -#define cpu_is_mx6() (1) +# ifdef imx_cpu_type +# undef imx_cpu_type +# define imx_cpu_type __imx_cpu_type +# else +# define imx_cpu_type IMX_CPU_IMX6 +# endif +# define cpu_is_mx6() (imx_cpu_type == IMX_CPU_IMX6) #else -#define cpu_is_mx6() (0) +# define cpu_is_mx6() (0) #endif #define cpu_is_mx23() (0) |