platform: msm_shared: Update the reboot reason values for PON
PON register the bits 5 to 7 are assigned to HLOS to store reboot
reason, use the values for reboot reason starting from bit 5 instead of
using the reboot reason values after right shifting. This cause macro
collision with dload mode macros.
Change-Id: I35e65725b6b2e9d1bea82288b988188e44b16dfb
diff --git a/platform/msm_shared/reboot.c b/platform/msm_shared/reboot.c
index 2fe514e..8f53633 100644
--- a/platform/msm_shared/reboot.c
+++ b/platform/msm_shared/reboot.c
@@ -69,14 +69,12 @@
unsigned check_hard_reboot_mode(void)
{
uint8_t hard_restart_reason = 0;
- uint8_t value = 0;
/* Read reboot reason and scrub it
* Bit-5, bit-6 and bit-7 of SOFT_RB_SPARE for hard reset reason
*/
- value = REG_READ(PON_SOFT_RB_SPARE);
- hard_restart_reason = value >> 5;
- REG_WRITE(PON_SOFT_RB_SPARE, value & 0x1f);
+ hard_restart_reason = REG_READ(PON_SOFT_RB_SPARE);
+ REG_WRITE(PON_SOFT_RB_SPARE, hard_restart_reason & 0x1f);
return hard_restart_reason;
}
@@ -112,7 +110,7 @@
#if USE_PON_REBOOT_REG
value = REG_READ(PON_SOFT_RB_SPARE);
- value |= ((reboot_reason << 5) & 0xff);
+ value |= reboot_reason;
REG_WRITE(PON_SOFT_RB_SPARE, value);
#else
writel(reboot_reason, RESTART_REASON_ADDR);
diff --git a/platform/msm_shared/reboot.h b/platform/msm_shared/reboot.h
index 9ea23a8..bf39988 100644
--- a/platform/msm_shared/reboot.h
+++ b/platform/msm_shared/reboot.h
@@ -27,9 +27,9 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#if USE_PON_REBOOT_REG
-#define RECOVERY_MODE 0x01
-#define FASTBOOT_MODE 0x02
-#define ALARM_BOOT 0x03
+#define RECOVERY_MODE 0x20
+#define FASTBOOT_MODE 0x40
+#define ALARM_BOOT 0x60
#else
#define FASTBOOT_MODE 0x77665500
#define RECOVERY_MODE 0x77665502