platform: msm_shared: Add a new SCM API to write to the BOOT_MISC register

BOOT_MISC_DETECT register is XPU protected. Add a new SCM API
to write to this register to detect the reboot, download mode
and emergency download modes.

Change-Id: I42854622268440eea1e4005ef5c7799fa5e9ded4
diff --git a/platform/msm_shared/include/scm.h b/platform/msm_shared/include/scm.h
index ba6ed88..6c8f7ef 100644
--- a/platform/msm_shared/include/scm.h
+++ b/platform/msm_shared/include/scm.h
@@ -117,6 +117,7 @@
 } el1_system_param;
 
 /* Service IDs */
+#define SCM_SVC_BOOT                0x01
 #define TZBSP_SVC_INFO              0x06
 #define SCM_SVC_SSD                 0x07
 #define SVC_MEMORY_PROTECTION       0x0C
@@ -127,7 +128,8 @@
 #define SSD_PROTECT_KEYSTORE_ID     0x05
 #define SSD_PARSE_MD_ID             0x06
 #define SSD_DECRYPT_IMG_FRAG_ID     0x07
-
+#define WDOG_DEBUG_DISABLE          0x09
+#define SCM_DLOAD_CMD               0x10
 
 #define SECURE_DEVICE_MDSS          0x01
 
@@ -135,6 +137,10 @@
 
 #define TZ_INFO_GET_FEATURE_ID      0x03
 
+/* Download Mode specific arguments to be passed to TZ */
+#define SCM_EDLOAD_MODE 0x02
+#define SCM_DLOAD_MODE  0x10
+
 /* SSD parsing status messages from TZ */
 #define SSD_PMD_ENCRYPTED           0
 #define SSD_PMD_NOT_ENCRYPTED       1
@@ -207,6 +213,7 @@
 void set_tamper_fuse_cmd();
 
 int scm_halt_pmic_arbiter();
+int scm_call_atomic2(uint32_t svc, uint32_t cmd, uint32_t arg1, uint32_t arg2);
 
 void scm_elexec_call(paddr_t kernel_entry, paddr_t dtb_offset);