On Wednesday 21 March 2007 12:38 pm, Etienne Gauthier wrote: > I'm not sure if it is an hardware limitation since the sprue35.pdf > document(TMS320DM644x DMSoC Universal Serial Bus (USB)Controller User's > guide) says: > > The USB has the following features: > ยท Supports 4 simultaneous RX and TX endpoints, more can be supported by > dynamically switching.
Exactly. The hardware limitation is that, unlike for example the EHCI host controller on your PC, the switching must be done in software. It's "usually" done in hardware. The USB-OTG controller design in DaVinci is seriously cost-reduced, and pushing that into software was probably a big win in terms of gates and testability. The software fix/workaround would be noticing that (a) the device has NAKed enough to trigger a fault, either (a1) interrupt mode for mouse/keyboard/hub/etc, a single NAK suffices, or (a2) bulk mode for the network adapters, where a larger limit applies; and also (b) that a transfer for another peripheral endpoint is blocked. Then after noticing (a) and (b), the software fixes involves a clean shutdown of that transfer, and then moving that transfer to the end of the queue, so that the next transfer can take a whack at succeeding. Also, the (a1) case is quite complicated because there's also no periodic scheduler. Such a scheduler prevents overcommit of the available bandwidth. For high speed, such schedulers are quite annoying to write ... since they have to handle the "transaction translator" componentry in high speed hubs. By the way, whoever said "only 2 devices supported" was wrong. Any number of bulk-only devices can work, except that if they don't respond immediately transfers, this issue kicks in. - Dave > On Wed, 2007-03-21 at 12:12 -0700, Kevin Hilman wrote: > > On Mon, 2007-03-19 at 08:36 -0400, Etienne Gauthier wrote: > > > > > I was wondering if anybody was able to plug 2 USB-Ethernet modules on > > > the Davinci? I'm using the Montavista 2.6.10-mvl401 kernel. > > > > This is a known problem with the current USB driver, and is not unique > > to ethernet devices. You'll have the same problem using a keyboard and > > mouse together. > > > > IIUC, this is a hardware limitation which does not yet have a software > > workaround in the MUSB driver. Patches welcome. :) _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
