ARM: EXYNOS: use four additional chipid bits to identify EXYNOS family
authorChander Kashyap <chander.kashyap@linaro.org>
Tue, 18 Jun 2013 15:29:34 +0000 (00:29 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Tue, 18 Jun 2013 19:09:33 +0000 (04:09 +0900)
Use chipid[27:20] bits to identify the EXYNOS family while setting
up the serial port during the uncompression setup. This uses four
additional bits of chipid to identify the EXYNOS family since this
is required for identifying EXYNOS5420 SoC.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-exynos/include/mach/uncompress.h

index 2979995..1937e0f 100644 (file)
@@ -31,13 +31,12 @@ static void arch_detect_cpu(void)
 
        /*
         * product_id is bits 31:12
-        *    bits 23:20 describe the exynosX family
-        *
+        * bits 23:20 describe the exynosX family
+        * bits 27:24 describe the exynosX family in exynos5420
         */
        chip_id >>= 20;
-       chip_id &= 0xf;
 
-       if (chip_id == 0x5)
+       if ((chip_id & 0x0f) == 0x5 || (chip_id & 0xf0) == 0x50)
                uart_base = (volatile u8 *)EXYNOS5_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT);
        else
                uart_base = (volatile u8 *)EXYNOS4_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT);