/branches/18.06.1/target/linux/brcm63xx/patches-4.14/101-MIPS-BCM63XX-add-USB-device-clock-enable-delay-to-cl.patch |
@@ -0,0 +1,41 @@ |
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 |
@@ -410,7 +410,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); |