aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include
diff options
context:
space:
mode:
authorPawel Moll <pawel.moll@arm.com>2012-09-04 12:06:20 -0400
committerPawel Moll <pawel.moll@arm.com>2012-10-18 12:56:16 -0400
commit852663d94f0cc44199c31c0e42d4801302f41705 (patch)
treeace1147a2e1da8b3a0cb724d2e97795ecdd5e8f8 /arch/arm/include
parentddffeb8c4d0331609ef2581d84de4d763607bd37 (diff)
ARM: vexpress: Make the debug UART detection more specific
Base the UART detection heuristic on architecturally defined MIDR register instead of implementation dependent CBAR. The only tile using the original memory map is V2P-CA9 with Cortex A9 r0p1, which MIDR contains value 0x410fc091. Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Diffstat (limited to 'arch/arm/include')
-rw-r--r--arch/arm/include/debug/vexpress.S10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/include/debug/vexpress.S b/arch/arm/include/debug/vexpress.S
index 9f509f55d078..0c6abbf4c82b 100644
--- a/arch/arm/include/debug/vexpress.S
+++ b/arch/arm/include/debug/vexpress.S
@@ -23,12 +23,14 @@
23 .macro addruart,rp,rv,tmp 23 .macro addruart,rp,rv,tmp
24 24
25 @ Make an educated guess regarding the memory map: 25 @ Make an educated guess regarding the memory map:
26 @ - the original A9 core tile, which has MPCore peripherals 26 @ - the original A9 core tile (based on ARM Cortex-A9 r0p1)
27 @ located at 0x1e000000, should use UART at 0x10009000 27 @ should use UART at 0x10009000
28 @ - all other (RS1 complaint) tiles use UART mapped 28 @ - all other (RS1 complaint) tiles use UART mapped
29 @ at 0x1c090000 29 @ at 0x1c090000
30 mrc p15, 4, \tmp, c15, c0, 0 30 mrc p15, 0, \rp, c0, c0, 0
31 cmp \tmp, #0x1e000000 31 movw \rv, #0xc091
32 movt \rv, #0x410f
33 cmp \rp, \rv
32 34
33 @ Original memory map 35 @ Original memory map
34 moveq \rp, #DEBUG_LL_UART_OFFSET 36 moveq \rp, #DEBUG_LL_UART_OFFSET