I'm new to IMX6.
I would like to develop a little application in c language which use the CAAM cryptographic hardware accelerator (CHA).
I've 2 main problem:
- I think I don't understand very well all concepts: job descriptor/trusted descriptor , job rings, shared descriptors, etc...
- I try to read some register (like MCFGR — Master Configuration Register for example) and it spawn an error.
I've read the Document Number: IMX6DQ6SDLSRM :
Security Reference Manual for i.MX6Dual, 6Quad, 6Solo, and 6DualLite Families of Applications Processors
but for beginning I would like a little application example. It's easier in order to understand the main idea.
As concerning the register reading,
I use this (simple) command in my c program :
#define reg32_read(addr) *((volatile uint_32_t *) (addr))
and in my program, when I call :
reg32_read(0x02100004); //0x02100004 : Master Configuration Register address
the program return me :
 + stopped (signal) ./caam_test
I don't understand the real problem.
Is it a right problem ?
Is their a register setting that I missed in order to read all registers?
How to read/write into register in order to use CHA of CAAM ?
Is there some code examples of AES ECB mode encryption using the CAAM ?
Please, could you help me please ? Any suggestions are welcome...