diff options
author | Philippe Langlais <philippe.langlais@stericsson.com> | 2011-10-12 10:45:02 +0200 |
---|---|---|
committer | Mathieu J. Poirier <mathieu.poirier@linaro.org> | 2011-11-10 11:12:12 -0700 |
commit | 1d85e95c47901fae41ffd9e64d2afca5a557ed3d (patch) | |
tree | af57f3f70549911adddd7c5ef5c40a6a364152ad | |
parent | 6203efe5fa3561683c7952ac68cb79ea30ac27db (diff) |
shrm: sw reset: Save SW Reset Reason before reset
Converts the reboot reason string received in SYSCALL_DEFINE4 in
sys.c into a 2 bytes reset reason code. This 16 bit value is
stored in the TCDM Memory at location: tcdm_base + 0xFF8.
The string to code mapping structure has been added in file
reboot_reasons.h and reboot_reasons.c. The code for translation
has been placed in cpu.c.
ST-Ericsson Linux next: Tested and reviewed with 2011-03-28
ST-Ericsson ID: 327863
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I5fe83b824c6dbe3f61a3d77671ce845e6f81d87b
Signed-off-by: rickard evertsson <rickard.evertsson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/19174
Reviewed-by: Mattias WALLIN <mattias.wallin@stericsson.com>
Conflicts:
arch/arm/mach-ux500/Makefile
arch/arm/mach-ux500/cpu.c
Conflicts:
arch/arm/mach-ux500/Makefile
arch/arm/mach-ux500/cpu.c
arch/arm/mach-ux500/include/mach/prcmu-fw-api.h
arch/arm/mach-ux500/include/mach/system.h
arch/arm/mach-ux500/prcmu-db8500.c
-rw-r--r-- | drivers/misc/shrm/shrm_protocol.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/misc/shrm/shrm_protocol.c b/drivers/misc/shrm/shrm_protocol.c index 6afe423d2cb..351f78ecbc2 100644 --- a/drivers/misc/shrm/shrm_protocol.c +++ b/drivers/misc/shrm/shrm_protocol.c @@ -19,6 +19,7 @@ #include <mach/prcmu-fw-api.h> #include <mach/prcmu-regs.h> #include <mach/suspend.h> +#include <mach/reboot_reasons.h> #define L2_HEADER_ISI 0x0 #define L2_HEADER_RPC 0x1 @@ -557,8 +558,9 @@ static void shrm_modem_reset_callback(unsigned long irq) } #else dev_info(shm_dev->dev, "Modem in reset loop, doing System reset\n"); + /* Call the PRCMU reset API */ - prcmu_system_reset(); + prcmu_system_reset(SW_RESET_NO_ARGUMENT); #endif } |