2022-02-11 10:36:38

by Tudor Ambarus

[permalink] [raw]
Subject: [PACTH v4 0/3] dt-bindings: crypto: Convert atmel-crypto to YAML

Convert Atmel AES, TDES and SHA documentation to yaml format. There is one
binding defined per file. Keeping all bindings under the same yaml does
not make sense, as these are individual IPs. With the conversion the clock
and clock-names properties are made mandatory, to reflect how the drivers
treat them: when these properties are not provided, the drivers return
error.

v4:
- fix the AES example: match the node's address with the reg's address
- collect Krzysztof's R-b tags

v3:
- update license to (GPL-2.0-only OR BSD-2-Clause)
- add "Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries"
- add Krzysztof's R-b tag on patch 3/3. Chose to keep "maxItems: 1" instead
of "items" and "description" because that's what the guide at [1] suggests:
"# Cases that have only a single entry just need to express that with
maxItems"

[1] https://www.kernel.org/doc/html/latest/devicetree/bindings/writing-schema.html#annotated-example-schema

v2:
- use generic "crypto" node name
- drop redundant status = "okay" - it's the default state anyway
- introduce empty line for readability
- be specific and rename the bindings to let room for future possible
lines of architectures.

Tudor Ambarus (3):
dt-bindings: crypto: Convert Atmel AES to yaml
dt-bindings: crypto: Convert Atmel TDES to yaml
dt-bindings: crypto: Convert Atmel SHA to yaml

.../crypto/atmel,at91sam9g46-aes.yaml | 66 ++++++++++++++++++
.../crypto/atmel,at91sam9g46-sha.yaml | 60 ++++++++++++++++
.../crypto/atmel,at91sam9g46-tdes.yaml | 64 +++++++++++++++++
.../bindings/crypto/atmel-crypto.txt | 68 -------------------
4 files changed, 190 insertions(+), 68 deletions(-)
create mode 100644 Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml
create mode 100644 Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml
create mode 100644 Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-tdes.yaml
delete mode 100644 Documentation/devicetree/bindings/crypto/atmel-crypto.txt

--
2.25.1



2022-02-11 10:45:27

by Tudor Ambarus

[permalink] [raw]
Subject: [PACTH v4 1/3] dt-bindings: crypto: Convert Atmel AES to yaml

Convert Atmel AES documentation to yaml format. With the conversion the
clock and clock-names properties are made mandatory. The driver returns
-EINVAL if "aes_clk" is not found, reflect that in the bindings and make
the clock and clock-names properties mandatory. Update the example to
better describe how one should define the dt node.

Signed-off-by: Tudor Ambarus <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
---
.../crypto/atmel,at91sam9g46-aes.yaml | 66 +++++++++++++++++++
.../bindings/crypto/atmel-crypto.txt | 20 ------
2 files changed, 66 insertions(+), 20 deletions(-)
create mode 100644 Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml

diff --git a/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml b/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml
new file mode 100644
index 000000000000..0ccaab16dc61
--- /dev/null
+++ b/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/crypto/atmel,at91sam9g46-aes.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel Advanced Encryption Standard (AES) HW cryptographic accelerator
+
+maintainers:
+ - Tudor Ambarus <[email protected]>
+
+properties:
+ compatible:
+ const: atmel,at91sam9g46-aes
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ const: aes_clk
+
+ dmas:
+ items:
+ - description: TX DMA Channel
+ - description: RX DMA Channel
+
+ dma-names:
+ items:
+ - const: tx
+ - const: rx
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+ - dmas
+ - dma-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/at91.h>
+ #include <dt-bindings/dma/at91.h>
+
+ aes: crypto@e1810000 {
+ compatible = "atmel,at91sam9g46-aes";
+ reg = <0xe1810000 0x100>;
+ interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 27>;
+ clock-names = "aes_clk";
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(1)>,
+ <&dma0 AT91_XDMAC_DT_PERID(2)>;
+ dma-names = "tx", "rx";
+ };
diff --git a/Documentation/devicetree/bindings/crypto/atmel-crypto.txt b/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
index f2aab3dc2b52..1353ebd0dcaa 100644
--- a/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
+++ b/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
@@ -2,26 +2,6 @@

These are the HW cryptographic accelerators found on some Atmel products.

-* Advanced Encryption Standard (AES)
-
-Required properties:
-- compatible : Should be "atmel,at91sam9g46-aes".
-- reg: Should contain AES registers location and length.
-- interrupts: Should contain the IRQ line for the AES.
-- dmas: List of two DMA specifiers as described in
- atmel-dma.txt and dma.txt files.
-- dma-names: Contains one identifier string for each DMA specifier
- in the dmas property.
-
-Example:
-aes@f8038000 {
- compatible = "atmel,at91sam9g46-aes";
- reg = <0xf8038000 0x100>;
- interrupts = <43 4 0>;
- dmas = <&dma1 2 18>,
- <&dma1 2 19>;
- dma-names = "tx", "rx";
-
* Triple Data Encryption Standard (Triple DES)

Required properties:
--
2.25.1


2022-02-11 12:39:14

by Tudor Ambarus

[permalink] [raw]
Subject: [PACTH v4 3/3] dt-bindings: crypto: Convert Atmel SHA to yaml

Convert Atmel SHA documentation to yaml format. With the conversion the
clock and clock-names properties are made mandatory. The driver returns
-EINVAL if "sha_clk" is not found, reflect that in the bindings and make
the clock and clock-names properties mandatory. Update the example to
better describe how one should define the dt node.

Signed-off-by: Tudor Ambarus <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
---
.../crypto/atmel,at91sam9g46-sha.yaml | 60 +++++++++++++++++++
.../bindings/crypto/atmel-crypto.txt | 25 --------
2 files changed, 60 insertions(+), 25 deletions(-)
create mode 100644 Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml
delete mode 100644 Documentation/devicetree/bindings/crypto/atmel-crypto.txt

diff --git a/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml b/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml
new file mode 100644
index 000000000000..5163c51b4547
--- /dev/null
+++ b/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml
@@ -0,0 +1,60 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/crypto/atmel,at91sam9g46-sha.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel Secure Hash Algorithm (SHA) HW cryptographic accelerator
+
+maintainers:
+ - Tudor Ambarus <[email protected]>
+
+properties:
+ compatible:
+ const: atmel,at91sam9g46-sha
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ const: sha_clk
+
+ dmas:
+ maxItems: 1
+ description: TX DMA Channel
+
+ dma-names:
+ const: tx
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/at91.h>
+ #include <dt-bindings/dma/at91.h>
+
+ sha: crypto@e1814000 {
+ compatible = "atmel,at91sam9g46-sha";
+ reg = <0xe1814000 0x100>;
+ interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 83>;
+ clock-names = "sha_clk";
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(48)>;
+ dma-names = "tx";
+ };
diff --git a/Documentation/devicetree/bindings/crypto/atmel-crypto.txt b/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
deleted file mode 100644
index 5c6541cfcc4a..000000000000
--- a/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-* Atmel HW cryptographic accelerators
-
-These are the HW cryptographic accelerators found on some Atmel products.
-
-* Secure Hash Algorithm (SHA)
-
-Required properties:
-- compatible : Should be "atmel,at91sam9g46-sha".
-- reg: Should contain SHA registers location and length.
-- interrupts: Should contain the IRQ line for the SHA.
-
-Optional properties:
-- dmas: One DMA specifiers as described in
- atmel-dma.txt and dma.txt files.
-- dma-names: Contains one identifier string for each DMA specifier
- in the dmas property. Only one "tx" string needed.
-
-Example:
-sha@f8034000 {
- compatible = "atmel,at91sam9g46-sha";
- reg = <0xf8034000 0x100>;
- interrupts = <42 4 0>;
- dmas = <&dma1 2 17>;
- dma-names = "tx";
-};
--
2.25.1


2022-02-11 14:11:36

by Tudor Ambarus

[permalink] [raw]
Subject: [PACTH v4 2/3] dt-bindings: crypto: Convert Atmel TDES to yaml

Convert Atmel TDES documentation to yaml format. With the conversion the
clock and clock-names properties are made mandatory. The driver returns
-EINVAL if "tdes_clk" is not found, reflect that in the bindings and make
the clock and clock-names properties mandatory. Update the example to
better describe how one should define the dt node.

Signed-off-by: Tudor Ambarus <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
---
.../crypto/atmel,at91sam9g46-tdes.yaml | 64 +++++++++++++++++++
.../bindings/crypto/atmel-crypto.txt | 23 -------
2 files changed, 64 insertions(+), 23 deletions(-)
create mode 100644 Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-tdes.yaml

diff --git a/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-tdes.yaml b/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-tdes.yaml
new file mode 100644
index 000000000000..fcc5adf03cad
--- /dev/null
+++ b/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-tdes.yaml
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/crypto/atmel,at91sam9g46-tdes.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel Triple Data Encryption Standard (TDES) HW cryptographic accelerator
+
+maintainers:
+ - Tudor Ambarus <[email protected]>
+
+properties:
+ compatible:
+ const: atmel,at91sam9g46-tdes
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ const: tdes_clk
+
+ dmas:
+ items:
+ - description: TX DMA Channel
+ - description: RX DMA Channel
+
+ dma-names:
+ items:
+ - const: tx
+ - const: rx
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/at91.h>
+ #include <dt-bindings/dma/at91.h>
+
+ tdes: crypto@e2014000 {
+ compatible = "atmel,at91sam9g46-tdes";
+ reg = <0xe2014000 0x100>;
+ interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 96>;
+ clock-names = "tdes_clk";
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(54)>,
+ <&dma0 AT91_XDMAC_DT_PERID(53)>;
+ dma-names = "tx", "rx";
+ };
diff --git a/Documentation/devicetree/bindings/crypto/atmel-crypto.txt b/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
index 1353ebd0dcaa..5c6541cfcc4a 100644
--- a/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
+++ b/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
@@ -2,29 +2,6 @@

These are the HW cryptographic accelerators found on some Atmel products.

-* Triple Data Encryption Standard (Triple DES)
-
-Required properties:
-- compatible : Should be "atmel,at91sam9g46-tdes".
-- reg: Should contain TDES registers location and length.
-- interrupts: Should contain the IRQ line for the TDES.
-
-Optional properties:
-- dmas: List of two DMA specifiers as described in
- atmel-dma.txt and dma.txt files.
-- dma-names: Contains one identifier string for each DMA specifier
- in the dmas property.
-
-Example:
-tdes@f803c000 {
- compatible = "atmel,at91sam9g46-tdes";
- reg = <0xf803c000 0x100>;
- interrupts = <44 4 0>;
- dmas = <&dma1 2 20>,
- <&dma1 2 21>;
- dma-names = "tx", "rx";
-};
-
* Secure Hash Algorithm (SHA)

Required properties:
--
2.25.1


2022-02-11 14:12:46

by Claudiu Beznea

[permalink] [raw]
Subject: Re: [PACTH v4 0/3] dt-bindings: crypto: Convert atmel-crypto to YAML

On 11.02.2022 11:39, Tudor Ambarus wrote:
> Convert Atmel AES, TDES and SHA documentation to yaml format. There is one
> binding defined per file. Keeping all bindings under the same yaml does
> not make sense, as these are individual IPs. With the conversion the clock
> and clock-names properties are made mandatory, to reflect how the drivers
> treat them: when these properties are not provided, the drivers return
> error.
>
> v4:
> - fix the AES example: match the node's address with the reg's address
> - collect Krzysztof's R-b tags
>
> v3:
> - update license to (GPL-2.0-only OR BSD-2-Clause)
> - add "Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries"
> - add Krzysztof's R-b tag on patch 3/3. Chose to keep "maxItems: 1" instead
> of "items" and "description" because that's what the guide at [1] suggests:
> "# Cases that have only a single entry just need to express that with
> maxItems"
>
> [1] https://www.kernel.org/doc/html/latest/devicetree/bindings/writing-schema.html#annotated-example-schema
>
> v2:
> - use generic "crypto" node name
> - drop redundant status = "okay" - it's the default state anyway
> - introduce empty line for readability
> - be specific and rename the bindings to let room for future possible
> lines of architectures.
>
> Tudor Ambarus (3):
> dt-bindings: crypto: Convert Atmel AES to yaml
> dt-bindings: crypto: Convert Atmel TDES to yaml
> dt-bindings: crypto: Convert Atmel SHA to yaml

Reviewed-by: Claudiu Beznea <[email protected]>

>
> .../crypto/atmel,at91sam9g46-aes.yaml | 66 ++++++++++++++++++
> .../crypto/atmel,at91sam9g46-sha.yaml | 60 ++++++++++++++++
> .../crypto/atmel,at91sam9g46-tdes.yaml | 64 +++++++++++++++++
> .../bindings/crypto/atmel-crypto.txt | 68 -------------------
> 4 files changed, 190 insertions(+), 68 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml
> create mode 100644 Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml
> create mode 100644 Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-tdes.yaml
> delete mode 100644 Documentation/devicetree/bindings/crypto/atmel-crypto.txt
>