summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorStefan Agner <stefan@agner.ch>2014-04-24 15:58:03 +0200
committerStefan Agner <stefan@agner.ch>2014-04-24 16:32:57 +0200
commit1d75facc0daa8b2cc91363cf862b7bf10aeb321d (patch)
tree28d8cfc522f9bd61e0a5d6c17b3a80ff34295da1 /arch
parent795d73eed0f604919fcd51bbd518f4bead25f31d (diff)
colibri_vf: add detection for Colibri VF50
Detect Colibri VF50 modules by read L2 cache configuration of the running CPU. Colibri VF50 modules come without L2 cache. Configure CPU clock accordingly.
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/include/asm/arch-vf610/imx-regs.h14
-rw-r--r--arch/arm/include/asm/mach-types.h26
2 files changed, 40 insertions, 0 deletions
diff --git a/arch/arm/include/asm/arch-vf610/imx-regs.h b/arch/arm/include/asm/arch-vf610/imx-regs.h
index b35991de90..42943f3732 100644
--- a/arch/arm/include/asm/arch-vf610/imx-regs.h
+++ b/arch/arm/include/asm/arch-vf610/imx-regs.h
@@ -98,6 +98,8 @@
#define MSCM_IRSPRC_CP0_EN 1
#define MSCM_IRSPRC_NUM 112
+#define MSCM_CP0CFG1 (MSCM_BASE_ADDR + 0x000000014)
+
/* DDRMC */
#define DDRMC_PHY_DQ_TIMING 0x00002613
#define DDRMC_PHY_DQS_TIMING 0x00002615
@@ -406,6 +408,18 @@ struct mscm_ir {
u16 rsvd3[848];
};
+/* MSCM */
+struct mscm {
+ u32 cpxtype;
+ u32 cpxnum;
+ u32 cpxmaster;
+ u32 cpxcount;
+ u32 cpxcfg0;
+ u32 cpxcfg1;
+ u32 cpxcfg2;
+ u32 cpxcfg3;
+};
+
#endif /* __ASSEMBLER__*/
#endif /* __ASM_ARCH_IMX_REGS_H__ */
diff --git a/arch/arm/include/asm/mach-types.h b/arch/arm/include/asm/mach-types.h
index 440b041a16..266b37cea2 100644
--- a/arch/arm/include/asm/mach-types.h
+++ b/arch/arm/include/asm/mach-types.h
@@ -1106,6 +1106,8 @@ extern unsigned int __machine_arch_type;
#define MACH_TYPE_OMAP5_SEVM 3777
#define MACH_TYPE_ARMADILLO_800EVA 3863
#define MACH_TYPE_KZM9G 4140
+#define MACH_TYPE_COLIBRI_VF50 4749
+#define MACH_TYPE_COLIBRI_VF61 4750
#ifdef CONFIG_ARCH_EBSA110
# ifdef machine_arch_type
@@ -14235,6 +14237,30 @@ extern unsigned int __machine_arch_type;
# define machine_is_kzm9g() (0)
#endif
+#ifdef CONFIG_MACH_COLIBRI_VF50
+# ifdef machine_arch_type
+# undef machine_arch_type
+# define machine_arch_type __machine_arch_type
+# else
+# define machine_arch_type MACH_TYPE_COLIBRI_VF50
+# endif
+# define machine_is_colibri_vf50() (machine_arch_type == MACH_TYPE_COLIBRI_VF50)
+#else
+# define machine_is_colibri_vf50() (0)
+#endif
+
+#ifdef CONFIG_MACH_COLIBRI_VF61
+# ifdef machine_arch_type
+# undef machine_arch_type
+# define machine_arch_type __machine_arch_type
+# else
+# define machine_arch_type MACH_TYPE_COLIBRI_VF61
+# endif
+# define machine_is_colibri_vf61() (machine_arch_type == MACH_TYPE_COLIBRI_VF61)
+#else
+# define machine_is_colibri_vf61() (0)
+#endif
+
/*
* These have not yet been registered
*/