ARM: EXYNOS: use four additional chipid bits to identify EXYNOS family 46/32446/3
authorChander Kashyap <chander.kashyap@linaro.org>
Tue, 18 Jun 2013 15:29:34 +0000 (00:29 +0900)
committerHyungwon Hwang <human.hwang@samsung.com>
Wed, 24 Dec 2014 02:20:19 +0000 (11:20 +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.

Change-Id: Ic7cc14e68d16ae3da2a7d2177b40e40b0295d9a8
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);