ARM: exynos: fix UART address selection for DEBUG_LL
authorJoonyoung Shim <jy0922.shim@samsung.com>
Fri, 26 Sep 2014 10:04:46 +0000 (19:04 +0900)
committerInha Song <ideal.song@samsung.com>
Mon, 13 Apr 2015 04:11:14 +0000 (13:11 +0900)
The exynos5 SoCs using A15+A7 can boot to A15 or A7. If it boots using
A7, it can't detect right UART physical address only the part number of
CP15. It's possible to solve as checking Cluster ID additionally.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
arch/arm/include/debug/exynos.S

index b17fdb7fbd3472d85b30dabf529a9df23e9ff643..60bf3c23200d68fdd97800ea68dd7ee1c9577954 100644 (file)
                mrc     p15, 0, \tmp, c0, c0, 0
                and     \tmp, \tmp, #0xf0
                teq     \tmp, #0xf0             @@ A15
-               ldreq   \rp, =EXYNOS5_PA_UART
+               beq     100f
+               mrc     p15, 0, \tmp, c0, c0, 5
+               and     \tmp, \tmp, #0xf00
+               teq     \tmp, #0x100            @@ A15 + A7 but boot to A7
+100:           ldreq   \rp, =EXYNOS5_PA_UART
                movne   \rp, #EXYNOS4_PA_UART   @@ EXYNOS4
                ldr     \rv, =S3C_VA_UART
 #if CONFIG_DEBUG_S3C_UART != 0