|
|
Subscribe / Log in / New account

Add Versal TRNG driver

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>
Subject:  [PATCH v3 0/3] Add Versal TRNG driver
Date:  Thu, 12 Jun 2025 10:55:39 +0530
Message-ID:  <20250612052542.2591773-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.

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/drbg.c                                 | 108 +++--
 drivers/crypto/Kconfig                        |  14 +
 drivers/crypto/xilinx/Makefile                |   1 +
 drivers/crypto/xilinx/xilinx-trng.c           | 434 ++++++++++++++++++
 include/crypto/drbg.h                         |  15 +
 7 files changed, 563 insertions(+), 51 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/crypto/xlnx,versal-trng.yaml
 create mode 100644 drivers/crypto/xilinx/xilinx-trng.c

-- 
2.34.1




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds