Cryptographic Acceleration and Assurance Module

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Cryptographic Acceleration and Assurance Module

Jump to solution
2,745 Views
ngsari
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
1,661 Views
matthieugaboria
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
Reply
6 Replies
1,661 Views
billpringlemeir
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.

1,661 Views
jackblather
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
Reply
1,661 Views
billpringlemeir
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
Reply
1,661 Views
ngsari
Contributor II

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

0 Kudos
Reply
1,662 Views
matthieugaboria
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.

0 Kudos
Reply
1,661 Views
ngsari
Contributor II

Thank you so much :smileyhappy:

0 Kudos
Reply