msm_shared: Add block level reset for hsusb

Change-Id: I3b4ae4b4c07425913d8f0838de33952a24fa6d8a
diff --git a/platform/msm_shared/hsusb.c b/platform/msm_shared/hsusb.c
index 5bc7447..d8643f0 100644
--- a/platform/msm_shared/hsusb.c
+++ b/platform/msm_shared/hsusb.c
@@ -573,14 +573,23 @@
 	 */
 	target_usb_init();
 
-	/* select ULPI phy */
-	writel(0x81000000, USB_PORTSC);
-
 	/* RESET */
-	writel(0x00080002, USB_USBCMD);
+	writel(0x00080000, USB_USBCMD);
 
 	thread_sleep(20);
 
+	while((readl(USB_USBCMD)&2));
+
+	/* select ULPI phy */
+	writel(0x80000000, USB_PORTSC);
+
+	   /* USB_OTG_HS_AHB_BURST */
+	writel(0x0, USB_SBUSCFG);
+
+	/* USB_OTG_HS_AHB_MODE: HPROT_MODE */
+	/* Bus access related config. */
+	writel(0x08, USB_AHB_MODE);
+
 	epts = memalign(4096, 4096);
 
 	dprintf(INFO, "USB init ept @ %p\n", epts);