We use a NAND at the AM335x device. Since the "prefetch-polled" and "prefetch-irq" access method are quite slow (best measured values are 1.4 MB/s), we want to use "prefetch-dma" (as documented in gmpc-nand.txt).
I tested it with ti-linux-3.14.y, linux-4.1.y as also with the evm-sdk-8. The effect was always that it does not work with the error "omap2-nand omap2-nand.0: DMA engine request failed". Digging in showed that the nand driver is looking for the "omap-dma-engine", but it is not available. I changed the driver that the DMA-Engine is used (not sure if I configured everything correct), but then it fails when using the DMA (does not return from waiting for DMA completion).
My questions are now:
Should "prefetch-dma" work out of the box?
- If yes: any hints what I do wrong? I use nearly the same configuration as am335x-evm.dts
- If no: why is this code in the kernel? When will it work? What can we do to make it work?