msm8974: enable usb3.0 for pro chipsets

selects dwc controller to be used for pro chipsets.

Change-Id: Ide8bb981dad2de865b0fb6763f2a53a4a2b3939e
diff --git a/project/msm8974.mk b/project/msm8974.mk
index 80b310c..b12ea6b 100644
--- a/project/msm8974.mk
+++ b/project/msm8974.mk
@@ -9,6 +9,7 @@
 DEBUG := 1
 EMMC_BOOT := 1
 ENABLE_SDHCI_SUPPORT := 1
+ENABLE_USB30_SUPPORT := 1
 
 #DEFINES += WITH_DEBUG_DCC=1
 DEFINES += WITH_DEBUG_UART=1
@@ -33,3 +34,7 @@
 ifeq ($(ENABLE_SDHCI_SUPPORT),1)
 DEFINES += MMC_SDHCI_SUPPORT=1
 endif
+
+ifeq ($(ENABLE_USB30_SUPPORT),1)
+DEFINES += USB30_SUPPORT=1
+endif
diff --git a/target/msm8974/init.c b/target/msm8974/init.c
index 82be5f8..ce72f41 100644
--- a/target/msm8974/init.c
+++ b/target/msm8974/init.c
@@ -702,3 +702,21 @@
 	if (target_needs_vbus_mimic())
 		ulpi_write(ULPI_MISC_A_VBUSVLDEXTSEL | ULPI_MISC_A_VBUSVLDEXT, ULPI_MISC_A_CLEAR);
 }
+
+/* identify the usb controller to be used for the target */
+const char * target_usb_controller()
+{
+	switch(board_platform_id())
+	{
+		/* use dwc controller for PRO chips (with some exceptions) */
+		case MSM8974AA:
+		case MSM8974AB:
+		case MSM8974AC:
+			/* exceptions based on hardware id */
+			if (board_hardware_id() != HW_PLATFORM_DRAGON)
+				return "dwc";
+		/* fall through to default "ci" for anything that did'nt select "dwc" */
+		default:
+			return "ci";
+	}
+}