Merge "platform: msm_shared: Configure USB2PHY settings for 8953" into lk.lnx.1.0-dev.1.0
diff --git a/app/aboot/mdtp.c b/app/aboot/mdtp.c
index a38092e..e1e9568 100644
--- a/app/aboot/mdtp.c
+++ b/app/aboot/mdtp.c
@@ -410,7 +410,7 @@
uint32_t pin_length = 0;
char entered_pin[MDTP_PIN_LEN+1] = {0};
uint32_t i;
- char pin_mismatch = 0;
+ int pin_mismatch = -1;
if (mdtp_cfg->enable_local_pin_authentication)
{
@@ -434,12 +434,14 @@
// (with INVALID_PIN_DELAY_MSECONDS after each failed attempt)
while (1)
{
+ pin_mismatch = pin_length;
get_pin_from_user(entered_pin, pin_length);
// Go over the entire PIN in any case, to prevent side-channel attacks
for (i=0; i<pin_length; i++)
{
- pin_mismatch |= mdtp_cfg->mdtp_pin.mdtp_pin[i] ^ entered_pin[i];
+ // If current digit match, reduce 1 from pin_mismatch
+ pin_mismatch -= (((mdtp_cfg->mdtp_pin.mdtp_pin[i] ^ entered_pin[i]) == 0) ? 1 : 0);
}
if (0 == pin_mismatch)
@@ -455,8 +457,6 @@
// for INVALID_PIN_DELAY_MSECONDS), and allow the user to try again
dprintf(CRITICAL, "mdtp: display_recovery_ui: ERROR, invalid PIN\n");
display_invalid_pin_msg();
-
- pin_mismatch = 0;
}
}
}
diff --git a/include/platform.h b/include/platform.h
index f3f970b..dd23381 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -66,7 +66,7 @@
int platform_is_msm8909();
int platform_is_msm8992();
int platform_is_msm8937();
-int platform_is_msmgold();
+int platform_is_msm8917();
uint32_t platform_get_apcs_ipc_base();
int platform_is_msm8952();
int platform_is_msm8953();
diff --git a/lib/libfdt/fdt.c b/lib/libfdt/fdt.c
index c43b83e..15e66e4 100644
--- a/lib/libfdt/fdt.c
+++ b/lib/libfdt/fdt.c
@@ -70,19 +70,6 @@
} else {
return -FDT_ERR_BADMAGIC;
}
-
- if (fdt_off_dt_struct(fdt) > (UINT_MAX - fdt_size_dt_struct(fdt)))
- return FDT_ERR_BADOFFSET;
-
- if (fdt_off_dt_strings(fdt) > (UINT_MAX - fdt_size_dt_strings(fdt)))
- return FDT_ERR_BADOFFSET;
-
- if ((fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt)) > fdt_totalsize(fdt))
- return FDT_ERR_BADOFFSET;
-
- if ((fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt)) > fdt_totalsize(fdt))
- return FDT_ERR_BADOFFSET;
-
return 0;
}
diff --git a/platform/msm8952/msm8952-clock.c b/platform/msm8952/msm8952-clock.c
index ea142d7..d6c029f 100644
--- a/platform/msm8952/msm8952-clock.c
+++ b/platform/msm8952/msm8952-clock.c
@@ -650,7 +650,7 @@
msm8976_v_1_1_sdcc_clock_modify();
}
- if (platform_is_msm8937() || platform_is_msmgold())
+ if (platform_is_msm8937() || platform_is_msm8917())
msm8937_clock_override();
clk_init(msm_clocks_8952, ARRAY_SIZE(msm_clocks_8952));
diff --git a/platform/msm8952/platform.c b/platform/msm8952/platform.c
index 1851c22..251bbb9 100644
--- a/platform/msm8952/platform.c
+++ b/platform/msm8952/platform.c
@@ -177,17 +177,17 @@
return 256;
}
-int platform_is_msmgold()
+int platform_is_msm8917()
{
uint32_t platform = board_platform_id();
uint32_t ret = 0;
switch(platform)
{
- case MSMGOLD:
- case MSMGOLD2:
- case MSMGOLD3:
- case APQGOLD:
+ case MSM8917:
+ case MSM8217:
+ case MSM8617:
+ case APQ8017:
ret = 1;
break;
default:
@@ -255,7 +255,7 @@
uint32_t platform_get_tz_app_add()
{
- if(platform_is_msm8937())
+ if(platform_is_msm8937() || platform_is_msm8917())
return APP_REGION_ADDR_8937;
else
return APP_REGION_ADDR_8952;
@@ -263,7 +263,7 @@
uint32_t platform_get_tz_app_size()
{
- if(platform_is_msm8937())
+ if(platform_is_msm8937() || platform_is_msm8917())
return APP_REGION_SIZE_8937;
else
return APP_REGION_SIZE_8952;
@@ -271,7 +271,7 @@
uint32_t platform_get_apcs_ipc_base()
{
- if(platform_is_msmgold())
+ if(platform_is_msm8917())
return APCS_ALIAS1_IPC_INTERRUPT_1;
else
return APCS_ALIAS0_IPC_INTERRUPT_2;
diff --git a/platform/msm_shared/dev_tree.c b/platform/msm_shared/dev_tree.c
index 5c3d16a..40c24a4 100755
--- a/platform/msm_shared/dev_tree.c
+++ b/platform/msm_shared/dev_tree.c
@@ -60,6 +60,32 @@
*/
extern int check_aboot_addr_range_overlap(uint32_t start, uint32_t size);
+int fdt_check_header_ext(const void *fdt)
+{
+ uintptr_t fdt_start, fdt_end;
+ fdt_start = (uintptr_t)fdt;
+ if(fdt_start + fdt_totalsize(fdt) < fdt_start)
+ {
+ dprintf(CRITICAL,"Integer over in fdt header %s\t%d",__func__,__LINE__);
+ return FDT_ERR_BADOFFSET;
+ }
+ fdt_end = fdt_start + fdt_totalsize(fdt);
+
+ if (((uint64_t)fdt_start + (uint64_t)fdt_off_dt_struct(fdt) + (uint64_t)fdt_size_dt_struct(fdt)) > UINT_MAX)
+ return FDT_ERR_BADOFFSET;
+
+ if ((fdt_start + fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt)) > fdt_end)
+ return FDT_ERR_BADOFFSET;
+
+ if (((uint64_t)fdt_start + (uint64_t)fdt_off_dt_strings(fdt) + (uint64_t)fdt_size_dt_strings(fdt)) > UINT_MAX)
+ return FDT_ERR_BADOFFSET;
+
+ if ((fdt_start + fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt)) > fdt_end)
+ return FDT_ERR_BADOFFSET;
+
+ return 0;
+}
+
/* Returns soc version if platform id and hardware id matches
otherwise return 0xFFFFFFFF */
#define INVALID_SOC_REV_ID 0XFFFFFFFF
@@ -454,6 +480,7 @@
* and operate on it separately */
memcpy(&dtb_hdr, dtb, sizeof(struct fdt_header));
if (fdt_check_header((const void *)&dtb_hdr) != 0 ||
+ fdt_check_header_ext((const void *)&dtb_hdr) != 0 ||
((uintptr_t)dtb + (uintptr_t)fdt_totalsize((const void *)&dtb_hdr) < (uintptr_t)dtb) ||
((uintptr_t)dtb + (uintptr_t)fdt_totalsize((const void *)&dtb_hdr) > (uintptr_t)kernel_end))
break;
@@ -1262,7 +1289,7 @@
uint32_t offset;
/* Check the device tree header */
- ret = fdt_check_header(fdt);
+ ret = fdt_check_header(fdt) || fdt_check_header_ext(fdt);
if (ret)
{
dprintf(CRITICAL, "Invalid device tree header \n");
diff --git a/platform/msm_shared/include/mdp5.h b/platform/msm_shared/include/mdp5.h
index 05cd121..2a72772 100644
--- a/platform/msm_shared/include/mdp5.h
+++ b/platform/msm_shared/include/mdp5.h
@@ -95,7 +95,7 @@
#define MDSS_MDP_HW_REV_112 MDSS_MDP_REV(1, 12, 0) /* 8952 v1.0 */
#define MDSS_MDP_HW_REV_114 MDSS_MDP_REV(1, 14, 0) /* 8937 v1.0 */
#define MDSS_MDP_HW_REV_116 MDSS_MDP_REV(1, 16, 0) /* msm8953 */
-#define MDSS_MDP_HW_REV_115 MDSS_MDP_REV(1, 15, 0) /* msmgold v1.0 */
+#define MDSS_MDP_HW_REV_115 MDSS_MDP_REV(1, 15, 0) /* msm8917 v1.0 */
#define MDSS_MDP_HW_REV_200 MDSS_MDP_REV(2, 0, 0) /* 8092 v1.0 */
#define MDSS_MAX_LINE_BUF_WIDTH 2048
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index c4e9699..d2e67d8 100644
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -448,12 +448,12 @@
MSM8937 = 294,
APQ8037 = 295,
MSM8996L = 302,
- MSMGOLD = 303,
+ MSM8917 = 303,
APQ8053 = 304,
MSM8996SG = 305,
- APQGOLD = 307,
- MSMGOLD2 = 308,
- MSMGOLD3 = 309,
+ APQ8017 = 307,
+ MSM8217 = 308,
+ MSM8617 = 309,
MSM8996AU = 310,
APQ8096AU = 311,
APQ8096SG = 312,
diff --git a/target/init.c b/target/init.c
index 728402d..ba2e608 100644
--- a/target/init.c
+++ b/target/init.c
@@ -270,10 +270,10 @@
break;
case MSM8937:
case APQ8037:
- case MSMGOLD:
- case MSMGOLD2:
- case MSMGOLD3:
- case APQGOLD:
+ case MSM8917:
+ case MSM8217:
+ case MSM8617:
+ case APQ8017:
case MSM8953:
case APQ8053:
config->vib_type = VIB_LRA_TYPE;
diff --git a/target/msm8952/init.c b/target/msm8952/init.c
index 43e1b2e..9eedac9 100644
--- a/target/msm8952/init.c
+++ b/target/msm8952/init.c
@@ -185,7 +185,7 @@
if(platform_is_msm8956())
vol_up_gpio = TLMM_VOL_UP_BTN_GPIO_8956;
- else if(platform_is_msm8937() || platform_is_msmgold())
+ else if(platform_is_msm8937() || platform_is_msm8917())
vol_up_gpio = TLMM_VOL_UP_BTN_GPIO_8937;
else
vol_up_gpio = TLMM_VOL_UP_BTN_GPIO;
@@ -263,7 +263,7 @@
spmi_init(PMIC_ARB_CHANNEL_NUM, PMIC_ARB_OWNER_ID);
- if(platform_is_msm8937() || platform_is_msmgold())
+ if(platform_is_msm8937() || platform_is_msm8917())
{
uint8_t pmi_rev = 0;
uint32_t pmi_type = 0;
@@ -375,16 +375,16 @@
case MSM8956:
case MSM8976:
case MSM8937:
- case MSMGOLD:
- case MSMGOLD2:
- case MSMGOLD3:
+ case MSM8917:
+ case MSM8217:
+ case MSM8617:
board->baseband = BASEBAND_MSM;
break;
case APQ8052:
case APQ8056:
case APQ8076:
case APQ8037:
- case APQGOLD:
+ case APQ8017:
board->baseband = BASEBAND_APQ;
break;
default:
diff --git a/target/msm8952/mdtp_defs.c b/target/msm8952/mdtp_defs.c
index a1ef897..4e15ea8 100644
--- a/target/msm8952/mdtp_defs.c
+++ b/target/msm8952/mdtp_defs.c
@@ -58,7 +58,7 @@
target_efuse->address = MDTP_EFUSE_ADDRESS_MSM8952;
target_efuse->start = MDTP_EFUSE_START_MSM8952;
}
- else if (platform_is_msm8937() || platform_is_msmgold())
+ else if (platform_is_msm8937() || platform_is_msm8917())
{
target_efuse->address = MDTP_EFUSE_ADDRESS_MSM8937;
target_efuse->start = MDTP_EFUSE_START_MSM8937;
diff --git a/target/msm8952/oem_panel.c b/target/msm8952/oem_panel.c
index 3da5af1..ffc7daa 100755
--- a/target/msm8952/oem_panel.c
+++ b/target/msm8952/oem_panel.c
@@ -738,7 +738,7 @@
case HW_PLATFORM_MTP:
if (platform_is_msm8956())
panel_id = NT35597_WQXGA_DUALDSI_VIDEO_PANEL;
- else if (platform_is_msmgold())
+ else if (platform_is_msm8917())
panel_id = TRULY_720P_VIDEO_PANEL;
else
panel_id = TRULY_1080P_VIDEO_PANEL;
@@ -747,7 +747,7 @@
case HW_PLATFORM_RCM:
if (platform_is_msm8956())
panel_id = NT35597_WQXGA_DUALDSI_VIDEO_PANEL;
- else if (platform_is_msmgold())
+ else if (platform_is_msm8917())
panel_id = TRULY_720P_VIDEO_PANEL;
else
panel_id = TRULY_1080P_VIDEO_PANEL;
@@ -793,7 +793,7 @@
return PANEL_TYPE_UNKNOWN;
}
auto_pan_loop++;
- } else if (platform_is_msmgold()) {
+ } else if (platform_is_msm8917()) {
panel_id = HX8394F_720P_VIDEO_PANEL;
}
diff --git a/target/msm8952/target_display.c b/target/msm8952/target_display.c
index 1e5b796..6749bf8 100644
--- a/target/msm8952/target_display.c
+++ b/target/msm8952/target_display.c
@@ -311,7 +311,7 @@
pll_data->vco_delay = VCO_DELAY_USEC;
/* SSC parameters */
- if (platform_is_msm8937() || platform_is_msmgold()) {
+ if (platform_is_msm8937() || platform_is_msm8917()) {
pll_data->ssc_en = true;
pll_data->is_center_spread = false;
pll_data->ssc_freq = 30000;
@@ -372,7 +372,7 @@
reset_gpio.pin_id = 60;
bkl_gpio.pin_id = 98;
enable_gpio.pin_id = 99;
- } else if (platform_is_msmgold()) {
+ } else if (platform_is_msm8917()) {
reset_gpio.pin_id = 60;
bkl_gpio.pin_id = 98;
pinfo->mipi.use_enable_gpio = 0;
@@ -515,7 +515,7 @@
int target_display_get_base_offset(uint32_t base)
{
if(platform_is_msm8956() || platform_is_msm8937() ||
- platform_is_msmgold()) {
+ platform_is_msm8917()) {
if (base == MIPI_DSI0_BASE)
return DSI0_BASE_ADJUST;
else if (base == DSI0_PHY_BASE)