Thread (20 messages) flat view 20 messages, 5 authors, 2007-11-24

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

From: Grant Likely <hidden>
Date: 2007-11-24 20:20:37

On 11/24/07, David Brownell [off-list ref] wrote:
On Friday 23 November 2007, Grant Likely wrote:
quoted
+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@secretlab.ca
(403) 399-0195
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help