Re: USB_MUSB_DA8XX with g_multi.ko
From: Jon Ringle
Date: Wed Jun 25 2014 - 11:52:54 EST
On Wed, Jun 25, 2014 at 11:35 AM, Andrzej Pietrasiewicz
<andrzej.p@xxxxxxxxxxx> wrote:
> W dniu 25.06.2014 17:13, Jon Ringle pisze:
>
>> In commit 787f5627bec80094db487bfcb401e9744f181aed
>> usb: musb: make davinci and da8xx glues depend on BROKEN
>>
>> USB_MUSB_DA8XX was marked as BROKEN
>>
>> A few months ago, we updated the linux kernel on our AM1808 SoC based
>> embedded board from Linux 2.6.33 to the latest long term 3.12.
>>
>> I am interested in having the USB gadget support on my board, so I
>> removed BROKEN on USB_MUSB_DA8XX. I found that when I modprobe
>> g_ether, g_serial, and g_mass_storage (by themselves), they all appear
>> to work as expected, but if I try to use g_multi to have a composite
>> device supporting all three simultaneously, I run into failure during
>> initialization.
>>
>
> <snip>
>
>
>>
>>> From this I can see that it's failing on the following call in
>>> fsg_bind():
>>
>> ep = usb_ep_autoconfig(gadget, &fsg_fs_bulk_in_desc);
>>
>
> Just a random guess (I don't know your hardware): how many bulk,
> iso and interrupt endpoints does your hardware provide? Perhaps you
> just run out of endpoints?
Perhaps... From the documentation it appears that I can have 4
simultaneous RX/TX endpoints... Is this not enough?
34.1.2 Features
The USB has the following features:
â Operating as a host, it complies with the USB 2.0 standard for
high-speed (480 Mbps), full-speed
(12 Mbps), and low-speed (1.5 Mbps) operations with a peripheral
â Operating as a peripheral, it complies with the USB 2.0 standard for
high-speed (480 Mbps) and
full-speed (12 Mbps) operation with a host.
â Supports USB extensions for Session Request (SRP) and Host
Negotiation (HNP) â OTG
â Supports 4 simultaneous RX and TX endpoints, in addition to control
endpoint, more devices can be
supported by dynamically switching endpoints states
â Each endpoint (other than endpoint 0) can support all transfer types
(control, bulk, interrupt, and
isochronous)
â Includes a 4K endpoint FIFO RAM, and supports programmable FIFO sizes
â External 5V power supply for VBUS, when operating as host, enabled
directly by the USB controller
through a dedicated signal
â Includes a DMA controller that supports 4 TX and 4 RX DMA channels
â Includes four types of Communications Port Programming Interface
(CPPI) 4.1 DMA compliant transfer
modes, Transparent, Generic RNDIS, RNDIS, and Linux CDC mode of DMA
for accelerating RNDIS
type protocols using short packet termination over USB.
â DMA supports single data transfer size up to 4Mbytes
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/