diff mbox series

[v2,7/7] ASoC: dt-bindings: rockchip: Convert pdm bindings to yaml

Message ID 1630285861-28147-2-git-send-email-sugar.zhang@rock-chips.com (mailing list archive)
State New
Headers show
Series Patches to update for rockchip pdm | expand

Commit Message

sugar zhang Aug. 30, 2021, 1:11 a.m. UTC
This patch converts pdm bindings to yaml.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
---

Changes in v2:
- Fix yamllint errors.

 .../devicetree/bindings/sound/rockchip,pdm.txt     |  64 ------------
 .../devicetree/bindings/sound/rockchip,pdm.yaml    | 115 +++++++++++++++++++++
 2 files changed, 115 insertions(+), 64 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.txt
 create mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.yaml

Comments

Rob Herring Aug. 30, 2021, 11:49 a.m. UTC | #1
On Mon, 30 Aug 2021 09:11:01 +0800, Sugar Zhang wrote:
> This patch converts pdm bindings to yaml.
> 
> Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
> ---
> 
> Changes in v2:
> - Fix yamllint errors.
> 
>  .../devicetree/bindings/sound/rockchip,pdm.txt     |  64 ------------
>  .../devicetree/bindings/sound/rockchip,pdm.yaml    | 115 +++++++++++++++++++++
>  2 files changed, 115 insertions(+), 64 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/rockchip,pdm.example.dt.yaml: example-0: pdm@ff040000:reg:0: [0, 4278452224, 0, 4096] is too long
	From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1522032

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.
Rob Herring Aug. 31, 2021, 10:29 p.m. UTC | #2
On Mon, Aug 30, 2021 at 09:11:01AM +0800, Sugar Zhang wrote:
> This patch converts pdm bindings to yaml.
> 
> Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
> ---
> 
> Changes in v2:
> - Fix yamllint errors.
> 
>  .../devicetree/bindings/sound/rockchip,pdm.txt     |  64 ------------
>  .../devicetree/bindings/sound/rockchip,pdm.yaml    | 115 +++++++++++++++++++++
>  2 files changed, 115 insertions(+), 64 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/rockchip,pdm.txt b/Documentation/devicetree/bindings/sound/rockchip,pdm.txt
> deleted file mode 100644
> index b2d7e47..0000000
> --- a/Documentation/devicetree/bindings/sound/rockchip,pdm.txt
> +++ /dev/null
> @@ -1,64 +0,0 @@
> -* Rockchip PDM controller
> -
> -Required properties:
> -
> -- compatible: "rockchip,pdm"
> -  - "rockchip,px30-pdm"
> -  - "rockchip,rk1808-pdm"
> -  - "rockchip,rk3308-pdm"
> -  - "rockchip,rk3568-pdm"
> -  - "rockchip,rv1126-pdm"
> -- reg: physical base address of the controller and length of memory mapped
> -  region.
> -- dmas: DMA specifiers for rx dma. See the DMA client binding,
> -	Documentation/devicetree/bindings/dma/dma.txt
> -- dma-names: should include "rx".
> -- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names.
> -- clock-names: should contain following:
> -   - "pdm_hclk": clock for PDM BUS
> -   - "pdm_clk" : clock for PDM controller
> -- resets: a list of phandle + reset-specifer paris, one for each entry in reset-names.
> -- reset-names: reset names, should include "pdm-m".
> -- pinctrl-names: Must contain a "default" entry.
> -- pinctrl-N: One property must exist for each entry in
> -	     pinctrl-names. See ../pinctrl/pinctrl-bindings.txt
> -	     for details of the property values.
> -
> -Optional properties:
> -- rockchip,path-map: This is a variable length array, that shows the mapping
> -  of SDIx to PATHx. By default, they are one-to-one mapping as follows:
> -
> -   path0 <-- sdi0
> -   path1 <-- sdi1
> -   path2 <-- sdi2
> -   path3 <-- sdi3
> -
> -  e.g. "rockchip,path-map = <3 2 1 0>" means the mapping as follows:
> -
> -   path0 <-- sdi3
> -   path1 <-- sdi2
> -   path2 <-- sdi1
> -   path3 <-- sdi0
> -
> -Example for rk3328 PDM controller:
> -
> -pdm: pdm@ff040000 {
> -	compatible = "rockchip,pdm";
> -	reg = <0x0 0xff040000 0x0 0x1000>;
> -	clocks = <&clk_pdm>, <&clk_gates28 0>;
> -	clock-names = "pdm_clk", "pdm_hclk";
> -	dmas = <&pdma 16>;
> -	#dma-cells = <1>;
> -	dma-names = "rx";
> -	pinctrl-names = "default", "sleep";
> -	pinctrl-0 = <&pdmm0_clk
> -		     &pdmm0_sdi0
> -		     &pdmm0_sdi1
> -		     &pdmm0_sdi2
> -		     &pdmm0_sdi3>;
> -	pinctrl-1 = <&pdmm0_clk_sleep
> -		     &pdmm0_sdi0_sleep
> -		     &pdmm0_sdi1_sleep
> -		     &pdmm0_sdi2_sleep
> -		     &pdmm0_sdi3_sleep>;
> -};
> diff --git a/Documentation/devicetree/bindings/sound/rockchip,pdm.yaml b/Documentation/devicetree/bindings/sound/rockchip,pdm.yaml
> new file mode 100644
> index 0000000..fa24ddf
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/rockchip,pdm.yaml
> @@ -0,0 +1,115 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/rockchip,pdm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Rockchip PDM controller
> +
> +description:
> +  The Pulse Density Modulation Interface Controller (PDMC) is
> +  a PDM interface controller and decoder that support PDM format.
> +  It integrates a clock generator driving the PDM microphone
> +  and embeds filters which decimate the incoming bit stream to
> +  obtain most common audio rates.
> +
> +maintainers:
> +  - Heiko Stuebner <heiko@sntech.de>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - rockchip,pdm
> +      - rockchip,px30-pdm
> +      - rockchip,rk1808-pdm
> +      - rockchip,rk3308-pdm
> +      - rockchip,rk3568-pdm
> +      - rockchip,rv1126-pdm
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    items:
> +      - description: clock for PDM controller
> +      - description: clock for PDM BUS
> +
> +  clock-names:
> +    items:
> +      - const: pdm_clk
> +      - const: pdm_hclk
> +
> +  dmas:
> +    maxItems: 1
> +
> +  dma-names:
> +    items:
> +      - const: rx
> +
> +  power-domains:
> +    maxItems: 1
> +
> +  resets:
> +    items:
> +      - description: reset for PDM controller
> +
> +  reset-names:
> +    items:
> +      - const: pdm-m
> +
> +  rockchip,path-map:
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
> +    description:
> +      Defines the mapping of PDM SDIx to PDM PATHx.
> +      By default, they are mapped one-to-one.
> +    items:
> +      - description: which sdi to connect to path 0
> +      - description: which sdi to connect to path 1
> +      - description: which sdi to connect to path 2
> +      - description: which sdi to connect to path 3

This would be more specific in terms of allowed values:

maxItems: 4
uniqueItems: true
items:
  enum: [ 0, 1, 2, 3 ]

> +
> +  "#sound-dai-cells":
> +    const: 0
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - clock-names
> +  - dmas
> +  - dma-names
> +  - "#sound-dai-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/rk3328-cru.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/pinctrl/rockchip.h>
> +    pdm@ff040000 {
> +      compatible = "rockchip,pdm";
> +      reg = <0x0 0xff040000 0x0 0x1000>;
> +      interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
> +      clocks = <&cru SCLK_PDM>, <&cru HCLK_PDM>;
> +      clock-names = "pdm_clk", "pdm_hclk";
> +      dmas = <&dmac 16>;
> +      dma-names = "rx";
> +      #sound-dai-cells = <0>;
> +      pinctrl-names = "default", "sleep";
> +      pinctrl-0 = <&pdmm0_clk
> +                   &pdmm0_sdi0
> +                   &pdmm0_sdi1
> +                   &pdmm0_sdi2
> +                   &pdmm0_sdi3>;
> +      pinctrl-1 = <&pdmm0_clk_sleep
> +                   &pdmm0_sdi0_sleep
> +                   &pdmm0_sdi1_sleep
> +                   &pdmm0_sdi2_sleep
> +                   &pdmm0_sdi3_sleep>;
> +    };
> -- 
> 2.7.4
> 
> 
> 
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/rockchip,pdm.txt b/Documentation/devicetree/bindings/sound/rockchip,pdm.txt
deleted file mode 100644
index b2d7e47..0000000
--- a/Documentation/devicetree/bindings/sound/rockchip,pdm.txt
+++ /dev/null
@@ -1,64 +0,0 @@ 
-* Rockchip PDM controller
-
-Required properties:
-
-- compatible: "rockchip,pdm"
-  - "rockchip,px30-pdm"
-  - "rockchip,rk1808-pdm"
-  - "rockchip,rk3308-pdm"
-  - "rockchip,rk3568-pdm"
-  - "rockchip,rv1126-pdm"
-- reg: physical base address of the controller and length of memory mapped
-  region.
-- dmas: DMA specifiers for rx dma. See the DMA client binding,
-	Documentation/devicetree/bindings/dma/dma.txt
-- dma-names: should include "rx".
-- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names.
-- clock-names: should contain following:
-   - "pdm_hclk": clock for PDM BUS
-   - "pdm_clk" : clock for PDM controller
-- resets: a list of phandle + reset-specifer paris, one for each entry in reset-names.
-- reset-names: reset names, should include "pdm-m".
-- pinctrl-names: Must contain a "default" entry.
-- pinctrl-N: One property must exist for each entry in
-	     pinctrl-names. See ../pinctrl/pinctrl-bindings.txt
-	     for details of the property values.
-
-Optional properties:
-- rockchip,path-map: This is a variable length array, that shows the mapping
-  of SDIx to PATHx. By default, they are one-to-one mapping as follows:
-
-   path0 <-- sdi0
-   path1 <-- sdi1
-   path2 <-- sdi2
-   path3 <-- sdi3
-
-  e.g. "rockchip,path-map = <3 2 1 0>" means the mapping as follows:
-
-   path0 <-- sdi3
-   path1 <-- sdi2
-   path2 <-- sdi1
-   path3 <-- sdi0
-
-Example for rk3328 PDM controller:
-
-pdm: pdm@ff040000 {
-	compatible = "rockchip,pdm";
-	reg = <0x0 0xff040000 0x0 0x1000>;
-	clocks = <&clk_pdm>, <&clk_gates28 0>;
-	clock-names = "pdm_clk", "pdm_hclk";
-	dmas = <&pdma 16>;
-	#dma-cells = <1>;
-	dma-names = "rx";
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&pdmm0_clk
-		     &pdmm0_sdi0
-		     &pdmm0_sdi1
-		     &pdmm0_sdi2
-		     &pdmm0_sdi3>;
-	pinctrl-1 = <&pdmm0_clk_sleep
-		     &pdmm0_sdi0_sleep
-		     &pdmm0_sdi1_sleep
-		     &pdmm0_sdi2_sleep
-		     &pdmm0_sdi3_sleep>;
-};
diff --git a/Documentation/devicetree/bindings/sound/rockchip,pdm.yaml b/Documentation/devicetree/bindings/sound/rockchip,pdm.yaml
new file mode 100644
index 0000000..fa24ddf
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/rockchip,pdm.yaml
@@ -0,0 +1,115 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/rockchip,pdm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip PDM controller
+
+description:
+  The Pulse Density Modulation Interface Controller (PDMC) is
+  a PDM interface controller and decoder that support PDM format.
+  It integrates a clock generator driving the PDM microphone
+  and embeds filters which decimate the incoming bit stream to
+  obtain most common audio rates.
+
+maintainers:
+  - Heiko Stuebner <heiko@sntech.de>
+
+properties:
+  compatible:
+    enum:
+      - rockchip,pdm
+      - rockchip,px30-pdm
+      - rockchip,rk1808-pdm
+      - rockchip,rk3308-pdm
+      - rockchip,rk3568-pdm
+      - rockchip,rv1126-pdm
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: clock for PDM controller
+      - description: clock for PDM BUS
+
+  clock-names:
+    items:
+      - const: pdm_clk
+      - const: pdm_hclk
+
+  dmas:
+    maxItems: 1
+
+  dma-names:
+    items:
+      - const: rx
+
+  power-domains:
+    maxItems: 1
+
+  resets:
+    items:
+      - description: reset for PDM controller
+
+  reset-names:
+    items:
+      - const: pdm-m
+
+  rockchip,path-map:
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    description:
+      Defines the mapping of PDM SDIx to PDM PATHx.
+      By default, they are mapped one-to-one.
+    items:
+      - description: which sdi to connect to path 0
+      - description: which sdi to connect to path 1
+      - description: which sdi to connect to path 2
+      - description: which sdi to connect to path 3
+
+  "#sound-dai-cells":
+    const: 0
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+  - dmas
+  - dma-names
+  - "#sound-dai-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/rk3328-cru.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/pinctrl/rockchip.h>
+    pdm@ff040000 {
+      compatible = "rockchip,pdm";
+      reg = <0x0 0xff040000 0x0 0x1000>;
+      interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
+      clocks = <&cru SCLK_PDM>, <&cru HCLK_PDM>;
+      clock-names = "pdm_clk", "pdm_hclk";
+      dmas = <&dmac 16>;
+      dma-names = "rx";
+      #sound-dai-cells = <0>;
+      pinctrl-names = "default", "sleep";
+      pinctrl-0 = <&pdmm0_clk
+                   &pdmm0_sdi0
+                   &pdmm0_sdi1
+                   &pdmm0_sdi2
+                   &pdmm0_sdi3>;
+      pinctrl-1 = <&pdmm0_clk_sleep
+                   &pdmm0_sdi0_sleep
+                   &pdmm0_sdi1_sleep
+                   &pdmm0_sdi2_sleep
+                   &pdmm0_sdi3_sleep>;
+    };