From 0bd937248a7a69f531e19eac28d164fce0c60855 Mon Sep 17 00:00:00 2001
From: Przemyslaw Marczak
Date: Tue, 25 Mar 2014 10:58:21 +0100
Subject: drivers: crypto: ace_sha: add implementation of hardware based lib
rand
This patch adds implementation of rand library based on hardware random
number generator of security subsystem in Exynos SOC.
This library includes:
- srand() - used for seed hardware block
- rand() - returns random number
- rand_r() - the same as above with given seed
which depends on CONFIG_EXYNOS_ACE_SHA and CONFIG_LIB_HW_RAND.
Signed-off-by: Przemyslaw Marczak
cc: Akshay Saraswat
cc: ARUN MANKUZHI
cc: Minkyu Kang
Cc: Michael Walle
Cc: Tom Rini
Cc: Masahiro Yamada
---
drivers/crypto/ace_sha.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
(limited to 'drivers/crypto/ace_sha.h')
diff --git a/drivers/crypto/ace_sha.h b/drivers/crypto/ace_sha.h
index a426d52372..f1097f72dc 100644
--- a/drivers/crypto/ace_sha.h
+++ b/drivers/crypto/ace_sha.h
@@ -72,9 +72,10 @@ struct exynos_ace_sfr {
unsigned char res12[0x30];
unsigned int hash_result[8];
unsigned char res13[0x20];
- unsigned int hash_seed[8];
- unsigned int hash_prng[8];
- unsigned char res14[0x180];
+ unsigned int hash_seed[5];
+ unsigned char res14[12];
+ unsigned int hash_prng[5];
+ unsigned char res15[0x18c];
unsigned int pka_sfr[5]; /* base + 0x700 */
};
@@ -291,6 +292,7 @@ struct exynos_ace_sfr {
#define ACE_HASH_PRNGERROR_MASK (1 << 7)
#define ACE_HASH_PRNGERROR_OFF (0 << 7)
#define ACE_HASH_PRNGERROR_ON (1 << 7)
+#define ACE_HASH_PRNG_REG_NUM 5
#define ACE_SHA_TYPE_SHA1 1
#define ACE_SHA_TYPE_SHA256 2
--
cgit