diff options
author | Eric Miao <eric.miao@marvell.com> | 2008-09-11 10:43:02 +0800 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-09-25 09:54:56 +0100 |
commit | da1a3dc0ebb4f9209a1939eaa6b18901e0cd7bc0 (patch) | |
tree | 38fac4d68fa639b7c71a0340a14d23883879bc23 /arch | |
parent | 0ffcbfd54ea81ca24c0749f55ca4fcf3e2bdc23e (diff) | |
download | linux-stable-da1a3dc0ebb4f9209a1939eaa6b18901e0cd7bc0.tar.gz linux-stable-da1a3dc0ebb4f9209a1939eaa6b18901e0cd7bc0.tar.bz2 linux-stable-da1a3dc0ebb4f9209a1939eaa6b18901e0cd7bc0.zip |
[ARM] pxa: introduce cpu_is_pxa26x()
PXA26x (PXA261/262) is actually a PXA250 with stacked Intel(R)
StartaFlash. And this can be decided by bit 3 (PKG_TYPE) of
BOOT_DEF register.
Due to this extra I/O register access, make cpu_is_pxa26x() a
public function instead of a macro.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-pxa/include/mach/hardware.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa25x.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/include/mach/hardware.h b/arch/arm/mach-pxa/include/mach/hardware.h index c9ee4081d533..9dc71114e287 100644 --- a/arch/arm/mach-pxa/include/mach/hardware.h +++ b/arch/arm/mach-pxa/include/mach/hardware.h @@ -202,6 +202,8 @@ __cpu_is_pxa25x(read_cpuid_id()); \ }) +extern int cpu_is_pxa26x(void); + #define cpu_is_pxa27x() \ ({ \ __cpu_is_pxa27x(read_cpuid_id()); \ diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index a3a6aff5f0d4..3caa74a10d13 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c @@ -36,6 +36,12 @@ #include "devices.h" #include "clock.h" +int cpu_is_pxa26x(void) +{ + return cpu_is_pxa250() && ((BOOT_DEF & 0x8) == 0); +} +EXPORT_SYMBOL_GPL(cpu_is_pxa26x); + /* * Various clock factors driven by the CCCR register. */ @@ -372,7 +378,7 @@ static int __init pxa25x_init(void) } /* Only add HWUART for PXA255/26x; PXA210/250 do not have it. */ - if (cpu_is_pxa255()) { + if (cpu_is_pxa255() || cpu_is_pxa26x()) { clks_register(&pxa25x_hwuart_clk, 1); ret = platform_device_register(&pxa_device_hwuart); } |