Chapter 45
CAAM (Cryptographic Acceleration and Assurance
Module)
45.1 CAAM Device Driver Overview
This section discusses implementation specifics of the kernel driver components
supporting CAAM (Cryptographic Acceleration and Assurance Module) within the Linux
kernel.
CAAM's base driver packaging can be categorized on two distinct levels:
• Configuration and Job Execution Level
• API Interface Level
Configuration and Job Execution Level consists of:
• a control and configuration module which maps the main register page and writes
global or system required configuration information.
• a module that feeds jobs through job rings, and reports status.
API Interface Level consists of:
• An interface to the Scatterlist Crypto API supporting asynchronous single-pass
authentication-encryption operations, and common blockciphers -
caamalg
.
• An interface to the Scatterlist Crypto API supporting asynchronous hashes -
caamhash
.
• An interface to the hwrng API supporting use of the Random Number Generator -
caamrng
.
45.2 Configuration and Job Execution Level
This section has two parts:
• Control/Configuration Driver
• Job Ring Driver
i.MX 6Solo/6DualLite Linux Reference Manual, Rev. L3.0.35_4.1.0, 09/2013
Freescale Semiconductor, Inc.
311