From: Joonyoung Shim Date: Fri, 26 Sep 2014 10:43:54 +0000 (+0900) Subject: ARM: EXYNOS: Fix UART address selection for DEBUG_LL X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2f3428b5cf9ba4255d8729fd249cbfb8a540d33e;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git ARM: EXYNOS: Fix UART address selection for DEBUG_LL The Exynos542x SoCs using A15+A7 can boot to A15 or A7. If it boots using A7 (like on Odroid XU family boards), it can't choose right UART physical address only the part number of CP15. Fix the detection logic by checking the Cluster ID additionally. Signed-off-by: Joonyoung Shim Tested-by: Marek Szyprowski [k.kozlowski: Extend commit message] Signed-off-by: Krzysztof Kozlowski --- diff --git a/arch/arm/include/debug/exynos.S b/arch/arm/include/debug/exynos.S index b17fdb7fbd34..60bf3c23200d 100644 --- a/arch/arm/include/debug/exynos.S +++ b/arch/arm/include/debug/exynos.S @@ -24,7 +24,11 @@ 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