Merge "mdm9615: Add FOTA cookie check"
diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index 467bf2c..c67ce40 100644
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -414,6 +414,9 @@
set_tamper_fuse_cmd();
#endif
}
+ #if USE_PCOM_SECBOOT
+ set_tamper_flag(device.is_tampered);
+ #endif
}
else
{
@@ -1244,6 +1247,9 @@
#ifdef TZ_TAMPER_FUSE
set_tamper_fuse_cmd();
#endif
+ #if USE_PCOM_SECBOOT
+ set_tamper_flag(device.is_tampered);
+ #endif
}
}
boot_linux_from_mmc();
diff --git a/platform/msm8960/acpuclock.c b/platform/msm8960/acpuclock.c
index cebc8d1..6c24aef 100644
--- a/platform/msm8960/acpuclock.c
+++ b/platform/msm8960/acpuclock.c
@@ -208,10 +208,10 @@
void ce_clock_init(void)
{
/* Enable HCLK for CE */
- clk_get_set_enable("ce_pclk", 0, 1);
+ clk_get_set_enable("ce1_pclk", 0, 1);
/* Enable core clk for CE */
- clk_get_set_enable("ce_clk", 0, 1);
+ clk_get_set_enable("ce1_clk", 0, 1);
}
/* Async Reset CE1 */
diff --git a/platform/msm8960/gpio.c b/platform/msm8960/gpio.c
index 783d4c1..82d99bd 100644
--- a/platform/msm8960/gpio.c
+++ b/platform/msm8960/gpio.c
@@ -63,7 +63,24 @@
/* Configure gpio for uart - based on gsbi id */
void gpio_config_uart_dm(uint8_t id)
{
- if(board_platform_id() == APQ8064)
+ if(board_platform_id() == MPQ8064)
+ {
+ switch (id) {
+
+ case GSBI_ID_5:
+ /* configure rx gpio */
+ gpio_tlmm_config(52, 1, GPIO_INPUT, GPIO_NO_PULL,
+ GPIO_8MA, GPIO_DISABLE);
+ /* configure tx gpio */
+ gpio_tlmm_config(51, 1, GPIO_OUTPUT, GPIO_NO_PULL,
+ GPIO_8MA, GPIO_DISABLE);
+ break;
+
+ default:
+ ASSERT(0);
+ }
+ }
+ else if(board_platform_id() == APQ8064)
{
switch (id) {
diff --git a/platform/msm_shared/include/board.h b/platform/msm_shared/include/board.h
index 1eef91e..59e19e3 100644
--- a/platform/msm_shared/include/board.h
+++ b/platform/msm_shared/include/board.h
@@ -53,6 +53,7 @@
#define LINUX_MACHTYPE_8064_CDP 3948
#define LINUX_MACHTYPE_8064_MTP 3949
#define LINUX_MACHTYPE_8064_LIQUID 3951
+#define LINUX_MACHTYPE_8064_MPQ_CDP 3993
#define LINUX_MACHTYPE_8064_HRD 3994
#define LINUX_MACHTYPE_8064_DTV 3995
diff --git a/platform/msm_shared/mmc.c b/platform/msm_shared/mmc.c
index b1fc977..124cb9f 100644
--- a/platform/msm_shared/mmc.c
+++ b/platform/msm_shared/mmc.c
@@ -2797,7 +2797,7 @@
}
/* Sending CMD36 */
- mmc_ret = mmc_boot_send_erase_group_end(&mmc_card, data_end - 1);
+ mmc_ret = mmc_boot_send_erase_group_end(&mmc_card, data_end);
if (mmc_ret != MMC_BOOT_E_SUCCESS) {
dprintf(CRITICAL, "Error %d: Failure sending erase group end "
"command to the card (RCA:%x)\n", mmc_ret,
@@ -2805,18 +2805,16 @@
return mmc_ret;
}
- for (unsigned long long i = 0; i < loop_count; i++) {
- /* Sending CMD38 */
- mmc_ret = mmc_boot_send_erase(&mmc_card);
- if (mmc_ret != MMC_BOOT_E_SUCCESS) {
- dprintf(CRITICAL,
- "Error %d: Failure sending erase command "
- "to the card (RCA:%x)\n", mmc_ret,
- mmc_card.rca);
- return mmc_ret;
+ /* Sending CMD38 */
+ mmc_ret = mmc_boot_send_erase(&mmc_card);
+ if (mmc_ret != MMC_BOOT_E_SUCCESS) {
+ dprintf(CRITICAL,
+ "Error %d: Failure sending erase command "
+ "to the card (RCA:%x)\n", mmc_ret, mmc_card.rca);
+ return mmc_ret;
- }
}
+
dprintf(CRITICAL, "ERASE SUCCESSFULLY COMPLETED\n");
return MMC_BOOT_E_SUCCESS;
}
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index 8e58653..269ae9f 100644
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -226,6 +226,8 @@
SMEM_FIRST_VALID_TYPE = SMEM_SPINLOCK_ARRAY,
SMEM_LAST_VALID_TYPE = SMEM_BOOT_INFO_FOR_APPS,
+
+ SMEM_MAX_SIZE = SMEM_BOOT_INFO_FOR_APPS + 1,
} smem_mem_type_t;
/* Note: buf MUST be 4byte aligned, and max_len MUST be a multiple of 4. */
@@ -272,7 +274,7 @@
struct smem_proc_comm proc_comm[4];
unsigned version_info[32];
struct smem_heap_info heap_info;
- struct smem_alloc_info alloc_info[SMEM_LAST_VALID_TYPE];
+ struct smem_alloc_info alloc_info[SMEM_MAX_SIZE];
};
struct smem_ram_ptn {
diff --git a/target/msm7627a/init.c b/target/msm7627a/init.c
index e40542b..f207d4a 100644
--- a/target/msm7627a/init.c
+++ b/target/msm7627a/init.c
@@ -281,9 +281,9 @@
|| (target_msm_id >= MSM7225AA
&& target_msm_id <= ESM7225AA))
hw_platform = MSM7X25A_SURF;
- else
- hw_platform = MSM7X27A_SURF;
- break;
+ else
+ hw_platform = MSM7X27A_SURF;
+ break;
case 0x2:
if (target_msm_id == MSM7225A
|| target_msm_id == MSM7625A
@@ -291,32 +291,32 @@
|| (target_msm_id >= MSM7225AA
&& target_msm_id <= ESM7225AA))
hw_platform = MSM7X25A_FFA;
- else
- hw_platform = MSM7X27A_FFA;
- break;
- case 0xB:
- if(target_is_emmc_boot())
- hw_platform = MSM7X27A_QRD1;
- else
+ else
+ hw_platform = MSM7X27A_FFA;
+ break;
+ case 0xB:
+ if(target_is_emmc_boot())
+ hw_platform = MSM7X27A_QRD1;
+ else
+ hw_platform = MSM7X27A_QRD3;
+ break;
+ case 0xC:
+ hw_platform = MSM7X27A_EVB;
+ break;
+ case 0xF:
hw_platform = MSM7X27A_QRD3;
- break;
- case 0xC:
- hw_platform = MSM7X27A_EVB;
- break;
- case 0xF:
- hw_platform = MSM7X27A_QRD3;
- break;
- default:
- if (target_msm_id == MSM7225A
- || target_msm_id == MSM7625A
- || target_msm_id == ESM7225A
- || (target_msm_id >= MSM7225AA
- && target_msm_id <= ESM7225AA))
- hw_platform = MSM7X25A_SURF;
- else
- hw_platform = MSM7X27A_SURF;
- };
- }
+ break;
+ default:
+ if (target_msm_id == MSM7225A
+ || target_msm_id == MSM7625A
+ || target_msm_id == ESM7225A
+ || (target_msm_id >= MSM7225AA
+ && target_msm_id <= ESM7225AA))
+ hw_platform = MSM7X25A_SURF;
+ else
+ hw_platform = MSM7X27A_SURF;
+ };
+ }
/* Set msm ID for target variants based on values read from smem */
switch (target_msm_id) {
case MSM7225A:
diff --git a/target/msm8960/init.c b/target/msm8960/init.c
index 4a5d84f..7488800 100644
--- a/target/msm8960/init.c
+++ b/target/msm8960/init.c
@@ -123,8 +123,8 @@
if ((platform_id == MSM8960) || (platform_id == MSM8660A)
|| (platform_id == MSM8260A) || (platform_id == APQ8060A)
|| (platform_id == MSM8230) || (platform_id == MSM8630)
- || (platform_id == MSM8930) || (platform_id == APQ8030)
- || (platform_id == MSM8227) || (platform_id == MSM8627)) {
+ || (platform_id == APQ8030) || (platform_id == MSM8227)
+ || (platform_id == MSM8627)) {
panel_backlight_on();
display_init();
dprintf(SPEW, "Diplay initialized\n");
@@ -277,6 +277,10 @@
uart_dm_init(7, 0x16600000, 0x16640000);
break;
+ case LINUX_MACHTYPE_8064_MPQ_CDP:
+ uart_dm_init(5, 0x1A200000, 0x1A240000);
+ break;
+
case LINUX_MACHTYPE_8627_CDP:
case LINUX_MACHTYPE_8627_MTP: