Message ID | 1465138488-1514-1-git-send-email-hdegoede@redhat.com |
---|---|
State | Accepted |
Commit | bca4c3c5fcb3d170308e621dadcc5555a1aca1b8 |
Delegated to: | Hans de Goede |
Headers | show |
On Sun, 2016-06-05 at 16:54 +0200, Hans de Goede wrote: > Turn of the clock and assert the reset when musb_stop gets called, so > that > the os gets the musb controller in a pristine state. This fixes a > spurious > VBus error interrupt triggering as soon as the Linux musb driver > loads. > > Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c index 3081afc..c016a0b 100644 --- a/drivers/usb/musb-new/sunxi.c +++ b/drivers/usb/musb-new/sunxi.c @@ -340,9 +340,16 @@ int musb_usb_probe(struct udevice *dev) int musb_usb_remove(struct udevice *dev) { struct musb_host_data *host = dev_get_priv(dev); + struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; musb_stop(host->host); + 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; }
Turn of the clock and assert the reset when musb_stop gets called, so that the os gets the musb controller in a pristine state. This fixes a spurious VBus error interrupt triggering as soon as the Linux musb driver loads. Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/usb/musb-new/sunxi.c | 7 +++++++ 1 file changed, 7 insertions(+)