lkml.org 
[lkml]   [2011]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 3/5 v12] arm: omap: usb: register hwmods of usbhs
    From
    On Fri, Sep 30, 2011 at 2:49 PM, Felipe Balbi <balbi@ti.com> wrote:
    > Hi,
    >
    > On Fri, Sep 30, 2011 at 02:45:32PM +0530, Munegowda, Keshava wrote:
    >> On Fri, Sep 30, 2011 at 1:04 PM, Felipe Balbi <balbi@ti.com> wrote:
    >> > Hi,
    >> >
    >> > On Fri, Sep 30, 2011 at 01:15:55AM -0600, Paul Walmsley wrote:
    >> >> > The hwmod structure of usb_host_hs  and usb_tll are
    >> >> > retrieved and registered with omap device
    >> >> >
    >> >> > Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
    >> >> > Reviewed-by: Partha Basak <parthab@india.ti.com>
    >> >> > ---
    >> >> >  arch/arm/mach-omap2/usb-host.c |  100 ++++++++++++++--------------------------
    >> >> >  1 files changed, 34 insertions(+), 66 deletions(-)
    >> >> >
    >> >> > diff --git a/arch/arm/mach-omap2/usb-host.c b/arch/arm/mach-omap2/usb-host.c
    >> >> > index 89ae298..771dc78 100644
    >> >> > --- a/arch/arm/mach-omap2/usb-host.c
    >> >> > +++ b/arch/arm/mach-omap2/usb-host.c
    >> >> > @@ -28,51 +28,28 @@
    >> >>
    >> >> > +   oh[0] = omap_hwmod_lookup(USBHS_UHH_HWMODNAME);
    >> >> > +   if (!oh[0]) {
    >> >> > +           pr_err("Could not look up %s\n", USBHS_UHH_HWMODNAME);
    >> >> > +           return;
    >> >> >     }
    >> >> >
    >> >> > -   if (platform_device_register(&usbhs_device) < 0)
    >> >> > -           printk(KERN_ERR "USBHS platform_device_register failed\n");
    >> >> > +   oh[1] = omap_hwmod_lookup(USBHS_TLL_HWMODNAME);
    >> >> > +   if (!oh[1]) {
    >> >> > +           pr_err("Could not look up %s\n", USBHS_TLL_HWMODNAME);
    >> >> > +           return;
    >> >> > +   }
    >> >> >
    >> >> > -init_end:
    >> >> > -   return;
    >> >> > +   od = omap_device_build_ss(OMAP_USBHS_DEVICE, bus_id, oh, 2,
    >> >> > +                           (void *)&usbhs_data, sizeof(usbhs_data),
    >> >> > +                           omap_uhhtll_latency,
    >> >> > +                           ARRAY_SIZE(omap_uhhtll_latency), false);
    >> >>
    >> >> Usually there's something wrong with omap_devices that contain
    >> >> multiple hwmods.  Is there some reason why there isn't a separate driver
    >> >> for the TLL?  Judging by a brief look at drivers/mfd/omap_usb_host.c, the
    >> >> TLL handling looks logically distinct?
    >> >
    >> > Yes, I have the same feeling. To my understanding, USB Host Subsystem on
    >> > OMAP is composed of the Transceiver-less link (TLL) and USB Host (UHH).
    >> > Aparently, they could be handled by separate drivers.
    >> >
    >> > --
    >> > balbi
    >>
    >> yes, it can be as two separate drivers for uhh and tll;  But i don't
    >> think driver can be used effectively.
    >> Now ehci and ohci gets the clocks , config reg and port settings
    >> through usb host which is sufficient.
    >> If you make them as two different drivers; then ehci and ohci has to
    >> interact with both the drivers separately.
    >> which will be an unnecessary complications. I feel not divided this
    >> driver into two
    >
    > Come again, EHCI/OHCI need clocks from UHH and TLL ?? If that's the
    > case, then there's really no easy way to handle this as a device can
    > have only one parent.

    yes, if you are using ehci phy mode ( port modes of UHH_HOSTCONFIG register)
    then uhh functional ( omap3: interface clocks too) is sufficient;
    if you are using ehci in tll mode , then you need tll functional clock too.

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

    \
     
     \ /
      Last update: 2011-09-30 11:29    [W:0.031 / U:32.904 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site