public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] sunxi: musb: Properly put the musb controller back in reset on exit
@ 2015-05-20 14:40 Hans de Goede
  2015-05-21 12:45 ` Chen-Yu Tsai
  0 siblings, 1 reply; 4+ messages in thread
From: Hans de Goede @ 2015-05-20 14:40 UTC (permalink / raw)
  To: u-boot

Assert reset and disable the clock to properly put the musb controller
back in reset on exit.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/usb/musb-new/sunxi.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
index e8a3a23..e2c9d5a 100644
--- a/drivers/usb/musb-new/sunxi.c
+++ b/drivers/usb/musb-new/sunxi.c
@@ -284,6 +284,8 @@ static int sunxi_musb_init(struct musb *musb)
 
 static int sunxi_musb_exit(struct musb *musb)
 {
+	struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
+
 	pr_debug("%s():\n", __func__);
 
 	USBC_DisableDpDmPullUp(musb->mregs);
@@ -291,6 +293,11 @@ static int sunxi_musb_exit(struct musb *musb)
 	sunxi_usb_phy_power_off(0);
 	sunxi_usb_phy_exit(0);
 
+#ifdef CONFIG_SUNXI_GEN_SUN6I
+	clrbits_le32(&ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0);
+#endif
+	clrbits_le32(&ccm->ahb_gate0, 1 << AHB_GATE_OFFSET_USB0);
+
 	return 0;
 }
 
-- 
2.4.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-05-24  9:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-20 14:40 [U-Boot] [PATCH] sunxi: musb: Properly put the musb controller back in reset on exit Hans de Goede
2015-05-21 12:45 ` Chen-Yu Tsai
2015-05-21 13:13   ` Hans de Goede
2015-05-24  9:36     ` Paul Kocialkowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox