Re: [PATCH 2/5 v4] arm: omap: usb: ehci and ohci hwmod structures for omap3

From: Munegowda, Keshava
Date: Fri Aug 12 2011 - 04:12:55 EST


On Fri, Aug 12, 2011 at 12:55 PM, Ming Lei <tom.leiming@xxxxxxxxx> wrote:
> On Fri, Aug 12, 2011 at 1:46 PM, Munegowda, Keshava
> <keshava_mgowda@xxxxxx> wrote:
>> On Thu, Aug 11, 2011 at 8:53 PM, Ming Lei <tom.leiming@xxxxxxxxx> wrote:
>
>>>> +static struct omap_hwmod_class_sysconfig omap34xx_usb_host_hs_sysc = {
>>>> +       .rev_offs       = 0x0000,
>>>> +       .sysc_offs      = 0x0010,
>>>> +       .syss_offs      = 0x0014,
>>>> +       .sysc_flags     = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE),
>>>
>>> SYSC_HAS_ENAWAKEUP is missed or not needed?
>>
>> not needed. wakeup will through irq-chaining mechanism.
>
> I am wondering how irq-chaining mechanism can wakeup MPU, could you
> describe it in a little detail?
>
> In fact, I have tested usb remote wakeup on rc1 plus your patches on beagle
> xm, seems the usb mouse can't wakeup MPU at all.
>
>>>
>>>> +       .idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
>>>> +                          MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
>>>> +       .sysc_fields    = &omap_hwmod_sysc_type1,
>>>> +};
>>>> +
>>>> +static struct omap_hwmod_class omap34xx_usb_host_hs_hwmod_class = {
>>>> +       .name = "usbhs_uhh",
>>>> +       .sysc = &omap34xx_usb_host_hs_sysc,
>>>> +};
>>>> +
>>>> +static struct omap_hwmod_ocp_if *omap34xx_usb_host_hs_masters[] = {
>>>> +       &omap34xx_usb_host_hs__l3_main_2,
>>>> +};
>>>> +
>>>> +static struct omap_hwmod_addr_space omap34xx_usb_host_hs_addrs[] = {
>>>> +       {
>>>> +               .name           = "uhh",
>>>> +               .pa_start       = 0x48064000,
>>>> +               .pa_end         = 0x480643ff,
>>>> +               .flags          = ADDR_TYPE_RT
>>>> +       },
>>>> +       {} /* Terminating Entry */
>>>> +};
>>>> +
>>>> +static struct omap_hwmod_ocp_if omap34xx_l4_cfg__usb_host_hs = {
>>>> +       .master         = &omap3xxx_l4_core_hwmod,
>>>> +       .slave          = &omap34xx_usb_host_hs_hwmod,
>>>> +       .clk            = "l4_ick",
>>>> +       .addr           = omap34xx_usb_host_hs_addrs,
>>>> +       .user           = OCP_USER_MPU | OCP_USER_SDMA,
>>>> +};
>>>
>>> Even USBHOST_L4_ICLK is used only by USBHOST_SICLK, it is better to
>>> define a "usbhost_siclk" clk for consistence with TRM.
>>
>> I dint understand, what is the change you are suggesting?
>
> From 23.2.1 of OMAP35x TRM(Rev. M), USBHOST_SICLK inside
> 'High-speed USB Host controller' is driven by L4 slave interface
> clock, so looks like l4 iclk should be parent of USBHOST_SICLK.
>
> Considered  USBHOST_L4_ICLK is used only by USBHOST_SICLK,
> you may ignore my question about it.
>
> thanks,
> --
> Ming Lei

Thanks Ming Lei

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/