AnsweredAssumed Answered

i.MX28 - Use OCRAM (iRAM) for DMA buffer allocation

Question asked by Jörg Krause on Mar 24, 2016
Latest reply on Apr 21, 2016 by Yuri Muhin

Hi,

 

ALSA supports using internal RAM (iRAM) for DMA buffer allocation: http://mailman.alsa-project.org/pipermail/alsa-devel/2013-October/067628.html.

 

As i.MX28 uses the SoC generic DMA engine, this module tries to preallocate buffer from the iRAM: http://lxr.free-electrons.com/source/sound/soc/soc-generic-dmaengine-pcm.c#L294. However, this allocation fails, because it is has not been defined by default in the i.MX28 device tree.

 

I wonder, if it might have some benefits to use the OCRAM for ALSA DMA buffer allocation instead of SDRAM? At least, the OCRAM runs at 200 MHz (connected to the AHB bus). SDRAM can, depending on the DDR chip, run at 133 MHz or 200 MHz, right?

 

I attached two patches to enable iRAM support for ALSA DMA buffer allocation.

 

Any feedback is welcome!

Original Attachment has been moved to: 0001-ARM-dts-imx28-Add-OCRAM-support.patch.zip

Original Attachment has been moved to: 0002-ARM-dts-imx28-Use-iRAM-for-DMA-buffer-allocation.patch.zip

Outcomes