From 8e9bf528a122741f0171b89c297b63041116d704 Mon Sep 17 00:00:00 2001 From: Florian Fainelli <florian@openwrt.org> Date: Mon, 28 Jan 2013 20:06:20 +0100 Subject: [PATCH 02/11] MIPS: BCM63XX: add USB device clock enable delay to clock code This patch adds the required 10 micro seconds delay to the USB device clock enable operation. Put this where the correct clock knowledege is, which is in the clock code, and remove this delay from the bcm63xx_udc gadget driver where it was before. Signed-off-by: Florian Fainelli <florian@openwrt.org> --- arch/mips/bcm63xx/clk.c | 5 +++++ drivers/usb/gadget/bcm63xx_udc.c | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) --- a/arch/mips/bcm63xx/clk.c +++ b/arch/mips/bcm63xx/clk.c @@ -199,6 +199,11 @@ static void usbd_set(struct clk *clk, in bcm_hwclock_set(CKCTL_6362_USBD_EN, enable); else if (BCMCPU_IS_6368()) bcm_hwclock_set(CKCTL_6368_USBD_EN, enable); + else + return; + + if (enable) + udelay(10); } static struct clk clk_usbd = { --- a/drivers/usb/gadget/udc/bcm63xx_udc.c +++ b/drivers/usb/gadget/udc/bcm63xx_udc.c @@ -411,7 +411,6 @@ static inline void set_clocks(struct bcm if (is_enabled) { clk_enable(udc->usbh_clk); clk_enable(udc->usbd_clk); - udelay(10); } else { clk_disable(udc->usbd_clk); clk_disable(udc->usbh_clk);