summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJi Luo <ji.luo@nxp.com>2018-12-20 15:33:26 +0800
committerJi Luo <ji.luo@nxp.com>2018-12-24 09:14:31 +0800
commitde975d8500dc9423d10faf8c8290f6463662144c (patch)
treef5271186a9c1234a1be789300d53d24593fabec2 /include
parent68261e4ca35d6b5eaa0c75a0579ec59d8c6f4503 (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.h9
-rw-r--r--include/trusty/hwcrypto.h8
2 files changed, 17 insertions, 0 deletions
diff --git a/include/interface/hwcrypto/hwcrypto.h b/include/interface/hwcrypto/hwcrypto.h
index 0a62ea2102..270c57910a 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 22f0835432..9a510a889d 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_ */