Merge 0534f8b52fbfee5fa38f7bb7fce296b006dc9a68 on remote branch

Change-Id: I82095673bb4cd803c3c5387a1a2fb6b5910744d9
diff --git a/platform/msm8952/msm8952-clock.c b/platform/msm8952/msm8952-clock.c
index 6b1989c..b7ced0b 100644
--- a/platform/msm8952/msm8952-clock.c
+++ b/platform/msm8952/msm8952-clock.c
@@ -651,7 +651,7 @@
 	}
 
 	if (platform_is_msm8937() || platform_is_msm8917() ||
-		platform_is_sdm429() || platform_is_sdm439() ||
+		platform_is_sdm429() || platform_is_sdm429w() || platform_is_sdm439() ||
 		platform_is_qm215())
 		msm8937_clock_override();
 
diff --git a/platform/msm8952/platform.c b/platform/msm8952/platform.c
index 2b5bdcf..bb1393c 100644
--- a/platform/msm8952/platform.c
+++ b/platform/msm8952/platform.c
@@ -353,7 +353,7 @@
 uint32_t platform_get_tz_app_add()
 {
 	if(platform_is_msm8937() || platform_is_msm8917() ||
-		platform_is_sdm429() || platform_is_sdm439() ||
+		platform_is_sdm429() || platform_is_sdm429w() || platform_is_sdm439() ||
 		platform_is_qm215())
 		return APP_REGION_ADDR_8937;
 	else
@@ -363,7 +363,7 @@
 uint32_t platform_get_tz_app_size()
 {
 	if(platform_is_msm8937() || platform_is_msm8917() ||
-		platform_is_sdm429() || platform_is_sdm439() ||
+		platform_is_sdm429() || platform_is_sdm429w() || platform_is_sdm439() ||
 		platform_is_qm215())
 		return APP_REGION_SIZE_8937;
 	else
@@ -372,7 +372,7 @@
 
 uint32_t platform_get_apcs_ipc_base()
 {
-	if(platform_is_msm8917() || platform_is_sdm429() || platform_is_qm215())
+	if(platform_is_msm8917() || platform_is_sdm429() ||  platform_is_sdm429w() || platform_is_qm215())
 		return APCS_ALIAS1_IPC_INTERRUPT_1;
 	else
 		return APCS_ALIAS0_IPC_INTERRUPT_2;
diff --git a/target/msm8952/init.c b/target/msm8952/init.c
index 7513e9e..136ab70 100644
--- a/target/msm8952/init.c
+++ b/target/msm8952/init.c
@@ -112,7 +112,7 @@
 
 static int sdm429_pm660_target()
 {
-	if (platform_is_sdm429() && (board_hardware_subtype()
+	if ((platform_is_sdm429() || platform_is_sdm429w()) && (board_hardware_subtype()
 			== HW_PLATFORM_SUBTYPE_429W_PM660))
 		return 1;
 	else
@@ -202,7 +202,7 @@
 	if(platform_is_msm8956())
 		vol_up_gpio = TLMM_VOL_UP_BTN_GPIO_8956;
 	else if(platform_is_msm8937() || platform_is_msm8917() ||
-		    platform_is_sdm429() || platform_is_sdm439() ||
+		    platform_is_sdm429() || platform_is_sdm429w() || platform_is_sdm439() ||
 		    platform_is_qm215())
 		vol_up_gpio = TLMM_VOL_UP_BTN_GPIO_8937;
 	else
@@ -308,7 +308,7 @@
 	if(target_is_pmi_enabled())
 	{
 		if(platform_is_msm8937() || platform_is_msm8917() ||
-		   platform_is_sdm429() || platform_is_sdm439())
+		   platform_is_sdm429() || platform_is_sdm429w() || platform_is_sdm439())
 		{
 			uint8_t pmi_rev = 0;
 			uint32_t pmi_type = 0;
@@ -427,6 +427,7 @@
 	case MSM8617:
 	case SDM429:
 	case SDM439:
+	case SDM429W:
 	case QM215:
 		board->baseband = BASEBAND_MSM;
 		break;
diff --git a/target/msm8952/oem_panel.c b/target/msm8952/oem_panel.c
index 55619e7..e49252c 100644
--- a/target/msm8952/oem_panel.c
+++ b/target/msm8952/oem_panel.c
@@ -1041,7 +1041,7 @@
 			panel_id = HX8399C_FHD_PLUSE_VIDEO_PANEL;
 		}
 
-		if (platform_is_sdm429()) {
+		if (platform_is_sdm429() || platform_is_sdm429w()) {
 			if (hw_subtype == HW_PLATFORM_SUBTYPE_429W_PM660) /* Spyro target */
 				panel_id = RM67162_QVGA_CMD_PANEL;
 			else
@@ -1082,7 +1082,7 @@
 	 * Update all data structures after 'panel_init' label. Only panel
 	 * selection is supposed to happen before that.
 	 */
-	if (platform_is_sdm439() || platform_is_sdm429()) {
+	if (platform_is_sdm439() || platform_is_sdm429() || platform_is_sdm429w()) {
 		phy_db->pll_type = DSI_PLL_TYPE_12NM;
 		pinfo->lane_config = mdss_dsi_lane_config;
 		goto end;
diff --git a/target/msm8952/regulator.c b/target/msm8952/regulator.c
index ecb2ba3..143d9c0 100644
--- a/target/msm8952/regulator.c
+++ b/target/msm8952/regulator.c
@@ -178,7 +178,7 @@
 		if (enable & REG_LDO1)
 			rpm_send_data(&ldo1[GENERIC_ENABLE][0], 36, RPM_REQUEST_TYPE);
 
-	} else if (platform_is_sdm439() || platform_is_sdm429()) {
+	} else if (platform_is_sdm439() || platform_is_sdm429() || platform_is_sdm429w()) {
 		if (enable & REG_LDO5)
 			rpm_send_data(&ldo5[GENERIC_ENABLE][0],
 				36, RPM_REQUEST_TYPE);
@@ -187,7 +187,7 @@
 			rpm_send_data(&ldo2[GENERIC_ENABLE][0], 36, RPM_REQUEST_TYPE);
 	}
 
-	if (platform_is_sdm429() && hw_subtype
+	if ((platform_is_sdm429() || platform_is_sdm429w()) && hw_subtype
 			== HW_PLATFORM_SUBTYPE_429W_PM660) {
 		if (enable & REG_LDO13)
 			rpm_send_data(&ldo13_pm660[GENERIC_ENABLE][0],
@@ -201,7 +201,7 @@
 		rpm_send_data(&ldo17[GENERIC_ENABLE][0], 36, RPM_REQUEST_TYPE);
 
 	if (enable & REG_LDO6) {
-		if (platform_is_sdm429() && hw_subtype
+		if ((platform_is_sdm429() || platform_is_sdm429w()) && hw_subtype
 				== HW_PLATFORM_SUBTYPE_429W_PM660)
 			rpm_send_data(&ldo6_pm660[GENERIC_ENABLE][0], 36, RPM_REQUEST_TYPE);
 		else
@@ -215,7 +215,7 @@
 		if (enable & REG_LDO1)
 			rpm_send_data(&ldo1[GENERIC_DISABLE][0], 36, RPM_REQUEST_TYPE);
 
-	} else if (platform_is_sdm439() || platform_is_sdm429()) {
+	} else if (platform_is_sdm439() || platform_is_sdm429() || platform_is_sdm429w()) {
 		if (enable & REG_LDO5)
 			rpm_send_data(&ldo5[GENERIC_DISABLE][0],
 				36, RPM_REQUEST_TYPE);
diff --git a/target/msm8952/target_display.c b/target/msm8952/target_display.c
index 7d74abe..43a3382 100644
--- a/target/msm8952/target_display.c
+++ b/target/msm8952/target_display.c
@@ -362,7 +362,7 @@
 		pll_data->is_center_spread = false;
 		pll_data->ssc_freq = 30000;
 		pll_data->ssc_ppm = 5000;
-	} else if (platform_is_sdm439() || platform_is_sdm429()) {
+	} else if (platform_is_sdm439() || platform_is_sdm429() || platform_is_sdm429w()) {
 		pll_data->ssc_en = true;
 		pll_data->is_center_spread = false;
 		pll_data->ssc_freq = 31500;
@@ -386,7 +386,7 @@
 
 		gcc_dsi_lp_clock_enable(flags);
 
-		if (platform_is_sdm439() || platform_is_sdm429()) {
+		if (platform_is_sdm439() || platform_is_sdm429() || platform_is_sdm429w()) {
 			mdss_dsi_auto_pll_12nm_config(pinfo);
 
 			/*
@@ -450,9 +450,9 @@
 		bkl_gpio.pin_id = 93;
 		enable_gpio.pin_id = 94;
 		pinfo->mipi.use_enable_gpio = 1;
-	} else if (platform_is_sdm439() || platform_is_sdm429()) {
+	} else if (platform_is_sdm439() || platform_is_sdm429() || platform_is_sdm429w()) {
 		reset_gpio.pin_id = 60;
-		if (platform_is_sdm429() && hw_subtype
+		if ((platform_is_sdm429() || platform_is_sdm429w()) && hw_subtype
 			== HW_PLATFORM_SUBTYPE_429W_PM660) {
 			reset_gpio.pin_id = 60;
 			pinfo->mipi.use_enable_gpio = 1;
@@ -473,7 +473,7 @@
 			gpio_set_dir(enable_gpio.pin_id, 2);
 		}
 
-		if (platform_is_sdm439() || platform_is_sdm429()) {
+		if (platform_is_sdm439() || platform_is_sdm429() || platform_is_sdm429w()) {
 			/* enable PM GPIO-4 for backlight enable */
 			struct pm8x41_gpio gpio_param = {
 			.direction = PM_GPIO_DIR_OUT,
@@ -627,7 +627,7 @@
 
 int target_display_get_base_offset(uint32_t base)
 {
-	if (platform_is_sdm439() || platform_is_sdm429()) {
+	if (platform_is_sdm439() || platform_is_sdm429() || platform_is_sdm429w()) {
 		if (base == MIPI_DSI0_BASE)
 			return DSI0_BASE_ADJUST;
 		else if (base == DSI0_PHY_BASE)
@@ -660,12 +660,12 @@
 
 	if (platform_is_msm8956())
 		ldo_num |= REG_LDO1;
-	else if (platform_is_sdm439() || platform_is_sdm429())
+	else if (platform_is_sdm439() || platform_is_sdm429() || platform_is_sdm429w())
 		ldo_num |= REG_LDO5; /* LDO23 is enable by default */
 	else
 		ldo_num |= REG_LDO2;
 
-	if (platform_is_sdm429() && hw_subtype
+	if ((platform_is_sdm429() || platform_is_sdm429w()) && hw_subtype
 		== HW_PLATFORM_SUBTYPE_429W_PM660)
 		ldo_num |= REG_LDO13 | REG_LDO15;
 
@@ -695,7 +695,7 @@
 		 */
 		regulator_disable(REG_LDO17);
 
-		if (platform_is_sdm429() && hw_subtype
+		if ((platform_is_sdm429() || platform_is_sdm429w()) && hw_subtype
 			== HW_PLATFORM_SUBTYPE_429W_PM660)
 			regulator_disable(REG_LDO13 | REG_LDO15);
 	}