Re: [PATCH 2/5 v13] arm: omap: usb: ehci and ohci hwmod structuresfor omap3

From: Paul Walmsley
Date: Thu Oct 06 2011 - 12:35:14 EST


Hi Keshava,

On Thu, 6 Oct 2011, Keshava Munegowda wrote:

> Following 2 hwmod structures are added
> 1. usb_host_hs
> The hwmod of usbhs with uhh, ehci and ohci base addresses
> functional clock and ehci, ohci irqs
>
> 2. usb_tll_hs
> hwmod of usbhs with the TLL base address and irq.
>
> Signed-off-by: Keshava Munegowda <keshava_mgowda@xxxxxx>
> Reviewed-by: Partha Basak <parthab@xxxxxxxxxxxx>
> ---
> arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 227 ++++++++++++++++++++++++++++
> 1 files changed, 227 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> index 59fdb9f..b8ca690 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> @@ -84,6 +84,8 @@ static struct omap_hwmod omap3xxx_mcbsp4_hwmod;

...

> +static struct omap_hwmod_ocp_if omap34xx_usb_host_hs__ick = {
> + .master = &omap3xxx_l4_core_hwmod,
> + .slave = &omap34xx_usb_host_hs_hwmod,
> + .clk = "usbhost_ick",
> + .addr = omap34xx_usb_host_hs_addrs,
> + .user = OCP_USER_MPU | OCP_USER_SDMA,
> +/*
> + * This clock should be on/off only with main clock; If auto idle is set,
> + * the usbhs controller prevents the omap to enter in to low power mode,
> + * hence don't use auto idle here.
> + */
> + .flags = OCPIF_SWSUP_IDLE,

This is still unclear to me. Doesn't this interface clock support
interface clock auto-idle? If so, then when the UHH's target port is
forced idle and its initiator port is forced to standby, then shouldn't
the PRCM automatically idle this interface clock?

Or is there some hardware problem where the PRCM won't auto-idle this
clock when the UHH is in idle + standby?

> +};
> +

...

> +static struct omap_hwmod_ocp_if omap34xx_ick_cfg__usb_tll_hs = {
> + .clk = "usbtll_ick",
> + .addr = omap34xx_usb_tll_hs_addrs,
> + .user = OCP_USER_MPU | OCP_USER_SDMA,
> +/*
> + * This clock should be on/off only with main clock; If auto idle is set,
> + * the usbhs controller prevents the omap to enter in to low power mode,
> + * hence don't use auto idle here.
> + */
> + .flags = OCPIF_SWSUP_IDLE,

Same comment here, with the exception of the part about standby since the
TLL doesn't have an initiator port.


- Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/