Hi,
My customer is interested in using ADMA2 feature on K2G MMC1 to do DMA between system memory and external eMMC device.
TRM says
Support SDA 3.00 Part A2 DMA feature (ADMA2)
It also says :
1.12.4.5 DMA Modes
Two DMA management modes can be used to load data from memory to the internal buffer of the
controller (or vice versa). These modes are exclusive and depend on the module integration.
• DMA master mode:
DMA master mode is selected by setting the MMCHS_CON[20] DMA_MNS bit to 1. In this case, the
controller has direct access to data using a specific algorithm called ADMA2 (prevents the system from
being interrupted). Data are exchanged using the master interface interconnect, which supports burst
accesses to maximize throughput.
NOTE: This mode is supported only by modules connected to the master interface interconnect. For
more information and/or to check the value of the MMCHS_HL_HWINFO[0] MADMA_EN bit.
Refer to this register for a more detailed description.
This mode is available for modules MMC0 and MMC1.
So in MMCSD perspective, I believe ADMA2 feature is available on K2G MMC1.
I expected that there would be ADMA2 example code in PDK resources, but i found EDMA (rather than ADMA) is being used for DMA and there is no example for ADMA2 use case. I searched ADMA users on KeyStone forum, but it seems no one use ADMA on K2G. Now I`m concerned about the feasibility/supportability of using ADMA2 on MMC1 with external eMMC... Could you comment on this ?
EDIT:
Please note my customer will use 3rd party OS on K2G/ARM side.
Best Regards,
NK