Add support for Texas Instruments DTHE V2 crypto accelerator
From: | T Pratham <t-pratham-AT-ti.com> | |
To: | Herbert Xu <herbert-AT-gondor.apana.org.au>, "David S . Miller" <davem-AT-davemloft.net>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org> | |
Subject: | [PATCH v4 0/2] Add support for Texas Instruments DTHE V2 crypto accelerator | |
Date: | Thu, 08 May 2025 15:37:39 +0530 | |
Message-ID: | <20250508101723.846210-2-t-pratham@ti.com> | |
Cc: | T Pratham <t-pratham-AT-ti.com>, <linux-crypto-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, Kamlesh Gurudasani <kamlesh-AT-ti.com>, Vignesh Raghavendra <vigneshr-AT-ti.com>, Praneeth Bajjuri <praneeth-AT-ti.com>, Manorit Chawdhry <m-chawdhry-AT-ti.com> | |
Archive-link: | Article |
This series adds support for TI DTHE V2 crypto accelerator. DTHE V2 is a new crypto accelerator which contains multiple crypto IPs [1]. This series implements support for ECB and CBC modes of AES for the AES Engine of the DTHE, using skcipher APIs of the kernel. Tested with: CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and tcrypt, sudo modprobe tcrypt mode=500 sec=1 Signed-off-by: T Pratham <t-pratham@ti.com> --- [1]: Section 14.6.3 (DMA Control Registers -> DMASS_DTHE) Link: https://www.ti.com/lit/ug/sprujb4/sprujb4.pdf Change log: v4: - Corrected dt-bindings example indentation - Simplified dt-bindings example, removing the node surrounding crypto - Fixed typo in dthev2-common.h header guard - Removed unused ctx field in dev_data struct - Moved per-op data into request context v3: - Corrected dt-bindings reg length is too long error - Converted AES driver code to use crypto_engine APIs for using internal crypto queue instead of mutex. - Removed calls to skcipher_request_complete in paths not returning -EINPROGRESS before. - Added missing KConfig import, which was accidentally removed in v2. v2: - Corrected dt-bindings syntax errors and other review comments in v1. - Completely changed driver code structure, splitting code into multiple files Link to previous versions: v3: https://lore.kernel.org/all/20250502121253.456974-2-t-pra... v2: https://lore.kernel.org/all/20250411091321.2925308-1-t-pr... v1: https://lore.kernel.org/all/20250206-dthe-v2-aes-v1-0-1e8... --- T Pratham (2): dt-bindings: crypto: Add binding for TI DTHE V2 crypto: ti: Add driver for DTHE V2 AES Engine (ECB, CBC) .../bindings/crypto/ti,am62l-dthev2.yaml | 50 ++ MAINTAINERS | 7 + drivers/crypto/Kconfig | 1 + drivers/crypto/Makefile | 1 + drivers/crypto/ti/Kconfig | 13 + drivers/crypto/ti/Makefile | 3 + drivers/crypto/ti/dthev2-aes.c | 428 ++++++++++++++++++ drivers/crypto/ti/dthev2-common.c | 220 +++++++++ drivers/crypto/ti/dthev2-common.h | 111 +++++ 9 files changed, 834 insertions(+) create mode 100644 Documentation/devicetree/bindings/crypto/ti,am62l-dthev2.yaml create mode 100644 drivers/crypto/ti/Kconfig create mode 100644 drivers/crypto/ti/Makefile create mode 100644 drivers/crypto/ti/dthev2-aes.c create mode 100644 drivers/crypto/ti/dthev2-common.c create mode 100644 drivers/crypto/ti/dthev2-common.h -- 2.43.0