| From: |
| Harsh Jain <h.jain-AT-amd.com> |
| To: |
| <herbert-AT-gondor.apana.org.au>, <davem-AT-davemloft.net>, <linux-crypto-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <mounika.botcha-AT-amd.com>, <sarat.chand.savitala-AT-amd.com>, <mohan.dhanawade-AT-amd.com>, <michal.simek-AT-amd.com>, <smueller-AT-chronox.de>, <robh-AT-kernel.org>, <krzk+dt-AT-kernel.org>, <conor+dt-AT-kernel.org> |
| Subject: |
| [PATCH V6 0/3] crypto: Add Versal TRNG driver |
| Date: |
| Mon, 25 Aug 2025 12:46:57 +0530 |
| Message-ID: |
| <20250825071700.819759-1-h.jain@amd.com> |
| Cc: |
| Harsh Jain <h.jain-AT-amd.com> |
| Archive-link: |
| Article |
Versal TRNG module consist of array of Ring Oscillators as entropy source
and a deterministic CTR_DRBG random bit generator (DRBG). Add driver to
registers entropy source to hwrng and CTR_DRBG generator to crypto subsystem.
Derivation Function (DF) defined in NIST SP-800-90A for CTR_DRBG is not
supported in current TRNG IP. For DF processing, Update drbg module to
export CTR_DRBG derivation function in df_sp80090a module.
Testing
Following compile tests done
* CONFIG_CRYPTO_DRBG_CTR = n and CONFIG_CRYPTO_DEV_XILINX_TRNG = n
* CONFIG_CRYPTO_DRBG_CTR = y and CONFIG_CRYPTO_DEV_XILINX_TRNG = n
* CONFIG_CRYPTO_DRBG_CTR = n and CONFIG_CRYPTO_DEV_XILINX_TRNG = m
* CONFIG_CRYPTO_DRBG_CTR = y and CONFIG_CRYPTO_DEV_XILINX_TRNG = m
Changes in v5
- Direct include header file in df_sp80090a.c
- Add internal/drbg.h
Changes in v5
- Direct include header file
- Fix review-by tag position
Changes in v4
- Add df_sp80090a module to export CTR_DRBG DF function
Changes in v3
- Fix yaml warning introduced in v2.
- Squash fix patches
Changes in v2
- Fixed signoff chain
- Added 3 patch to fix Kernel test robot bugs
Harsh Jain (2):
crypto: xilinx: Add TRNG driver for Versal
crypto: drbg: Export CTR DRBG DF functions
Mounika Botcha (1):
dt-bindings: crypto: Add node for True Random Number Generator
.../bindings/crypto/xlnx,versal-trng.yaml | 36 ++
MAINTAINERS | 6 +
crypto/Kconfig | 8 +-
crypto/Makefile | 2 +
crypto/df_sp80090a.c | 247 ++++++++++
crypto/drbg.c | 244 +---------
drivers/crypto/Kconfig | 13 +
drivers/crypto/xilinx/Makefile | 1 +
drivers/crypto/xilinx/xilinx-trng.c | 435 ++++++++++++++++++
include/crypto/df_sp80090a.h | 27 ++
include/crypto/drbg.h | 25 +-
include/crypto/internal/drbg.h | 54 +++
12 files changed, 833 insertions(+), 265 deletions(-)
create mode 100644 Documentation/devicetree/bindings/crypto/xlnx,versal-trng.yaml
create mode 100644 crypto/df_sp80090a.c
create mode 100644 drivers/crypto/xilinx/xilinx-trng.c
create mode 100644 include/crypto/df_sp80090a.h
create mode 100644 include/crypto/internal/drbg.h
--
2.34.1