diff mbox series

[2/2] ASoC: meson: axg-fifo: convert Amlogic FIFO controller to yaml

Message ID 20220115093557.30498-2-alexander.stein@mailbox.org (mailing list archive)
State New, archived
Headers show
Series [1/2] arm64: dts: meson-axg: add missing reset-names property | expand

Commit Message

Alexander Stein Jan. 15, 2022, 9:35 a.m. UTC
Convert Amlogic FIFO controller documentation to yaml format.

Signed-off-by: Alexander Stein <alexander.stein@mailbox.org>
---
Things to note:
First of, Jerome, sorry for adding you as maintainer, but
1) it's mandatory
2) your are the (only) author of amlogic,axg-fifo.txt

Please add your Signed-off-by if that is okay with you.

License is mandated by checkpath, not my choice.

I'm not so sure about the compatible check. Essentially it is either
* 'amlogic,axg-frddr' OR
* 'amlogic,g12a-frddr' + 'amlogic,axg-frddr'
  (or 'sm1' instead of 'g12a')

Same goes for *-toddr. Is this schema correct in that regard? At least I
got no warnings on existing device trees.

 .../bindings/sound/amlogic,axg-fifo.txt       | 34 -------
 .../bindings/sound/amlogic,axg-fifo.yaml      | 97 +++++++++++++++++++
 2 files changed, 97 insertions(+), 34 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
 create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml

Comments

Jerome Brunet Jan. 15, 2022, 3:16 p.m. UTC | #1
On Sat 15 Jan 2022 at 10:35, Alexander Stein <alexander.stein@mailbox.org> wrote:

> Convert Amlogic FIFO controller documentation to yaml format.
>
> Signed-off-by: Alexander Stein <alexander.stein@mailbox.org>
> ---
> Things to note:
> First of, Jerome, sorry for adding you as maintainer, but
> 1) it's mandatory
> 2) your are the (only) author of amlogic,axg-fifo.txt
>
> Please add your Signed-off-by if that is okay with you.
>
> License is mandated by checkpath, not my choice.
>
> I'm not so sure about the compatible check. Essentially it is either
> * 'amlogic,axg-frddr' OR
> * 'amlogic,g12a-frddr' + 'amlogic,axg-frddr'
>   (or 'sm1' instead of 'g12a')
>
> Same goes for *-toddr. Is this schema correct in that regard? At least I
> got no warnings on existing device trees.
>

There has already been a submission of this.
It should answer your questions. You've also missed some
constraints regarding resets. Please check:

https://patchwork.kernel.org/project/linux-amlogic/list/?series=246453&state=%2A&archive=both


>  .../bindings/sound/amlogic,axg-fifo.txt       | 34 -------
>  .../bindings/sound/amlogic,axg-fifo.yaml      | 97 +++++++++++++++++++
>  2 files changed, 97 insertions(+), 34 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
> deleted file mode 100644
> index fa4545ed81ca..000000000000
> --- a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -* Amlogic Audio FIFO controllers
> -
> -Required properties:
> -- compatible: 'amlogic,axg-toddr' or
> -	      'amlogic,axg-toddr' or
> -	      'amlogic,g12a-frddr' or
> -	      'amlogic,g12a-toddr' or
> -	      'amlogic,sm1-frddr' or
> -	      'amlogic,sm1-toddr'
> -- reg: physical base address of the controller and length of memory
> -       mapped region.
> -- interrupts: interrupt specifier for the fifo.
> -- clocks: phandle to the fifo peripheral clock provided by the audio
> -	  clock controller.
> -- resets: list of reset phandle, one for each entry reset-names.
> -- reset-names: should contain the following:
> -  * "arb" : memory ARB line (required)
> -  * "rst" : dedicated device reset line (optional)
> -- #sound-dai-cells: must be 0.
> -- amlogic,fifo-depth: The size of the controller's fifo in bytes. This
> -  		      is useful for determining certain configuration such
> -		      as the flush threshold of the fifo
> -
> -Example of FRDDR A on the A113 SoC:
> -
> -frddr_a: audio-controller@1c0 {
> -	compatible = "amlogic,axg-frddr";
> -	reg = <0x0 0x1c0 0x0 0x1c>;
> -	#sound-dai-cells = <0>;
> -	interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
> -	clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
> -	resets = <&arb AXG_ARB_FRDDR_A>;
> -	fifo-depth = <512>;
> -};
> diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
> new file mode 100644
> index 000000000000..54bc073591f4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
> @@ -0,0 +1,97 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/amlogic,axg-fifo.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Amlogic Audio FIFO controllers
> +
> +maintainers:
> +  - Jerome Brunet <jbrunet@baylibre.com>
> +
> +allOf:
> +  - $ref: name-prefix.yaml#
> +
> +properties:
> +  $nodename:
> +    pattern: "^audio-controller@.*"
> +
> +  "#sound-dai-cells":
> +    const: 0
> +
> +  compatible:
> +    oneOf:
> +      - items:
> +          - enum:
> +              - amlogic,g12a-frddr
> +              - amlogic,sm1-frddr
> +          - const: amlogic,axg-frddr
> +      - const: amlogic,axg-frddr
> +      - items:
> +          - enum:
> +              - amlogic,g12a-toddr
> +              - amlogic,sm1-toddr
> +          - const: amlogic,axg-toddr
> +      - const: amlogic,axg-toddr
> +
> +  reg:
> +    items:
> +      - description: physical base address of the controller
> +
> +  interrupts:
> +    items:
> +      - description: FIFO interrupt
> +
> +  clocks:
> +    items:
> +      - description: FIFO peripheral clock provided by the audio clock controller
> +
> +  resets:
> +    minItems: 1
> +    items:
> +      - description: memory ARB line
> +      - description: optional device reset line
> +
> +  reset-names:
> +    minItems: 1
> +    items:
> +      - const: arb
> +      - const: rst
> +
> +  amlogic,fifo-depth:
> +    description: >
> +      The size of the controller's fifo in bytes. This
> +      is useful for determining certain configuration such
> +      as the flush threshold of the fifo
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +
> +  sound-name-prefix: true
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - resets
> +  - reset-names
> +  - '#sound-dai-cells'
> +  - amlogic,fifo-depth
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/axg-audio-clkc.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
> +
> +    frddr_a: audio-controller@1c0 {
> +        compatible = "amlogic,axg-frddr";
> +        reg = <0x1c0 0x1c>;
> +        #sound-dai-cells = <0>;
> +        interrupts = <88 IRQ_TYPE_EDGE_RISING>;
> +        clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
> +        resets = <&arb AXG_ARB_FRDDR_A>;
> +        reset-names = "arb";
> +        amlogic,fifo-depth = <512>;
> +    };
Rob Herring (Arm) Jan. 15, 2022, 5:22 p.m. UTC | #2
On Sat, 15 Jan 2022 10:35:57 +0100, Alexander Stein wrote:
> Convert Amlogic FIFO controller documentation to yaml format.
> 
> Signed-off-by: Alexander Stein <alexander.stein@mailbox.org>
> ---
> Things to note:
> First of, Jerome, sorry for adding you as maintainer, but
> 1) it's mandatory
> 2) your are the (only) author of amlogic,axg-fifo.txt
> 
> Please add your Signed-off-by if that is okay with you.
> 
> License is mandated by checkpath, not my choice.
> 
> I'm not so sure about the compatible check. Essentially it is either
> * 'amlogic,axg-frddr' OR
> * 'amlogic,g12a-frddr' + 'amlogic,axg-frddr'
>   (or 'sm1' instead of 'g12a')
> 
> Same goes for *-toddr. Is this schema correct in that regard? At least I
> got no warnings on existing device trees.
> 
>  .../bindings/sound/amlogic,axg-fifo.txt       | 34 -------
>  .../bindings/sound/amlogic,axg-fifo.yaml      | 97 +++++++++++++++++++
>  2 files changed, 97 insertions(+), 34 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
> 

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1580333


audio-controller@100: 'reset-names' is a required property
	arch/arm64/boot/dts/amlogic/meson-axg-s400.dt.yaml

audio-controller@140: 'reset-names' is a required property
	arch/arm64/boot/dts/amlogic/meson-axg-s400.dt.yaml

audio-controller@180: 'reset-names' is a required property
	arch/arm64/boot/dts/amlogic/meson-axg-s400.dt.yaml

audio-controller@1c0: 'reset-names' is a required property
	arch/arm64/boot/dts/amlogic/meson-axg-s400.dt.yaml

audio-controller@200: 'reset-names' is a required property
	arch/arm64/boot/dts/amlogic/meson-axg-s400.dt.yaml

audio-controller@240: 'reset-names' is a required property
	arch/arm64/boot/dts/amlogic/meson-axg-s400.dt.yaml
Rob Herring Jan. 15, 2022, 5:29 p.m. UTC | #3
On Sat, Jan 15, 2022 at 3:36 AM Alexander Stein
<alexander.stein@mailbox.org> wrote:
>
> Convert Amlogic FIFO controller documentation to yaml format.
>
> Signed-off-by: Alexander Stein <alexander.stein@mailbox.org>
> ---
> Things to note:
> First of, Jerome, sorry for adding you as maintainer, but
> 1) it's mandatory
> 2) your are the (only) author of amlogic,axg-fifo.txt
>
> Please add your Signed-off-by if that is okay with you.

That's not how Signed-off-by works. 'Acked-by' would be correct. But
as the only author, I don't think that's required here.
>
> License is mandated by checkpath, not my choice.

checkpatch doesn't mandate anything. It is guidance. If you copy the
existing binding, then you inherit the default license (GPL-2.0). But
if Jerome is okay with relicensing, that would be nice.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
deleted file mode 100644
index fa4545ed81ca..000000000000
--- a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
+++ /dev/null
@@ -1,34 +0,0 @@ 
-* Amlogic Audio FIFO controllers
-
-Required properties:
-- compatible: 'amlogic,axg-toddr' or
-	      'amlogic,axg-toddr' or
-	      'amlogic,g12a-frddr' or
-	      'amlogic,g12a-toddr' or
-	      'amlogic,sm1-frddr' or
-	      'amlogic,sm1-toddr'
-- reg: physical base address of the controller and length of memory
-       mapped region.
-- interrupts: interrupt specifier for the fifo.
-- clocks: phandle to the fifo peripheral clock provided by the audio
-	  clock controller.
-- resets: list of reset phandle, one for each entry reset-names.
-- reset-names: should contain the following:
-  * "arb" : memory ARB line (required)
-  * "rst" : dedicated device reset line (optional)
-- #sound-dai-cells: must be 0.
-- amlogic,fifo-depth: The size of the controller's fifo in bytes. This
-  		      is useful for determining certain configuration such
-		      as the flush threshold of the fifo
-
-Example of FRDDR A on the A113 SoC:
-
-frddr_a: audio-controller@1c0 {
-	compatible = "amlogic,axg-frddr";
-	reg = <0x0 0x1c0 0x0 0x1c>;
-	#sound-dai-cells = <0>;
-	interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
-	clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
-	resets = <&arb AXG_ARB_FRDDR_A>;
-	fifo-depth = <512>;
-};
diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
new file mode 100644
index 000000000000..54bc073591f4
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
@@ -0,0 +1,97 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/amlogic,axg-fifo.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Amlogic Audio FIFO controllers
+
+maintainers:
+  - Jerome Brunet <jbrunet@baylibre.com>
+
+allOf:
+  - $ref: name-prefix.yaml#
+
+properties:
+  $nodename:
+    pattern: "^audio-controller@.*"
+
+  "#sound-dai-cells":
+    const: 0
+
+  compatible:
+    oneOf:
+      - items:
+          - enum:
+              - amlogic,g12a-frddr
+              - amlogic,sm1-frddr
+          - const: amlogic,axg-frddr
+      - const: amlogic,axg-frddr
+      - items:
+          - enum:
+              - amlogic,g12a-toddr
+              - amlogic,sm1-toddr
+          - const: amlogic,axg-toddr
+      - const: amlogic,axg-toddr
+
+  reg:
+    items:
+      - description: physical base address of the controller
+
+  interrupts:
+    items:
+      - description: FIFO interrupt
+
+  clocks:
+    items:
+      - description: FIFO peripheral clock provided by the audio clock controller
+
+  resets:
+    minItems: 1
+    items:
+      - description: memory ARB line
+      - description: optional device reset line
+
+  reset-names:
+    minItems: 1
+    items:
+      - const: arb
+      - const: rst
+
+  amlogic,fifo-depth:
+    description: >
+      The size of the controller's fifo in bytes. This
+      is useful for determining certain configuration such
+      as the flush threshold of the fifo
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  sound-name-prefix: true
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - resets
+  - reset-names
+  - '#sound-dai-cells'
+  - amlogic,fifo-depth
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/axg-audio-clkc.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
+
+    frddr_a: audio-controller@1c0 {
+        compatible = "amlogic,axg-frddr";
+        reg = <0x1c0 0x1c>;
+        #sound-dai-cells = <0>;
+        interrupts = <88 IRQ_TYPE_EDGE_RISING>;
+        clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
+        resets = <&arb AXG_ARB_FRDDR_A>;
+        reset-names = "arb";
+        amlogic,fifo-depth = <512>;
+    };