22#ifndef WOLF_CRYPT_CAAM_INIT_H
23#define WOLF_CRYPT_CAAM_INIT_H
25#include <wolfssl/wolfcrypt/settings.h>
27#if defined(WOLFSSL_IMX6_CAAM) || defined(WOLFSSL_IMX6_CAAM_RNG)
31#if defined(__INTEGRITY) || defined(INTEGRITY)
32 #include <INTEGRITY.h>
35WOLFSSL_LOCAL
int wc_caamInit(
void);
36WOLFSSL_LOCAL
int wc_caamFree(
void);
37WOLFSSL_LOCAL
int wc_caamInitRng(
void);
38WOLFSSL_LOCAL
int wc_caamFreeRng(
void);
40WOLFSSL_LOCAL word32 wc_caamReadRegister(word32 reg);
41WOLFSSL_LOCAL
void wc_caamWriteRegister(word32 reg, word32 value);
42WOLFSSL_LOCAL
int wc_caamAddAndWait(Buffer* buf, word32 arg[4], word32 type);
44WOLFSSL_API
int wc_caamSetResource(IODevice ioDev);
46WOLFSSL_API
int wc_caamOpenBlob(
byte* data, word32 dataSz,
byte* out,
48WOLFSSL_API
int wc_caamCreateBlob(
byte* data, word32 dataSz,
byte* out,
52#define WC_CAAM_BLOB_SZ 48
55 #define WC_CAAM_READ(reg) wc_caamReadRegister((reg))
58 #define WC_CAAM_WRITE(reg, x) wc_caamWriteRegister((reg), (x))