Source Files
The drivers source code is maintained in the Linux kernel source tree, under
drivers/crypto/caam
. Below is a non-exhaustive list
of files, mapping to Security Engine (SEC)(some files have been omitted since their existence is justified only by driver logic /
design):
Source File(s)
Description
Module name
ctrl.[c,h]
Init (global settings, RNG, power
management etc.)
caam
desc.h
HW description (CCSR registers etc.)
N/A
desc_constr.h
Inline append - descriptor construction
library
N/A
caamalg_desc.[c,h]
(Shared) Descriptors library (symmetric
encryption, AEAD)
caamalg_desc
caamrng.c
RNG (runtime)
caamrng
jr.[c,h]
JRI backend
caam_jr
qi.[c,h]
QI backend
caam
dpseci.[c,h], dpseci_cmd.h
DPSECI backend
N/A (built-in)
caamalg.c
JRI frontend (symmetric encryption,
AEAD)
caamalg
caamhash.c
JRI frontend (hashing)
caamhash
caampkc.c, pkc_desc.c
JRI frontend (public key cryptography)
caam_pkc
caamalg_qi.c
QI frontend (symmetric encryption,
AEAD)
caamalg_qi
caamalg_qi2.[c,h]
DPSECI frontend (symmetric
encryption, AEAD)
caamalg_qi2
Module loading
CAAM device drivers can be compiled either built-in or as modules (with the exception of DPSECI backend, which is always built-
in). See section
Source Files
on page 65 for the list of module names and section
Kernel Configuration
on page 65 for how
kernel configuration looks like and a mapping between menu entries and modules and / or functionalities enabled.
Kernel Configuration
CAAM device drivers are located in the "Cryptographic API" -> "Hardware crypto devices" sub-menu in the kernel configuration.
Depending on the target platform and / or configuration file(s) used, the output will be different; below is an example taken from
NXP Layerscape SDK for ARMv8 platforms with default options:
Kernel Configure Tree View Options
Description
Cryptographic API --->
[*] Hardware crypto devices --->
<*> Freescale CAAM-Multicore platform
driver backend (SEC)
[ ] Enable debug output in CAAM
Enable CAAM device drivers, options:
• basic platform driver:
Freescale CAAM-Multicore platform
driver backend (SEC)
; all non-DPAA2 sub-options depend on
it
Table continues on the next page...
Device Drivers
Layerscape LS1028A BSP User Guide, Rev. 0.3, 04/2019
NXP Semiconductors
65
Summary of Contents for Layerscape LS1028A BSP
Page 135: ......