USB: msm_otg: Simplify ACA state machine to support standard ACA
A Standard ACA has a Standard-A receptacle on the Accessory Port,
and can only be attached to a B-device. RID_A and RID_GND states
are only possible with Standard ACA. As RID_A to RID_GND transition
can generate IdGnd interrupt from PHY, polling is disabled in RID_A
state and low power mode is allowed.
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
diff --git a/arch/arm/mach-msm/include/mach/msm_hsusb.h b/arch/arm/mach-msm/include/mach/msm_hsusb.h
index 115c10a..b4880a2 100644
--- a/arch/arm/mach-msm/include/mach/msm_hsusb.h
+++ b/arch/arm/mach-msm/include/mach/msm_hsusb.h
@@ -49,10 +49,16 @@
#define PHY_ID_A 0x90
#define phy_id_state(ints) ((ints) & PHY_ID_MASK)
+#define phy_id_state_gnd(ints) (phy_id_state((ints)) == PHY_ID_GND)
#define phy_id_state_a(ints) (phy_id_state((ints)) == PHY_ID_A)
+/* RID_B and RID_C states does not exist with standard ACA */
+#ifdef CONFIG_USB_MSM_STANDARD_ACA
+#define phy_id_state_b(ints) 0
+#define phy_id_state_c(ints) 0
+#else
#define phy_id_state_b(ints) (phy_id_state((ints)) == PHY_ID_B)
#define phy_id_state_c(ints) (phy_id_state((ints)) == PHY_ID_C)
-#define phy_id_state_gnd(ints) (phy_id_state((ints)) == PHY_ID_GND)
+#endif
/* used to detect the OTG Mode */
enum otg_mode {