aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-ux500/cpu-db5500.c
diff options
context:
space:
mode:
authorRabin Vincent <rabin.vincent@stericsson.com>2010-12-08 11:07:59 +0530
committerLinus Walleij <linus.walleij@stericsson.com>2011-01-10 18:34:53 +0100
commitabf12d719a2c9e45f7f90c02a3a25107206ed57a (patch)
tree0aa9d9ecc7188b748eeda954b609dd74a8f5d24f /arch/arm/mach-ux500/cpu-db5500.c
parent5dc55e0a39434ec8bec7978aef2dc00c91a530ba (diff)
ux500: dynamic SOC detection
Dynamically detect the DBx500 SOC an revision based on the ASIC ID. Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Diffstat (limited to 'arch/arm/mach-ux500/cpu-db5500.c')
-rw-r--r--arch/arm/mach-ux500/cpu-db5500.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/arm/mach-ux500/cpu-db5500.c b/arch/arm/mach-ux500/cpu-db5500.c
index 7b0ab8336f3..af04e0891a7 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));
}