We are using LS1088 board and we have a requirement to transfer data from LS1088 to a slave device via PCIe . We need to use the DMA engine inside LS1088 for the data transfer via PCIe.Does LS1088 has the support for datat transfer via PCIe? can you provide the DMA driver support and sample application for the PCIe data transfer.
Thanks @r8070z
I had referred the Layerscape Software Development Kit User Guide( v20.04) in the link https://www.nxp.com/docs/en/user-guide/LSDKUG_Rev20.04.pdf
As per the document we followed the steps listed below
1. Downloaded flexbuild_lsdk2004
2. source setup.env
3. flex-builder docker
4. flex-builder -i repo fetch (The GIT branch is LSDK-20.04-V5.4)
5. In the "make menuconfig" window, we not able to find "NXP DPAA2 QDMA Driver Support".
How we can get the support for NXP qDMA Driver? Is there anything else do we need to configure / follow to get the support?
I myself have not built kernel yet, but I’ve seen technical cases which definitely show that qDMA driver can be built for the LS1088A. Then I checked the LSDK in this way
Install Ubuntu 18.04; Load from the nxp site and unpack to my home folder flexbuild_lsdk2004
~$ ls
Desktop flexbuild_lsdk2004 ...
Then execute the next commands
~$ cd flexbuild_lsdk2004
~/flexbuild_lsdk2004$ source setup.env
~/flexbuild_lsdk2004$ flex-builder -c linux:custom -a arm64
Downloading takes few hours. At the end I got kernel config where like in the LSDK document I could see
Device Drivers --->
[*] DMA Engine support ---> --->
<*> NXP DPAA2 QDMA
I did not start to build kernel. I just checked that there is source for the DPAA2 driver too
~/flexbuild_lsdk2004/build/linux/kernel/arm64/LS/output/LSDK-20.04-V5.4/source/drivers/dma/fsl-dpaa2-qdma$ ls
dpaa2-qdma.c dpaa2-qdma.h dpdmai.c dpdmai.h Kconfig Makefile
The LS1088A qDMA supports data transfer via PCIe. The nxp LSDK provides the DMA diver and sample application for the PCIe data transfer. The sample application does a memory-to-memory or memory to pci memory or pci memory to memory transaction using this QDMA block. For details please see “QDMA for platform with DPAA2” and “qdma-demo application” in the LSDK user guide