[PATCH 5/5] USB: Add Cypress c67x00 OTG controller driver to Kconfig and Makefiles

Grant Likely grant.likely at secretlab.ca
Sun Nov 25 07:20:36 EST 2007


On 11/24/07, David Brownell <david-b at pacbell.net> wrote:
> On Friday 23 November 2007, Grant Likely wrote:
> > +config USB_C67X00_DRV
> > +tristate "Cypress C67x00 support"
> > +# only allowed to be =y if both USB!=m and USB_GADGET!=m
>
> This is wrong.  Remember that since this is a dual-role driver,
> there are exactly three possible driver modes ... and the driver
> must support only one of them at a time:

Actually, this part has 2 serial in interface engines; either of which
can be in host, peripheral or OTG mode.  So; it is entirely relevant
for the driver to be doing both host and peripheral at the same time
with a single device.

>
>   - Host-only ... only allowed if host side USB is enabled.  The
>     controller driver can be statically linked iff usbcore is too.
>
>   - Peripheral-only ... only allowed if peripheral side USB is
>     enabled.  Only one port may be used as the peripheral; the
>     controller driver can be linked statically or as a module.
>
>   - OTG ... only allowed if both host and peripheral side USB
>     are enabled.  Only one port can be the OTG port, but other
>     ports can be used for host functionality.  Static/modular
>     linkage follows (more restrictive) the host-only rule.
>
> And of course, what a given board supports is controlled by the
> connectors it has ... A, B, or AB.  (Possibly AB plus n*A.)  So
> the driver should probably be able to make sense of having OTG
> support, but needing to cope with a non-OTG board ... or having
> an OTG board, a driver that only copes with one role.
>
> Hmmm ... your patches don't include peripheral mode support yet.

No, nobody has written it yet.

>
> Either all these gadget hooks should vanish, or you should try
> to get the controller mode stuff right from the beginning.
>
> I've appended the relevant Kconfig bits from the musb_hdrc
> driver, which (despite some glitches) are pretty much correct.

I'll drop the gadget hooks for now.  Most likely gadget and OTG
support will require more changes to this driver regardless, so it's
not a big deal.

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely at secretlab.ca
(403) 399-0195



More information about the Linuxppc-dev mailing list