[PATCH v4 2/2] ASoC: sun50i-dmic: dt-bindings: add DT bindings for DMIC controller

Maxime Ripard maxime at cerno.tech
Mon Jun 28 05:46:34 PDT 2021


On Fri, Jun 25, 2021 at 05:07:21AM -0400, fengzheng923 at gmail.com wrote:
> From: Ban Tao <fengzheng923 at gmail.com>
> 
> DT binding documentation for this new ASoC driver.
> 
> Signed-off-by: Ban Tao <fengzheng923 at gmail.com>
> Reviewed-by: Rob Herring <robh at kernel.org>
> 
> ---
> v1->v2:
> 1.Fix some build errors.
> ---
> v2->v3:
> 1.Fix some build errors.
> ---
> v3->v4:
> 1.None.
> ---
>  .../sound/allwinner,sun50i-h6-dmic.yaml       | 68 +++++++++++++++++++
>  1 file changed, 68 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/allwinner,sun50i-h6-dmic.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/allwinner,sun50i-h6-dmic.yaml b/Documentation/devicetree/bindings/sound/allwinner,sun50i-h6-dmic.yaml
> new file mode 100644
> index 000000000000..d9107685b78d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/allwinner,sun50i-h6-dmic.yaml
> @@ -0,0 +1,68 @@
> +# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/allwinner,sun50i-h6-dmic.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Allwinner H6 DMIC Device Tree Bindings
> +
> +maintainers:
> +  - Ban Tao <fengzheng923 at gmail.com>
> +
> +properties:
> +  "#sound-dai-cells":
> +    const: 0
> +
> +  compatible:
> +    const: allwinner,sun50i-h6-dmic
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    items:
> +      - description: Bus Clock
> +      - description: Module Clock
> +
> +  clock-names:
> +    items:
> +      - const: bus
> +      - const: mod
> +
> +  dmas:
> +    items:
> +      - description: RX DMA Channel
> +
> +  dma-names:
> +    items:
> +      - const: rx
> +
> +  resets:
> +    maxItems: 1
> +
> +required:
> +  - "#sound-dai-cells"
> +  - compatible
> +  - reg
> +  - clocks
> +  - clock-names
> +  - dmas
> +  - dma-names
> +  - resets
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    dmic: dmic at 5095000 {
> +      #sound-dai-cells = <0>;
> +      compatible = "allwinner,sun50i-h6-dmic";
> +      reg = <0x05095000 0x400>;
> +      clocks = <&ccu 101>, <&ccu 100>;
> +      clock-names = "bus", "mod";
> +      dmas = <&dma 7>;
> +      dma-names = "rx";
> +      resets = <&ccu 42>;
> +    };

You can keep the clock and reset indices, it's more readable that way,
you just have to add the headers dt-bindings/clock/sun50i-h6-ccu.h and
dt-bindings/reset/sun50i-h6-ccu.h like what
Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml
is doing.

Also, this controller has an interrupt. Even if the driver doesn't use
it it should be in the binding.

Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210628/9d896f9d/attachment-0001.sig>


More information about the linux-arm-kernel mailing list