Commit 76f4e2c3 authored by Lubomir Rintel's avatar Lubomir Rintel Committed by Olof Johansson

ARM: mmp/mmp2: fix cpu_is_mmp2() on mmp2-dt

cpu_is_mmp2() was equivalent to cpu_is_pj4(), wouldn't be correct for
multiplatform kernels. Fix it by also considering mmp_chip_id, as is
done for cpu_is_pxa168() and cpu_is_pxa910() above.

Moreover, it is only available with CONFIG_CPU_MMP2 and thus doesn't work
on DT-based MMP2 machines. Enable it on CONFIG_MACH_MMP2_DT too.

Note: CONFIG_CPU_MMP2 is only used for machines that use board files
instead of DT. It should perhaps be renamed. I'm not doing it now, because
I don't have a better idea.
Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parent 358b5f73
...@@ -44,10 +44,12 @@ static inline int cpu_is_pxa910(void) ...@@ -44,10 +44,12 @@ static inline int cpu_is_pxa910(void)
#define cpu_is_pxa910() (0) #define cpu_is_pxa910() (0)
#endif #endif
#ifdef CONFIG_CPU_MMP2 #if defined(CONFIG_CPU_MMP2) || defined(CONFIG_MACH_MMP2_DT)
static inline int cpu_is_mmp2(void) static inline int cpu_is_mmp2(void)
{ {
return (((read_cpuid_id() >> 8) & 0xff) == 0x58); return (((read_cpuid_id() >> 8) & 0xff) == 0x58) &&
(((mmp_chip_id & 0xfff) == 0x410) ||
((mmp_chip_id & 0xfff) == 0x610));
} }
#else #else
#define cpu_is_mmp2() (0) #define cpu_is_mmp2() (0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment