[PATCH v8 0/2] Add support for hashing algorithms in TI DTHE V2

T Pratham posted 2 patches 2 weeks, 1 day ago
There is a newer version of this series
drivers/crypto/ti/Kconfig         |    3 +
drivers/crypto/ti/Makefile        |    2 +-
drivers/crypto/ti/dthev2-aes.c    |   10 +-
drivers/crypto/ti/dthev2-common.c |   43 +-
drivers/crypto/ti/dthev2-common.h |   68 +-
drivers/crypto/ti/dthev2-hash.c   | 1047 +++++++++++++++++++++++++++++
6 files changed, 1152 insertions(+), 21 deletions(-)
create mode 100644 drivers/crypto/ti/dthev2-hash.c
[PATCH v8 0/2] Add support for hashing algorithms in TI DTHE V2
Posted by T Pratham 2 weeks, 1 day ago
DTHEv2 is a new cryptography engine introduced in TI AM62L SoC. The
features of DTHEv2 were detailed in [1]. Additional hardware details
available in SoC TRM [2]. DTHEv2 includes, among its various
sub-components, a hashing engine which is compliant with various IETF
and NIST standards, including FIPS 180-3 and FIPS PUB 198.

This patch series adds support for the hashing algorithms
SHA224/256/384/512 as well as their HMAC counnterparts for the hashing
engine of Texas Instruments DTHE V2 crypto driver.

The driver is tested using full kernel crypto selftests
(CRYPTO_SELFTESTS_FULL) which all pass successfully [3].

Some of the pre-existing errors caught by Sashiko are fixed in a
separate series [4]. This patch series depends on [4].

Signed-off-by: T Pratham <t-pratham@ti.com>
---
[1]: [PATCH v7 0/2] Add support for Texas Instruments DTHEv2 Crypto
Engine
Link: https://lore.kernel.org/all/20250820092710.3510788-1-t-pratham@ti.com/

[2]: Section 14.6.3 (DMA Control Registers -> DMASS_DTHE)
Link: https://www.ti.com/lit/ug/sprujb4/sprujb4.pdf

[3]: DTHEv2 kernel self-tests logs
Link: https://gist.github.com/Pratham-T/fd15b8e0ee815bcb420a60d451a0cf18

[4]: [PATCH v3 0/12] Fix several issues in DTHEv2 driver
Link: https://lore.kernel.org/all/20260910104202.1537226-1-t-pratham@ti.com/

Changelog:
v8: 
 - Minor fixes based on Sashiko comments on [4] and changes in [4]
v7:
 - Minor fixes based on Sashiko comments on [4]
v6:
 - Dropped MD5 and HMAC(MD5)
 - Fixed errors pointed by Sashiko
v5:
 - Removed CRYPTO_AHASH_ALG_FINAL_NON_ZERO and FINUP_MAX. Implemented
   the same mechanism in the driver itself by witholding one block in
   the req ctx. 
v4:
 - Export initial state when phash_available = 0
v3:
 - Check for error in registration individualy for hash and aes driver
   algos.
 - Fixed comment style in dthev2-common.c
v2:
 - Completely revamped the driver to use the new CRYPTO_AHASH_BLOCK_ONLY
   framework for handling partial blocks and crypto_engine for queueing.
 - Added HMAC as well.

Link to previous versions:
v7: https://lore.kernel.org/all/20260827133542.619717-1-t-pratham@ti.com/
v6: https://lore.kernel.org/all/20260827112653.530273-1-t-pratham@ti.com/ 
v5: https://lore.kernel.org/all/20260807110501.975130-1-t-pratham@ti.com/
v4: https://lore.kernel.org/all/20260526094355.555712-1-t-pratham@ti.com/
v3: https://lore.kernel.org/all/20260226131103.3560884-1-t-pratham@ti.com/
v2: https://lore.kernel.org/all/20260121132408.743777-1-t-pratham@ti.com/
v1: https://lore.kernel.org/all/20250218104943.2304730-1-t-pratham@ti.com/
---

T Pratham (2):
  crypto: ti - Add support for SHA224/256/384/512 in DTHEv2 driver
  crypto: ti - Add support for HMAC in DTHEv2 driver

 drivers/crypto/ti/Kconfig         |    3 +
 drivers/crypto/ti/Makefile        |    2 +-
 drivers/crypto/ti/dthev2-aes.c    |   10 +-
 drivers/crypto/ti/dthev2-common.c |   43 +-
 drivers/crypto/ti/dthev2-common.h |   68 +-
 drivers/crypto/ti/dthev2-hash.c   | 1047 +++++++++++++++++++++++++++++
 6 files changed, 1152 insertions(+), 21 deletions(-)
 create mode 100644 drivers/crypto/ti/dthev2-hash.c

-- 
2.34.1