[U-Boot] [PATCH v3 26/30] sunxi: usb_phy: Clear SIDDP for A64

Jagan Teki jagannadh.teki at gmail.com
Sun Jan 28 16:19:47 UTC 2018


Allwinner a64 needs to clear the SIDDP bit from PHYCTL
register once the phy_init done.

Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
---
 arch/arm/mach-sunxi/usb_phy.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/mach-sunxi/usb_phy.c b/arch/arm/mach-sunxi/usb_phy.c
index 93340c7..b9542f8 100644
--- a/arch/arm/mach-sunxi/usb_phy.c
+++ b/arch/arm/mach-sunxi/usb_phy.c
@@ -45,6 +45,7 @@
 /* A83T specific control bits for PHY0 */
 #define SUNXI_PHY_CTL_VBUSVLDEXT	BIT(5)
 #define SUNXI_PHY_CTL_SIDDQ		BIT(3)
+#define SUNXI_PHY_CTL_SIDDP		BIT(1)
 
 /* A83T HSIC specific bits */
 #define SUNXI_EHCI_HS_FORCE		BIT(20)
@@ -249,6 +250,12 @@ void sunxi_usb_phy_init(int index)
 			     SUNXI_PHY_CTL_SIDDQ);
 	}
 #endif
+
+#ifdef CONFIG_MACH_SUN50I
+	if (phy->id == 0)
+		clrbits_le32(SUNXI_USB0_BASE + SUNXI_USB_CSR,
+			     SUNXI_PHY_CTL_SIDDP);
+#endif
 }
 
 void sunxi_usb_phy_exit(int index)
-- 
2.7.4



More information about the U-Boot mailing list