AR# 31562: 11.1 EDK - The XLlDma driver (version v1_01_a and later) does not work with SDMA in a PPC440 system, when HDMA is enabled in the design
11.1 EDK - The XLlDma driver (version v1_01_a and later) does not work with SDMA in a PPC440 system, when HDMA is enabled in the design
Keywords: DMQ, direct, memory, access, soft
I am using MPMC for Memory Controller in a PPC440 system which also has HDMA enabled. I want to use the XLlDma driver with SDMA but it does not work. The LLDMA driver still uses DCR access to configure the SDMA.
The Xilinx Local-Link DMA driver (XLlDma) has the ability to support the Hard DMA Block in the PPC440 system and the Soft DMA PIM in Multi-Port Memory Controller (MPMC). However, the driver can support only one DMA at a time (Hard DMA or Soft DMA) and supports Hard DMA by default, when both DMAs exist in a PPC440 system. To use the XLlDma driver with the Soft DMA instead of Hard DMA, follow the steps below.
1. Copy the XLlDma driver to the local drivers/ directory under the EDK project area. 2. In the file xlldma_hw.h of the local XLlDma driver, uncomment the following line.
/* #undef XPAR_XLLDMA_USE_DCR */
3. REBUILD the s/w libraries to ensure the local XLlDma driver is used.
This allows the driver to be used with Soft DMA instead of Hard DMA.