[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250602053231.403143-2-pavitrakumarm@vayavyalabs.com>
Date: Mon, 2 Jun 2025 11:02:26 +0530
From: Pavitrakumar Managutte <pavitrakumarm@...avyalabs.com>
To: linux-crypto@...r.kernel.org,
linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org,
herbert@...dor.apana.org.au,
robh@...nel.org
Cc: krzk+dt@...nel.org,
conor+dt@...nel.org,
Ruud.Derwig@...opsys.com,
manjunath.hadli@...avyalabs.com,
adityak@...avyalabs.com,
Pavitrakumar Managutte <pavitrakumarm@...avyalabs.com>,
Bhoomika Kadabi <bhoomikak@...avyalabs.com>
Subject: [PATCH v3 1/6] dt-bindings: crypto: Document support for SPAcc
Add DT bindings related to the SPAcc driver for Documentation.
DWC Synopsys Security Protocol Accelerator(SPAcc) Hardware Crypto
Engine is a crypto IP designed by Synopsys.
Co-developed-by: Bhoomika Kadabi <bhoomikak@...avyalabs.com>
Signed-off-by: Bhoomika Kadabi <bhoomikak@...avyalabs.com>
Signed-off-by: Pavitrakumar Managutte <pavitrakumarm@...avyalabs.com>
Acked-by: Ruud Derwig <Ruud.Derwig@...opsys.com>
---
.../bindings/crypto/snps,dwc-spacc.yaml | 77 +++++++++++++++++++
1 file changed, 77 insertions(+)
create mode 100644 Documentation/devicetree/bindings/crypto/snps,dwc-spacc.yaml
diff --git a/Documentation/devicetree/bindings/crypto/snps,dwc-spacc.yaml b/Documentation/devicetree/bindings/crypto/snps,dwc-spacc.yaml
new file mode 100644
index 000000000000..2780b3db2182
--- /dev/null
+++ b/Documentation/devicetree/bindings/crypto/snps,dwc-spacc.yaml
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/crypto/snps,dwc-spacc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Synopsys DesignWare Security Protocol Accelerator(SPAcc) Crypto Engine
+
+maintainers:
+ - Ruud Derwig <Ruud.Derwig@...opsys.com>
+
+description: |
+ This binding describes the Synopsys DWC Security Protocol Accelerator (SPAcc),
+ which is a hardware IP designed to accelerate cryptographic operations, such
+ as encryption, decryption, and hashing.
+
+ The SPAcc supports virtualization where a single physical SPAcc can be
+ accessed as multiple virtual SPAcc instances, each with its own register set.
+ These virtual instances can be assigned different priorities.
+
+ In this configuration, the SPAcc IP is instantiated within the Synopsys
+ NSIMOSCI virtual SoC platform, a SystemC simulation environment used for
+ software development and testing. The device is accessed as a memory-mapped
+ peripheral and generates interrupts to the ARC interrupt controller.
+
+properties:
+ compatible:
+ items:
+ - const: snps,nsimosci-hs-spacc
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ snps,vspacc-id:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Virtual SPAcc instance identifier.
+ The SPAcc hardware supports multiple virtual instances (determined by
+ ELP_SPACC_CONFIG_VSPACC_CNT parameter), and this ID is used to identify
+ which virtual instance this node represents.
+ minimum: 0
+ maximum: 7
+
+ snps,spacc-internal-counter:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Hardware counter that generates an interrupt based on a count value.
+ This counter starts ticking when there is a completed job sitting on
+ the status fifo to be serviced. This makes sure that no jobs are
+ starved of processing.
+ minimum: 0x19000
+ maximum: 0xFFFFF
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+
+ crypto@...00000 {
+ compatible = "snps,nsimosci-hs-spacc";
+ reg = <0x40000000 0x3FFFF>;
+ interrupts = <28>;
+ clocks = <&clock>;
+ snps,spacc-internal-counter = <0x20000>;
+ snps,vspacc-id = <0>;
+ };
--
2.25.1
Powered by blists - more mailing lists