[target/(msm7627,qsd8250)]: Add support to boot into recovery mode and bootloader fastboot mode
Add recovery partition in page table entry for 7627_surf and 7627_ffa targets.
Add code support to boot into recovery mode using the Home_key.
Add code support to boot into recovery and bootloader (fastboot) mode using adb shell reboot commands.
diff --git a/target/msm7627_surf/init.c b/target/msm7627_surf/init.c
index 8a57d56..a860e07 100644
--- a/target/msm7627_surf/init.c
+++ b/target/msm7627_surf/init.c
@@ -35,6 +35,7 @@
#include <dev/gpio_keypad.h>
#include <lib/ptable.h>
#include <dev/flash.h>
+#include <smem.h>
#define LINUX_MACHTYPE 1007014
@@ -66,6 +67,11 @@
},
{
.start = 704,
+ .length = 40 /* 5MB */,
+ .name = "recovery",
+ },
+ {
+ .start = 744,
.length = 720 /* 90MB */,
.name = "userdata",
},
@@ -124,3 +130,19 @@
{
return LINUX_MACHTYPE;
}
+
+unsigned check_reboot_mode(void)
+{
+ unsigned mode = 0;
+ unsigned int mode_len = sizeof(mode);
+ unsigned smem_status;
+
+ smem_status = smem_read_alloc_entry(SMEM_APPS_BOOT_MODE,
+ &mode, mode_len );
+ if(smem_status)
+ {
+ dprintf(CRITICAL, "ERROR: unable to read shared memory for reboot mode\n");
+ return 0;
+ }
+ return mode;
+}