msm7627a: Add support for SKU3 target variant

Change-Id: I0edd1981b1c66c2b71cc898a9abdb0e92b128d2e
diff --git a/target/msm7627a/init.c b/target/msm7627a/init.c
index 27c8ef5..7af1875 100644
--- a/target/msm7627a/init.c
+++ b/target/msm7627a/init.c
@@ -48,6 +48,7 @@
 #define MSM7X25A_SURF	3772
 #define MSM7X25A_FFA	3771
 #define MSM7X27A_EVB	3934
+#define MSM7X27A_QRD3	4005
 
 #define LINUX_MACHTYPE  MSM7X27A_SURF
 
@@ -264,7 +265,10 @@
 				hw_platform = MSM7X27A_FFA;
 			break;
 		case 0xB:
-			hw_platform = MSM7X27A_QRD1;
+			if(target_is_emmc_boot())
+				hw_platform = MSM7X27A_QRD1;
+			else
+				hw_platform = MSM7X27A_QRD3;
 			break;
 		case 0xC:
 			hw_platform = MSM7X27A_EVB;
@@ -418,3 +422,19 @@
 	else
 		return 0;
 }
+
+int machine_is_7x27a_qrd3()
+{
+	if (board_machtype() == MSM7X27A_QRD3)
+		return 1;
+	else
+		return 0;
+}
+
+int machine_is_7x27a_qrd1()
+{
+	if (board_machtype() == MSM7X27A_QRD1)
+		return 1;
+	else
+		return 0;
+}
diff --git a/target/msm7627a/keypad.c b/target/msm7627a/keypad.c
index 386a40a..7244133 100644
--- a/target/msm7627a/keypad.c
+++ b/target/msm7627a/keypad.c
@@ -34,8 +34,6 @@
 #include <dev/ssbi.h>
 #include <dev/gpio_keypad.h>
 
-#define LINUX_MACHTYPE_7x27A_QRD 3756
-
 #define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))
 
 /* don't turn this on without updating the ffa support */
@@ -138,10 +136,7 @@
 
 void keypad_init(void)
 {
-	unsigned int mach_id;
-	mach_id = board_machtype();
-
-	if (mach_id == LINUX_MACHTYPE_7x27A_QRD)
+	if (machine_is_7x27a_qrd1() || machine_is_7x27a_qrd3())
 		gpio_keypad_init(&halibut_keypad_info_qrd);
 	else if (machine_is_7x27a_evb())
 		gpio_keypad_init(&halibut_keypad_info_evb);