ARM: 8015/1: Add cpu_is_pj4 to distinguish PJ4 because it has some differences with V7
authorChao Xie Linux <xiechao.mail@gmail.com>
Wed, 2 Apr 2014 01:47:09 +0000 (02:47 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 8 Apr 2014 16:55:27 +0000 (17:55 +0100)
The patch add cpu_is_pj4 at arch/arm/include/asm/cputype.h
PJ4 has some differences with V7, for example the coprocessor.
To disinguish this kind of situation. cpu_is_pj4 is needed.

Signed-off-by: Chao Xie <chao.xie@marvell.com>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
Tested-by: Kevin Hilman <khilman@linaro.org>
Tested-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Matt Porter <mporter@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/include/asm/cputype.h

index 42f0889f058456be8e1c34705ae0e2aa12364baf..c651e3b26ec703b08cea0128eb76c23d9aa94d46 100644 (file)
@@ -221,4 +221,23 @@ static inline int cpu_is_xsc3(void)
 #define        cpu_is_xscale() 1
 #endif
 
+/*
+ * Marvell's PJ4 core is based on V7 version. It has some modification
+ * for coprocessor setting. For this reason, we need a way to distinguish
+ * it.
+ */
+#ifndef CONFIG_CPU_PJ4
+#define cpu_is_pj4()   0
+#else
+static inline int cpu_is_pj4(void)
+{
+       unsigned int id;
+
+       id = read_cpuid_id();
+       if ((id & 0xfffffff0) == 0x562f5840)
+               return 1;
+
+       return 0;
+}
+#endif
 #endif