[U-Boot] usage of DMA

Vitaly Kuzmichev vkuzmichev at mvista.com
Tue Jan 18 14:36:17 CET 2011


Hi Marcel,

Marcel wrote:
> 
> I have already reduced the code quite far. Basically all dma related stuff is 
> gone. 

According to your first message in this thread I suppose that you are
using  atmel_usba_udc  driver. Am I right?
Looks like it's able to use PIO mode transfer (I mean linux driver).
Each EP has can_dma flag which can be passed through platform_data.
So:
1) Could you please make sure that this driver is working in linux in
PIO mode (with can_dma set to zero)?
2) Could you port this driver to u-boot w/o changes in functions that
talk with hardware registers and try to use PIO mode (with can_dma set
to zero and commented DMA function calls)?

> The device is recognised by the host without errors, but there are some issues 
> left as the OUT data doesn't get processed by ether.c.

After the device descriptor is received the host usually wants to setup
the device.
Has the setup stage been done?

> I'm pulling my hair on this one, but since the data arrives in the OUT fifo and 
> I can read it from the controller part I guess all end points are really up 
> and running but the interfacing to the gadget system maybe isn't correct.
> Perhaps that's related to the driver I'm porting which comes from a 2.6.33 
> kernel.

2.6.33 controller driver should be compatible with 2.6.24 gadget stack
(which was ported to u-boot).

> I read quite a lot of the USB device specification for my controller and so far 
> think I've done everything right regarding the registers. 

Nobody can be sure in such thing :) Even if everything works

Could you enable debug output for ether.c and for your UDC driver and
show the results?

____
With best regards,
Vitaly.


More information about the U-Boot mailing list