summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/include/mach/imx6.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-imx/include/mach/imx6.h')
-rw-r--r--arch/arm/mach-imx/include/mach/imx6.h129
1 files changed, 0 insertions, 129 deletions
diff --git a/arch/arm/mach-imx/include/mach/imx6.h b/arch/arm/mach-imx/include/mach/imx6.h
deleted file mode 100644
index f0d20833fd..0000000000
--- a/arch/arm/mach-imx/include/mach/imx6.h
+++ /dev/null
@@ -1,129 +0,0 @@
-#ifndef __MACH_IMX6_H
-#define __MACH_IMX6_H
-
-#include <io.h>
-#include <mach/generic.h>
-#include <mach/imx6-regs.h>
-#include <mach/revision.h>
-
-void __noreturn imx6_pm_stby_poweroff(void);
-
-#define IMX6_ANATOP_SI_REV 0x260
-#define IMX6SL_ANATOP_SI_REV 0x280
-
-#define IMX6_CPUTYPE_IMX6SL 0x160
-#define IMX6_CPUTYPE_IMX6S 0x161
-#define IMX6_CPUTYPE_IMX6DL 0x261
-#define IMX6_CPUTYPE_IMX6SX 0x462
-#define IMX6_CPUTYPE_IMX6D 0x263
-#define IMX6_CPUTYPE_IMX6DP 0x1263
-#define IMX6_CPUTYPE_IMX6Q 0x463
-#define IMX6_CPUTYPE_IMX6QP 0x1463
-#define IMX6_CPUTYPE_IMX6UL 0x164
-#define IMX6_CPUTYPE_IMX6ULL 0x165
-
-#define SCU_CONFIG 0x04
-
-static inline int scu_get_core_count(void)
-{
- unsigned long base;
- unsigned int ncores;
-
- asm("mrc p15, 4, %0, c15, c0, 0" : "=r" (base));
-
- ncores = readl(base + SCU_CONFIG);
- return (ncores & 0x03) + 1;
-}
-
-#define SI_REV_CPUTYPE(s) (((s) >> 16) & 0xff)
-#define SI_REV_MAJOR(s) (((s) >> 8) & 0xf)
-#define SI_REV_MINOR(s) ((s) & 0xf)
-
-static inline uint32_t __imx6_read_si_rev(void)
-{
- uint32_t si_rev;
- uint32_t cpu_type;
-
- si_rev = readl(MX6_ANATOP_BASE_ADDR + IMX6_ANATOP_SI_REV);
- cpu_type = SI_REV_CPUTYPE(si_rev);
-
- if (cpu_type >= 0x61 && cpu_type <= 0x65)
- return si_rev;
-
- /* try non-MX6-standard SI_REV reg offset for MX6SL */
- si_rev = readl(MX6_ANATOP_BASE_ADDR + IMX6SL_ANATOP_SI_REV);
- cpu_type = SI_REV_CPUTYPE(si_rev);
-
- if (si_rev == 0x60)
- return si_rev;
-
- return 0;
-}
-
-static inline int __imx6_cpu_type(void)
-{
- uint32_t si_rev = __imx6_read_si_rev();
- uint32_t cpu_type = SI_REV_CPUTYPE(si_rev);
-
- /* intentionally skip scu_get_core_count() for MX6SL */
- if (cpu_type == IMX6_CPUTYPE_IMX6SL)
- return IMX6_CPUTYPE_IMX6SL;
-
- cpu_type |= scu_get_core_count() << 8;
-
- if ((cpu_type == IMX6_CPUTYPE_IMX6D || cpu_type == IMX6_CPUTYPE_IMX6Q) &&
- SI_REV_MAJOR(si_rev) >= 1)
- cpu_type |= 0x1000;
-
- return cpu_type;
-}
-
-int imx6_cpu_type(void);
-
-#define DEFINE_MX6_CPU_TYPE(str, type) \
- static inline int cpu_mx6_is_##str(void) \
- { \
- return __imx6_cpu_type() == type; \
- } \
- \
- static inline int cpu_is_##str(void) \
- { \
- if (!cpu_is_mx6()) \
- return 0; \
- return cpu_mx6_is_##str(); \
- }
-
-/*
- * Below are defined:
- *
- * cpu_is_mx6s(), cpu_is_mx6dl(), cpu_is_mx6q(), cpu_is_mx6qp(), cpu_is_mx6d(),
- * cpu_is_mx6dp(), cpu_is_mx6sx(), cpu_is_mx6sl(), cpu_is_mx6ul(),
- * cpu_is_mx6ull()
- */
-DEFINE_MX6_CPU_TYPE(mx6s, IMX6_CPUTYPE_IMX6S);
-DEFINE_MX6_CPU_TYPE(mx6dl, IMX6_CPUTYPE_IMX6DL);
-DEFINE_MX6_CPU_TYPE(mx6q, IMX6_CPUTYPE_IMX6Q);
-DEFINE_MX6_CPU_TYPE(mx6qp, IMX6_CPUTYPE_IMX6QP);
-DEFINE_MX6_CPU_TYPE(mx6d, IMX6_CPUTYPE_IMX6D);
-DEFINE_MX6_CPU_TYPE(mx6dp, IMX6_CPUTYPE_IMX6DP);
-DEFINE_MX6_CPU_TYPE(mx6sx, IMX6_CPUTYPE_IMX6SX);
-DEFINE_MX6_CPU_TYPE(mx6sl, IMX6_CPUTYPE_IMX6SL);
-DEFINE_MX6_CPU_TYPE(mx6ul, IMX6_CPUTYPE_IMX6UL);
-DEFINE_MX6_CPU_TYPE(mx6ull, IMX6_CPUTYPE_IMX6ULL);
-
-static inline int __imx6_cpu_revision(void)
-{
- uint32_t si_rev = __imx6_read_si_rev();
- u8 major_part, minor_part;
-
- major_part = (si_rev >> 8) & 0xf;
- minor_part = si_rev & 0xf;
-
- return ((major_part + 1) << 4) | minor_part;
-}
-
-int imx6_cpu_revision(void);
-
-u64 imx6_uid(void);
-
-#endif /* __MACH_IMX6_H */