target: msm8909: update backlight MPP for 8909 with PM8916

8909 devices with PM8916 use MPP4 for backlight while the
regular 8909 devices use MPP2. Add the change to take care
of the same using device subtype.

Change-Id: Ia0f0a81f71bc5a7b6bd0b8463ec8f7fa448cbe64
diff --git a/target/msm8909/target_display.c b/target/msm8909/target_display.c
index d41e90e..ca3b221 100755
--- a/target/msm8909/target_display.c
+++ b/target/msm8909/target_display.c
@@ -50,6 +50,7 @@
 #define RESET_GPIO_SEQ_LEN 3
 #define PWM_DUTY_US 13
 #define PWM_PERIOD_US 27
+#define PM8916_SUB 0x02
 
 static void mdss_dsi_uniphy_pll_sw_reset_8909(uint32_t pll_base)
 {
@@ -93,12 +94,19 @@
 int target_backlight_ctrl(struct backlight *bl, uint8_t enable)
 {
 	struct pm8x41_mpp mpp;
+	uint32_t hw_id = board_hardware_id();
+	uint32_t platform_subtype = board_hardware_subtype();
 	int rc;
 
 	if (bl->bl_interface_type == BL_DCS)
 		return 0;
 
-	mpp.base = PM8x41_MMP2_BASE;
+	if ((hw_id == HW_PLATFORM_SURF || hw_id == HW_PLATFORM_MTP ||
+		hw_id == HW_PLATFORM_RCM) && (platform_subtype == PM8916_SUB))
+		mpp.base = PM8x41_MMP4_BASE;
+	else
+		mpp.base = PM8x41_MMP2_BASE;
+
 	mpp.vin = MPP_VIN0;
 	if (enable) {
 		pm_pwm_enable(false);