diff options
author | Rajagopala V <rajagopala.v@stericsson.com> | 2011-12-06 15:58:30 +0530 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:02:38 +0200 |
commit | d6aab35148671b30866b978b19a4e958bb918bdd (patch) | |
tree | 01d8483ec86e2edbcaa0c29f22f1880620f97f6a | |
parent | 96a1f7c598c9d7fdb0effe2ad93ff29250505010 (diff) |
u5500: Save prcmu registers on crash
Support for saving u5500 prcmu registers
to kernel system memory during crash.
ST-Ericsson ID: 367366
ST-Ericsson FOSS-OUT ID: Trivial
ST-Ericsson Linux next: NA
Change-Id: I205e1bd624b9c06dc7e9d070cf92c0e5ae8c428f
Signed-off-by: Rajagopala V <rajagopala.v@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/41159
Reviewed-by: QATOOLS
Reviewed-by: QABUILD
Reviewed-by: Johan BJORNSTEDT <johan.bjornstedt@stericsson.com>
Reviewed-by: Vijaya Kumar K-1 <vijay.kilari@stericsson.com>
Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
-rw-r--r-- | arch/arm/mach-ux500/dbx500_dump.c | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/arch/arm/mach-ux500/dbx500_dump.c b/arch/arm/mach-ux500/dbx500_dump.c index ca2691d204b..49d1711f6ff 100644 --- a/arch/arm/mach-ux500/dbx500_dump.c +++ b/arch/arm/mach-ux500/dbx500_dump.c @@ -14,6 +14,7 @@ #include <mach/hardware.h> #include <mach/db8500-regs.h> +#include <mach/db5500-regs.h> struct dbx500_dump_info { char *name; @@ -57,7 +58,31 @@ static struct dbx500_dump_info db8500_dump[] = { }; static struct dbx500_dump_info db5500_dump[] = { - {}, + { + .name = "prcmu_tcdm", + .phy_addr = U5500_PRCMU_TCDM_BASE, + .size = 0x5000, + }, + { + .name = "prcmu_gpio", + .phy_addr = U5500_GPIO2_BASE, + .size = 0x1000, + }, + { + .name = "prcmu_msp1", + .phy_addr = U5500_MSP1_BASE, + .size = 0x1000, + }, + { + .name = "prcmu_sec", + .phy_addr = (U5500_PRCMU_BASE + 0x1000), + .size = 0x1000, + }, + { + .name = "prcmu_unsec", + .phy_addr = U5500_PRCMU_BASE, + .size = 0x1000, + }, }; static struct dbx500_dump_info *dbx500_dump; @@ -83,7 +108,8 @@ static void __init init_io_addresses(void) int i; for (i = 0; i < dbx500_dump_size; i++) - dbx500_dump[i].io_addr = __io_address(dbx500_dump[i].phy_addr); + dbx500_dump[i].io_addr = ioremap(dbx500_dump[i].phy_addr, + dbx500_dump[i].size); } static struct notifier_block die_notifier = { |