• Linus Walleij's avatar
    dmaengine: pl08x: Add support for Faraday Technology FTDMAC020 · 1e1cfc72
    Linus Walleij authored
    After reading the specs for the Faraday Technology FTDMAC020 found
    in the Gemini platform, it becomes pretty evident that this is just
    another PL08x derivative, and should be handled like such by simply
    extending the existing PL08x driver to handle the quirks in this
    hardware.
    
    This patch makes memcpy work and has been tested on the Gemini and
    also regression-tested on the Nomadik NHK15 using dmatest with
    10 threads per channel without a hinch for hours.
    
    I have not implemented slave DMA in those codepaths, because this
    device (Gemini) does not use slave DMA, and it seems like devices
    using FTDMAC020 for device DMA have a slightly different register
    layout so some real hardware is needed to proceed with this. I
    left some FIXME etc in the code for this.
    
    I had to do some refactorings of some helper functions, but I have
    not split those into separate patches because these refactorings
    do not make much sense without the increased complexity of ha...
    1e1cfc72
amba-pl08x.c 80.8 KB