diff options
author | Ji Luo <ji.luo@nxp.com> | 2018-12-20 15:33:26 +0800 |
---|---|---|
committer | Ji Luo <ji.luo@nxp.com> | 2018-12-24 09:14:31 +0800 |
commit | de975d8500dc9423d10faf8c8290f6463662144c (patch) | |
tree | f5271186a9c1234a1be789300d53d24593fabec2 /include | |
parent | 68261e4ca35d6b5eaa0c75a0579ec59d8c6f4503 (diff) |
MA-13831-3 [trusty] Add command to generate rng with CAAM
Add new hwcrypto command to support rng generation with CAAM.
Test: rng generated on imx8qxp_mek.
Change-Id: I756f3e99423f0f9dfc2bcd30117a3f96e9f5f2f7
Signed-off-by: Ji Luo <ji.luo@nxp.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/interface/hwcrypto/hwcrypto.h | 9 | ||||
-rw-r--r-- | include/trusty/hwcrypto.h | 8 |
2 files changed, 17 insertions, 0 deletions
diff --git a/include/interface/hwcrypto/hwcrypto.h b/include/interface/hwcrypto/hwcrypto.h index 0a62ea21027..270c57910a2 100644 --- a/include/interface/hwcrypto/hwcrypto.h +++ b/include/interface/hwcrypto/hwcrypto.h @@ -38,6 +38,7 @@ enum hwcrypto_command { HWCRYPTO_HASH = (1 << HWCRYPTO_REQ_SHIFT), HWCRYPTO_ENCAP_BLOB = (2 << HWCRYPTO_REQ_SHIFT), + HWCRYPTO_GEN_RNG = (3 << HWCRYPTO_REQ_SHIFT), }; /** @@ -96,4 +97,12 @@ typedef struct hwcrypto_blob_msg { uint32_t blob_pa; }hwcrypto_blob_msg; +/** + * @buf: physical start address of the output rng buf. + * @len: size of required rng. + */ +typedef struct hwcrypto_rng_msg { + uint32_t buf; + uint32_t len; +}hwcrypto_rng_msg; #endif /* TRUSTY_INTERFACE_HWCRYPTO_H_ */ diff --git a/include/trusty/hwcrypto.h b/include/trusty/hwcrypto.h index 22f08354323..9a510a889d7 100644 --- a/include/trusty/hwcrypto.h +++ b/include/trusty/hwcrypto.h @@ -66,4 +66,12 @@ int hwcrypto_hash(uint32_t in_addr, uint32_t in_len, uint32_t out_addr, */ int hwcrypto_gen_blob(uint32_t plain_pa, uint32_t plain_size, uint32_t blob_pa); + +/* Send request to secure side to generate rng with caam. + * Returns one of trusty_err. + * + * @buf: physical start address of the output rng buf. + * @len: size of required rng. + * */ +int hwcrypto_gen_rng(uint32_t buf, uint32_t len); #endif /* TRUSTY_HWCRYPTO_H_ */ |