Hello.

On 05-03-2013 12:17, Sekhar Nori wrote:

On 3/4/2013 11:32 PM, Danny Marsh wrote:
I have read many posts and I am still unclear if there is a solution to
our issue.

We are using a custom DM6446 board running Linux git kernel 3.0.0 with a
TUSB2046B <http://www.ti.com/product/TUSB2046B> hub.

We are trying to hook up 2 usbnet devices (using the cdc_ethernet driver).

Each device needs the following EPs.

TUSB2046B <http://www.ti.com/product/TUSB2046B> - 1 Interrupt EP

USB Device 1 - 1 Interrupt EP + 2 Bulk EPs

USB Device 2 - 1 Interrupt EP + 2 Bulk EPs

1.  Is there a hardware limitation in the DM6446 that prevents us from
doing this?

DM644x has 4 endpoints.

   5, counting the control one.

You are definitely shooting above that mark from
this description.

   All bulk endpoint transfers are sheduled using the single MUSB EP 1, AFAIR.

2.  Is there a software work around ("Interrupt endpoint scheduling")
that works with devices that need Interrupt EPs?  If so what kernel
version do I need?

"Interrupt endpoint scheduling" was implemented for very early v2.6.10
based MV kernels that TI used to ship. Recently Ravi up-ported that to
v3.3 but was only tested it on DA850 as per my knowledge. Here is the
link:
http://arago-project.org/git/projects/?p=linux-davinci.git;a=commit;h=0795c14aa91650d778a27fe7b2ef23e2d9ff8c89

This code seems to have the same mistake I fixed for 2.6.18 MV release -- it tries to schedule several URBs concurrently on the same endpoint. It seems TI engineers have learned nothing from my work. :-(

WBR, Sergei

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to