To enable the CAAM DMA module, set the following options for
make menuconfig
:
-*- Cryptographic API --->
[*] Hardware crypto devices --->
<*> Freescale CAAM-Multicore driver backend
<*> Freescale CAAM Job Ring driver backend
Device Drivers --->
<*> DMA Engine support --->
<*> CAAM DMA engine support
Be aware that the CAAM DMA driver depends on the CAAM and CAAM JR drivers, which also have to be enabled.
NOTE
Identifier
The following configure identifier is used in kernel source code and default configuration files.
Option
Values
Default Value
Description
CONFIG_CRYPTO_DEV_FS
L_CAAM_DMA
y/m/n
n
CAAM DMA engine support
Device Tree Node
Below is an example device tree node required by this feature.
caam_dma {
compatible = "fsl,sec-v5.4-dma";
};
Source Files
The following source file is related to this feature in the Linux kernel.
Source File
Description
drivers/dma/caam_dma.c
The CAAM DMA driver
Verification in Linux
On a successful probing, the driver will print the following message in
dmesg
:
[ 1.443940] caam-dma 1700000.crypto:caam_dma: caam dma support with 4 job rings
Additionally, you can also run the following commands:
ls -l /sys/class/dma/
total 0
lrwxrwxrwx 1 root root 0 Jan 1 1970 dma0chan0 -> ../../devices/platform/soc/1700000.crypto/
1700000.crypto:caam_dma/dma/dma0chan0
lrwxrwxrwx 1 root root 0 Jan 1 1970 dma0chan1 -> ../../devices/platform/soc/1700000.crypto/
1700000.crypto:caam_dma/dma/dma0chan1
lrwxrwxrwx 1 root root 0 Jan 1 1970 dma0chan2 -> ../../devices/platform/soc/1700000.crypto/
1700000.crypto:caam_dma/dma/dma0chan2
Linux kernel
Layerscape LS1028A BSP User Guide, Rev. 0.3, 04/2019
42
NXP Semiconductors
Summary of Contents for Layerscape LS1028A BSP
Page 135: ......