Devicetree
 help / color / mirror / Atom feed
* [PATCH v3 0/2] Add support for Texas Instruments DTHE V2 crypto accelerator
@ 2025-05-02 11:51 T Pratham
  2025-05-02 11:51 ` [PATCH v3 1/2] dt-bindings: crypto: Add binding for TI DTHE V2 T Pratham
  0 siblings, 1 reply; 3+ messages in thread
From: T Pratham @ 2025-05-02 11:51 UTC (permalink / raw)
  To: Herbert Xu, David S. Miller, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: T Pratham, linux-crypto, devicetree, linux-kernel,
	Kamlesh Gurudasani, Vignesh Raghavendra, Praneeth Bajjuri,
	Manorit Chawdhry

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:
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:
v2: https://lore.kernel.org/all/20250411091321.2925308-1-t-pratham@ti.com/
v1: https://lore.kernel.org/all/20250206-dthe-v2-aes-v1-0-1e86cf683928@ti.com/
---
T Pratham (2):
  dt-bindings: crypto: Add binding for TI DTHE V2 driver
  crypto: ti: Add driver for DTHE V2 AES Engine (ECB, CBC)

 .../devicetree/bindings/crypto/ti,dthev2.yaml |  55 +++
 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                | 414 ++++++++++++++++++
 drivers/crypto/ti/dthev2-common.c             | 220 ++++++++++
 drivers/crypto/ti/dthev2-common.h             | 110 +++++
 9 files changed, 824 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/ti,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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v3 1/2] dt-bindings: crypto: Add binding for TI DTHE V2
  2025-05-02 11:51 [PATCH v3 0/2] Add support for Texas Instruments DTHE V2 crypto accelerator T Pratham
@ 2025-05-02 11:51 ` T Pratham
  2025-05-04 17:17   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 3+ messages in thread
From: T Pratham @ 2025-05-02 11:51 UTC (permalink / raw)
  To: T Pratham, Herbert Xu, David S. Miller, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Kamlesh Gurudasani, Vignesh Raghavendra, Praneeth Bajjuri,
	Manorit Chawdhry, linux-crypto, devicetree, linux-kernel

Add DT binding for Texas Instruments DTHE V2 crypto accelerator.

DTHE V2 is introduced as a part of TI AM62L SoC and can currently be
only found in it.

Signed-off-by: T Pratham <t-pratham@ti.com>
---
 .../devicetree/bindings/crypto/ti,dthev2.yaml | 55 +++++++++++++++++++
 MAINTAINERS                                   |  6 ++
 2 files changed, 61 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/ti,dthev2.yaml

diff --git a/Documentation/devicetree/bindings/crypto/ti,dthev2.yaml b/Documentation/devicetree/bindings/crypto/ti,dthev2.yaml
new file mode 100644
index 000000000000..68ed9923eebb
--- /dev/null
+++ b/Documentation/devicetree/bindings/crypto/ti,dthev2.yaml
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/crypto/ti,dthev2.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: K3 SoC DTHE V2 crypto module
+
+maintainers:
+  - T Pratham <t-pratham@ti.com>
+
+properties:
+  compatible:
+    enum:
+      - ti,am62l-dthev2
+
+  reg:
+    maxItems: 1
+
+  dmas:
+    items:
+      - description: AES Engine RX DMA Channel
+      - description: AES Engine TX DMA Channel
+      - description: SHA Engine TX DMA Channel
+
+  dma-names:
+    items:
+      - const: rx
+      - const: tx1
+      - const: tx2
+
+required:
+  - compatible
+  - reg
+  - dmas
+  - dma-names
+
+additionalProperties: false
+
+examples:
+  - |
+    cbass_main {
+        #address-cells = <2>;
+        #size-cells = <2>;
+
+        crypto@40800000 {
+          compatible = "ti,am62l-dthev2";
+          reg = <0x00 0x40800000 0x00 0x10000>;
+
+          dmas = <&main_bcdma 0 0 0x4700 0>,
+                <&main_bcdma 0 0 0xc701 0>,
+                <&main_bcdma 0 0 0xc700 0>;
+          dma-names = "rx", "tx1", "tx2";
+        };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index e2e2942779eb..406a746d8a69 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -24445,6 +24445,12 @@ S:	Odd Fixes
 F:	drivers/clk/ti/
 F:	include/linux/clk/ti.h
 
+TI DATA TRANSFORM AND HASHING ENGINE (DTHE) V2 CRYPTO ACCELERATOR DRIVER
+M:	T Pratham <t-pratham@ti.com>
+L:	linux-crypto@vger.kernel.org
+S:	Supported
+F:	Documentation/devicetree/bindings/crypto/ti,dthev2.yaml
+
 TI DAVINCI MACHINE SUPPORT
 M:	Bartosz Golaszewski <brgl@bgdev.pl>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 1/2] dt-bindings: crypto: Add binding for TI DTHE V2
  2025-05-02 11:51 ` [PATCH v3 1/2] dt-bindings: crypto: Add binding for TI DTHE V2 T Pratham
@ 2025-05-04 17:17   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 3+ messages in thread
From: Krzysztof Kozlowski @ 2025-05-04 17:17 UTC (permalink / raw)
  To: T Pratham
  Cc: Herbert Xu, David S. Miller, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Kamlesh Gurudasani, Vignesh Raghavendra,
	Praneeth Bajjuri, Manorit Chawdhry, linux-crypto, devicetree,
	linux-kernel

On Fri, May 02, 2025 at 05:21:16PM GMT, T Pratham wrote:
> Add DT binding for Texas Instruments DTHE V2 crypto accelerator.
> 
> DTHE V2 is introduced as a part of TI AM62L SoC and can currently be
> only found in it.
> 
> Signed-off-by: T Pratham <t-pratham@ti.com>
> ---
>  .../devicetree/bindings/crypto/ti,dthev2.yaml | 55 +++++++++++++++++++

Filename: nothing improved.

>  MAINTAINERS                                   |  6 ++
>  2 files changed, 61 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/crypto/ti,dthev2.yaml
> 
> diff --git a/Documentation/devicetree/bindings/crypto/ti,dthev2.yaml b/Documentation/devicetree/bindings/crypto/ti,dthev2.yaml
> new file mode 100644
> index 000000000000..68ed9923eebb
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/crypto/ti,dthev2.yaml
> @@ -0,0 +1,55 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/crypto/ti,dthev2.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: K3 SoC DTHE V2 crypto module
> +
> +maintainers:
> +  - T Pratham <t-pratham@ti.com>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - ti,am62l-dthev2
> +
> +  reg:
> +    maxItems: 1
> +
> +  dmas:
> +    items:
> +      - description: AES Engine RX DMA Channel
> +      - description: AES Engine TX DMA Channel
> +      - description: SHA Engine TX DMA Channel
> +
> +  dma-names:
> +    items:
> +      - const: rx
> +      - const: tx1
> +      - const: tx2
> +
> +required:
> +  - compatible
> +  - reg
> +  - dmas
> +  - dma-names
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    cbass_main {

soc or whatever is reasonable, but follow DTS coding style.

I already asked to match coding style, although about wrapping :/

> +        #address-cells = <2>;
> +        #size-cells = <2>;
> +
> +        crypto@40800000 {
> +          compatible = "ti,am62l-dthev2";
> +          reg = <0x00 0x40800000 0x00 0x10000>;
> +
> +          dmas = <&main_bcdma 0 0 0x4700 0>,
> +                <&main_bcdma 0 0 0xc701 0>,
> +                <&main_bcdma 0 0 0xc700 0>;

Looks misaligned, again, see DTS coding style

> +          dma-names = "rx", "tx1", "tx2";
> +        };

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-05-04 17:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-02 11:51 [PATCH v3 0/2] Add support for Texas Instruments DTHE V2 crypto accelerator T Pratham
2025-05-02 11:51 ` [PATCH v3 1/2] dt-bindings: crypto: Add binding for TI DTHE V2 T Pratham
2025-05-04 17:17   ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox