Hi Wolfgang,
On 08.02.2012 16:23, Wolfgang Grandegger wrote:
Currently, only USB Host 1 is supported.
Cc: Remy Bohmer <li...@bohmer.net>
Signed-off-by: Wolfgang Grandegger <w...@denx.de>
---
arch/arm/cpu/armv7/mx6/clock.c | 13 ++
arch/arm/include/asm/arch-mx6/imx-regs.h | 3 +
drivers/usb/host/Makefile | 1 +
drivers/usb/host/ehci-mx6.c | 205 ++++++++++++++++++++++++++++++
4 files changed, 222 insertions(+), 0 deletions(-)
create mode 100644 drivers/usb/host/ehci-mx6.c
diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c
index fa3a124..ef98563 100644
--- a/arch/arm/cpu/armv7/mx6/clock.c
+++ b/arch/arm/cpu/armv7/mx6/clock.c
@@ -36,6 +36,19 @@ enum pll_clocks {
struct imx_ccm_reg *imx_ccm = (struct imx_ccm_reg *)CCM_BASE_ADDR;
+void enable_usboh3_clk(unsigned char enable)
+{
+ u32 reg;
+
+ reg = __raw_readl(&imx_ccm->CCGR6);
+ if (enable)
+ reg |= MXC_CCM_CCGR_CG_MASK << MXC_CCM_CCGR0_CG0_OFFSET;
+ else
+ reg &= ~(MXC_CCM_CCGR_CG_MASK << MXC_CCM_CCGR0_CG0_OFFSET);
+ __raw_writel(reg, &imx_ccm->CCGR6);
+
+}
+
static u32 decode_pll(enum pll_clocks pll, u32 infreq)
{
u32 div;
...
diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c
new file mode 100644
index 0000000..b7bf49d
--- /dev/null
+++ b/drivers/usb/host/ehci-mx6.c
...
+int ehci_hcd_init(void)
+{
+ struct usb_ehci *ehci;
+
+ enable_usboh3_clk(1);
ehci-mx6.c: In function 'ehci_hcd_init':
ehci-mx6.c:171: warning: implicit declaration of function
'enable_usboh3_clk'
Best regards
Dirk
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot