[U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c

Marek Vasut marek.vasut at gmail.com
Wed Jan 11 11:52:17 CET 2012


> Hi Marek,
> 
> Thanks for you review.
> 
> On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut <marek.vasut at gmail.com> wrote:
> >> From: "Govindraj.R" <govindraj.raja at ti.com>
> >> 
> >> Clean up added ehci-omap.c and make it generic for re-use across
> >> soc having same ehci ip block. Also pass the modes to be configured
> >> and configure the ports accordingly. All usb layers are not cache
> >> aligned till then keep cache off for usb ops as ehci will use
> >> internally dma for all usb ops.
> >> 
> >> * Add a generic common header ehci-omap.h having common ip block
> >>   data and reg shifts.
> >> * Rename and modify ehci-omap3 to ehci.h retain only conflicting
> >>   sysc reg shifts remove others and move to common header file.
> > 
> > Don't reimplement the ulpi stuff ... there's already some ulpi stuff in
> > uboot that needs fixing, so fix it and use it.
> 
> I am not implementing any ulpi stuff I am just configuring OMAP on
> soc usb host controller (ehci). All the configuration stuff
> is OMAP specific things which are done in ehci-omap.c file
> 
> stuffs done are like soft-reset, port mode to be used and putting
> port in no -idle mode(omap specific pm implementation) etc.
> 

This stuff:

+/* ULPI */
+#define ULPI_SET(a)                                    (a + 1)
+#define ULPI_CLR(a)                                    (a + 2)
+#define ULPI_FUNC_CTRL                                 0x04
+#define ULPI_FUNC_CTRL_RESET                           (1 << 5)

is just accidentally conforming to ULPI spec?

M

btw. somewhere in the patch is one more asterisk at the end of line:
+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com*

[...]

> >> +     /* perform TLL soft reset, and wait until reset is complete */
> >> +     writel(OMAP_USBTLL_SYSCONFIG_SOFTRESET, &usbtll->sysc);
> >> +
> >> +     /* Wait for TLL reset to complete */
> >> +     while (!(readl(&usbtll->syss) & OMAP_USBTLL_SYSSTATUS_RESETDONE))
> > 
> > Add timeout, fix globally
> 
> Sorry I didn't get you here.
> 
> The function uses a timeout value init and then same init
> value to used to poll for CONFIG_SYS_HZ time for reset to be
> done else prints timeout failure.

Ah sorry, I didn't notice. OK.
> 
> >> +             if (get_timer(init) > CONFIG_SYS_HZ) {
> >> +                     debug("OMAP EHCI error: timeout resetting TLL\n");
> >> +                     return -EL3RST;
> >> +     }
> >> +
> 
> [...]
> 
> >> +     /* setup ULPI bypass and burst configurations */
> >> +     reg |= (OMAP_UHH_HOSTCONFIG_INCR4_BURST_EN |
> >> +             OMAP_UHH_HOSTCONFIG_INCR8_BURST_EN |
> >> +             OMAP_UHH_HOSTCONFIG_INCR16_BURST_EN);
> >> +     reg &= ~OMAP_UHH_HOSTCONFIG_INCRX_ALIGN_EN;
> > 
> > clrsetbits_le32 ?
> 
> yes can be used.

Use where applicable
> 
> --
> Thanks,
> Govindraj.R


More information about the U-Boot mailing list