| 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 |
| @@ -236,6 +236,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 |
| @@ -402,7 +402,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); |