[U-Boot] am335x: GPMC: reading speed with prefetch mode

Tony Lindgren tony at atomide.com
Fri Mar 20 16:09:10 CET 2015


* Roger Quadros <rogerq at ti.com> [150320 07:59]:
> On 20/03/15 15:37, Yegor Yefremov wrote:
> > 
> > Btw. where DMA support should be configured? GPMC config has no "dmas"
> > like other components like mmc, uart, USB etc.
> 
> I've never tested dma on omap-nand in mainline. We've been solely relying on
> prefetch-polled mode there.
> 
> someone needs to work on it and test dma support.
> 
> looks like the driver is hardcoding the DMA channel
>                 sig = OMAP24XX_DMA_GPMC;
>                 info->dma = dma_request_channel(mask, omap_dma_filter_fn, &sig);
> 
> this will have to be fixed.
> I'm not sure what else is missing on DMA side. But you could try to use a
> free channel and see if it works?
> 
> Tony any insights?

There are six external DMA request pins on omaps that can be used for
devices on GPMC for DMA. These are the sys_ndmareq0 to 5. So far the only
the old tusb6010 driver is the only one using that, and it's still not
using the DMA engine API. I've been meaning to update it, but have not
had a chance yet.. Anyways, all the new DMA code should use the dmaengine
API instead of the omap legacy DMA calls.

Note that the onenand driver is wrongly using the external gpio request
pin as a GPIO. That's not what the pin is supposed to do, it needs to be
muxed to the external gpio request mode. So I suggest we either rip out
the DMA code from onenand, or update it to use the sys_ndmareq and DMA
engine API.

Regards,

Tony


More information about the U-Boot mailing list