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>
                __cpu_is_pxa25x(read_cpuid_id());       \
        })
 
+extern int cpu_is_pxa26x(void);
+
 #define cpu_is_pxa27x()                                        \
        ({                                              \
                __cpu_is_pxa27x(read_cpuid_id());       \
 
 #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.
  */
        }
 
        /* 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);
        }