summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Bénard <eric@eukrea.com>2013-09-10 19:57:54 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-09-10 21:03:59 +0200
commitf0b68f0008f94606f6b927590d1fafb34b1abc55 (patch)
tree3bc29b6a7f19bf0940db28c34ba5a0bf5dc823ad
parentbf04eedf69d8842f0ba1e88bebce214d84cd8c04 (diff)
downloadbarebox-f0b68f0008f94606f6b927590d1fafb34b1abc55.tar.gz
barebox-f0b68f0008f94606f6b927590d1fafb34b1abc55.tar.xz
usb-imx28: fix enable
we need to power on the PLL when enabling the USB clock. Signed-off-by: Eric Bénard <eric@eukrea.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/mach-mxs/usb-imx28.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-mxs/usb-imx28.c b/arch/arm/mach-mxs/usb-imx28.c
index 61d59c3616..e5b63c30a0 100644
--- a/arch/arm/mach-mxs/usb-imx28.c
+++ b/arch/arm/mach-mxs/usb-imx28.c
@@ -46,6 +46,7 @@
#define CLK_PLL0CTRL0 (IMX_CCM_BASE + 0x0)
#define CLK_PLL1CTRL0 (IMX_CCM_BASE + 0x20)
#define PLLCTRL0_EN_USB_CLKS (1 << 18)
+#define PLLCTRL0_POWER (1 << 17)
#define DIGCTRL_CTRL (IMX_DIGCTL_BASE + 0x0)
#define DIGCTL_CTRL_USB0_CLKGATE (1 << 2)
@@ -77,7 +78,7 @@ int imx28_usb_phy0_enable(void)
imx28_usb_phy_reset((void *)IMX_USBPHY0_BASE);
/* Turn on the USB clocks */
- writel(PLLCTRL0_EN_USB_CLKS, CLK_PLL0CTRL0 + SET);
+ writel(PLLCTRL0_EN_USB_CLKS | PLLCTRL0_POWER, CLK_PLL0CTRL0 + SET);
writel(DIGCTL_CTRL_USB0_CLKGATE, DIGCTRL_CTRL + CLR);
@@ -91,7 +92,7 @@ int imx28_usb_phy1_enable(void)
imx28_usb_phy_reset((void *)IMX_USBPHY1_BASE);
/* Turn on the USB clocks */
- writel(PLLCTRL0_EN_USB_CLKS, CLK_PLL1CTRL0 + SET);
+ writel(PLLCTRL0_EN_USB_CLKS | PLLCTRL0_POWER, CLK_PLL1CTRL0 + SET);
writel(DIGCTL_CTRL_USB1_CLKGATE, DIGCTRL_CTRL + CLR);