diff options
author | Jonathan Austin <jonathan.austin@arm.com> | 2012-03-05 12:28:14 +0000 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2012-04-20 14:54:51 +0100 |
commit | f11aed1a1bc12e5badee6fb871ddacc0c7f2e18c (patch) | |
tree | be6d4b54c978bec4c13a67aa6e9c7365acb39022 | |
parent | 0c7dd332c9c8b40eee4ab8acc317600db04cc7b3 (diff) |
ARM: vexpress: remove fragile UART detection mechanism
The code to 'guess' the UART base address for vexpress platforms reads
from the Configuration Base Register. This is not present on all
Versatile Express platforms and the attempt to access co-processor 15
with opcode 4 causes an abort.
This patch replaces the fuzzy guesswork code with the original, hard coded
value that is appropriate for Cortex A9. A subsequent patch is provided
in this series to choose an appropriate location using Kconfig
Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
-rw-r--r-- | arch/arm/mach-vexpress/include/mach/uncompress.h | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/arch/arm/mach-vexpress/include/mach/uncompress.h b/arch/arm/mach-vexpress/include/mach/uncompress.h index 7dab5596b868..7972c5748d0e 100644 --- a/arch/arm/mach-vexpress/include/mach/uncompress.h +++ b/arch/arm/mach-vexpress/include/mach/uncompress.h @@ -22,27 +22,7 @@ #define AMBA_UART_CR(base) (*(volatile unsigned char *)((base) + 0x30)) #define AMBA_UART_FR(base) (*(volatile unsigned char *)((base) + 0x18)) -#define UART_BASE 0x10009000 -#define UART_BASE_RS1 0x1c090000 - -static unsigned long get_uart_base(void) -{ - unsigned long mpcore_periph; - - /* - * Make an educated guess regarding the memory map: - * - the original A9 core tile, which has MPCore peripherals - * located at 0x1e000000, should use UART at 0x10009000 - * - all other (RS1 complaint) tiles use UART mapped - * at 0x1c090000 - */ - asm("mrc p15, 4, %0, c15, c0, 0" : "=r" (mpcore_periph)); - - if (mpcore_periph == 0x1e000000) - return UART_BASE; - else - return UART_BASE_RS1; -} +#define get_uart_base() (0x10000000 + 0x00009000) /* * This does not append a newline |