Cryptographic Acceleration and Assurance Module

cancel
Showing results for 
Search instead for 
Did you mean: 

Cryptographic Acceleration and Assurance Module

Jump to solution
1,089 Views
Contributor II

I like to use CAAM Register interface (IP bus). But there is almost no information in the SECURITY documentation.
(The document is full of how to use those modules but lack of details.)
How can I access those registers with C ? (Or Assembly if I realy have to)
CAAM Status Register
RNG TRNG Status Register
RNG DRNG Status Register

Labels (5)
1 Solution
5 Views
Contributor II

Hello NG Sari,

Some information about these registers are page 628/629 of the VYBRIDSRM (RNG TRNG Status Register, RNG DRNG Status Register).

The CAAM base address can be found section 2.9 of the same document.

I hope it helps.

View solution in original post

0 Kudos
6 Replies
5 Views
Contributor V

There are also Linux kernel drivers which might also be helpful; it has some sample source.  The same CAAM engine is used on some iMx devices.

5 Views
Senior Contributor I

Bill,

I looked at that link and example source isn't there.

On further research, I understand that the CAAM is accessed via the Linux Crypto drivers. Do you know where I can find examples on how to use this?

Thanks.

0 Kudos
5 Views
Contributor V

The link is to a Linux Driver that uses the CAAM.  I don't know what you mean by example.  The CAAM is extremely complex.  The Linux CAAM driver shows how to use the registers (DECOs, Job rings and blobs) to do something.  I referenced it as a working example of how to use the registers; together with the documentation it can be helpful.  The user-space interface will depend on your Linux version.  wikipedia.org, lwn article, and the current Linux crypto api might be useful.  OpenSSL and others may possibly have a configuration to use this.  At least it is possible to implement an OpenSSL crypto interface what would use the CAAM to accelerate things.

0 Kudos
5 Views
Contributor II

Thank you Bill. It's very helpfull. That saves me from a lot pain and time :smileyhappy:

0 Kudos
6 Views
Contributor II

Hello NG Sari,

Some information about these registers are page 628/629 of the VYBRIDSRM (RNG TRNG Status Register, RNG DRNG Status Register).

The CAAM base address can be found section 2.9 of the same document.

I hope it helps.

View solution in original post

0 Kudos
5 Views
Contributor II

Thank you so much :smileyhappy:

0 Kudos