diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-06-21 15:18:07 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-06-25 16:05:35 +0200 |
commit | b70bfc27e6d904cb0e748833d882482ca2edc941 (patch) | |
tree | 82dab95c41f32af06be16b162ac51d495a385a4d /arch/arm/mach-imx/include/mach/imx6.h | |
parent | c6edbecd68750e1752550f4f9255dafc1ab57370 (diff) | |
download | barebox-b70bfc27e6d904cb0e748833d882482ca2edc941.tar.gz barebox-b70bfc27e6d904cb0e748833d882482ca2edc941.tar.xz |
ARM: i.MX6: Add cputype detection
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/include/mach/imx6.h')
-rw-r--r-- | arch/arm/mach-imx/include/mach/imx6.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/include/mach/imx6.h b/arch/arm/mach-imx/include/mach/imx6.h index 518cf98978..4b2b1c7a69 100644 --- a/arch/arm/mach-imx/include/mach/imx6.h +++ b/arch/arm/mach-imx/include/mach/imx6.h @@ -1,6 +1,37 @@ #ifndef __MACH_IMX6_H #define __MACH_IMX6_H +#include <io.h> +#include <mach/generic.h> +#include <mach/imx6-regs.h> + void imx6_init_lowlevel(void); +#define IMX6_ANATOP_SI_REV 0x260 + +#define IMX6_CPUTYPE_IMX6Q 0x63 +#define IMX6_CPUTYPE_IMX6DL 0x61 + +static inline int imx6_cpu_type(void) +{ + uint32_t val; + + if (!cpu_is_mx6()) + return 0; + + val = readl(MX6_ANATOP_BASE_ADDR + IMX6_ANATOP_SI_REV); + + return (val >> 16) & 0xff; +} + +static inline int cpu_is_mx6q(void) +{ + return imx6_cpu_type() == IMX6_CPUTYPE_IMX6Q; +} + +static inline int cpu_is_mx6dl(void) +{ + return imx6_cpu_type() == IMX6_CPUTYPE_IMX6DL; +} + #endif /* __MACH_IMX6_H */ |