I'm a few months late, but if anyone is interested I got it working: https://github.com/Pikrass/pios (see sd.c and dma.c)
I figured the bits for the DMA block thanks to the Linux source.
I pass the destination buffer as the actual (non-cached) physical address.