From abf12d719a2c9e45f7f90c02a3a25107206ed57a Mon Sep 17 00:00:00 2001 From: Rabin Vincent Date: Wed, 8 Dec 2010 11:07:59 +0530 Subject: ux500: dynamic SOC detection Dynamically detect the DBx500 SOC an revision based on the ASIC ID. Signed-off-by: Rabin Vincent Signed-off-by: Linus Walleij --- arch/arm/mach-ux500/cpu-db5500.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'arch/arm/mach-ux500/cpu-db5500.c') diff --git a/arch/arm/mach-ux500/cpu-db5500.c b/arch/arm/mach-ux500/cpu-db5500.c index 7b0ab8336f3f..af04e0891a78 100644 --- a/arch/arm/mach-ux500/cpu-db5500.c +++ b/arch/arm/mach-ux500/cpu-db5500.c @@ -21,9 +21,12 @@ #include "devices-db5500.h" -static struct map_desc u5500_io_desc[] __initdata = { +static struct map_desc u5500_uart_io_desc[] __initdata = { __IO_DEV_DESC(U5500_UART0_BASE, SZ_4K), __IO_DEV_DESC(U5500_UART2_BASE, SZ_4K), +}; + +static struct map_desc u5500_io_desc[] __initdata = { __IO_DEV_DESC(U5500_GIC_CPU_BASE, SZ_4K), __IO_DEV_DESC(U5500_GIC_DIST_BASE, SZ_4K), __IO_DEV_DESC(U5500_L2CC_BASE, SZ_4K), @@ -153,6 +156,13 @@ static void __init db5500_add_gpios(void) void __init u5500_map_io(void) { + /* + * Map the UARTs early so that the DEBUG_LL stuff continues to work. + */ + iotable_init(u5500_uart_io_desc, ARRAY_SIZE(u5500_uart_io_desc)); + + ux500_map_io(); + iotable_init(u5500_io_desc, ARRAY_SIZE(u5500_io_desc)); } -- cgit v1.2.3-55-g7522