Gadget driver & virtual hub

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi !

So I'm toying a bit with the gadget subsystem, writing an UDC driver
for the Aspeed BMC SoC.

One thing this HW does (which I'm not yet enabling) is that it can
show as a virtual hub with up to 5 devices underneath.

The hub and each device has independent EP0's, and there's a pool
of 15 "generic" endpoints that can be assigned to them otherwise.

There's additional HW support for the hub's EP1 to be mostly operating
autonomously in HW, returning the virtual hub port status.

However, all of the hub EP0 needs to be done in SW (descriptors
etc...).

So my question is how would you guys recommend I should structure this
in my driver ? The "dumb" option is to implement all of the hub stuff
locally in my driver, including the responses to all the descriptor
request etc... and expose effectively 5 UDC gadget "slots" for the
user to hookup gadget drivers to.

Another approach would be to try to have a gadget "slot" for the hub
itself that is somewhat hard-wired to a hub function (which I would
implement separately).

The latter "sounds" nicer, however there is a need for a back channel
between the main driver and the hub function unless we lift the
abstraction to contain hub controls which I'm not sure is worthwhile.

Also, can somebody enlighten me a bit more on what the "vbus" stuff
is about ? I haven't quite figured it out. There seem to be no
documentation (unless I missed it) on the various interfaces and UDC
driver is supposed to provide.

Cheers,
Ben.

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux