Using GPMC to interface with FPGA (SRAM interface)

I wan’t to use the GPMC interface on the BeagleBone back to interface with a FPGA exposed as SRAM. The FPGA is being used as an audio codec and I wan’t to use DMA transfers to take data from the FPGA and put it into main memory. I’m not necessarily asking about the DMA stuff (though I wouldn’t mind help). I’m asking how to I configure the hardware to do this? I’ve heard about device tree overlays but I’m not exactly sure how to use them. I also have read that using GPMC renders the flash unusable, however, could I configure uboot to boot from the sd card easily? BTW I’m implementing the software as a out of tree module.

GPMC to FPGA has been discussed many times in here try Google and a comprehensive understanding of muxing the pins and their possible functions as described in TRM