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

From: Munegowda, Keshava
Date: Fri Oct 07 2011 - 03:43:18 EST


On Thu, Oct 6, 2011 at 10:05 PM, Paul Walmsley <paul@xxxxxxxxx> wrote:
> 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?

Thanks paul;
Now I am seeing that without OCPIF_SWSUP_IDLE the system is going to
low power mode but after
adding HWMOD_INIT_NO_RESET flag ; After adding this flag; I dint
check the system without this flag;
so, PRCM automatically idle this interface clock if UHH target port is
forced idle and force standby.
I can remove it now. :-)

> 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.

I will remove this also;

regards
keshava
--
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/