summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyungwon Hwang <human.hwang@samsung.com>2014-11-21 10:16:48 (GMT)
committerHyungwon Hwang <human.hwang@samsung.com>2014-12-23 02:09:09 (GMT)
commitb9a56390a858534a24bb23108cc6d2911d7e2b9c (patch)
tree48e9e90f425e892d84374263053e0be38ebdbf29
parentab0ab5d72196fb5fd37c0ddcf5d67a7976a6ca50 (diff)
downloadlinux-3.10-b9a56390a858534a24bb23108cc6d2911d7e2b9c.zip
linux-3.10-b9a56390a858534a24bb23108cc6d2911d7e2b9c.tar.gz
linux-3.10-b9a56390a858534a24bb23108cc6d2911d7e2b9c.tar.bz2
ARM: exynos: fix UART address selection for DEBUG_LL
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. Change-Id: I1a227bf1186a988f7a8429ee3b5251528d0ee32a Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
-rw-r--r--arch/arm/include/debug/exynos.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/include/debug/exynos.S b/arch/arm/include/debug/exynos.S
index b17fdb7..60bf3c2 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