
Hi,
On 21-05-15 14:45, Chen-Yu Tsai wrote:
On Wed, May 20, 2015 at 10:40 PM, Hans de Goede hdegoede@redhat.com wrote:
Assert reset and disable the clock to properly put the musb controller back in reset on exit.
Last I checked the exit functions are not called except for error handling in the probe sequence. Has this been fixed?
It seems not, I made this patch because Paul (added to the Cc) was having some troubles when changing the gadget role. It looks like you're right and unfortunately this function never gets called though ...
Worse it seems that in gadget mode even all calls to musb_stop() are commented out of the musb-new code...
Note all this does not mean that this patch is incorrect though, just that it is not really useful atm.
Regards,
Hans
ChenYu
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
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot