Subject: Re: [PATCH v2 2/2] ASoC: dt-bindings: imx-akcodec: Add binding doc for akcodec machine driver

From: Rob Herring <[email-masked]>
Date: Tue, 11 May 2021 14:00:57 -0500

On Mon, May 10, 2021 at 03:07:21PM +0800, Shengjiu Wang wrote:
> Imx-akcodec is a new added machine driver for supporting
> ak4458/ak5558/ak5552/ak4497 codec on i.MX platforms.
> 
> Signed-off-by: Shengjiu Wang <[email-masked]>
> ---
> changes in v2:
> - update doc accoring to Rob's comment, use the common porperties.
> 
>  .../bindings/sound/imx-audio-akcodec.yaml     | 107 ++++++++++++++++++
>  1 file changed, 107 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/imx-audio-akcodec.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/imx-audio-akcodec.yaml b/Documentation/devicetree/bindings/sound/imx-audio-akcodec.yaml
> new file mode 100644
> index 000000000000..0812c4779b59
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/imx-audio-akcodec.yaml
> @@ -0,0 +1,107 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/imx-audio-akcodec.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP i.MX audio complex with AK4458/AK5558/AK5552/AK4497 codec
> +
> +maintainers:
> +  - Shengjiu Wang <[email-masked]>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - fsl,imx8mq-audio-akcodec
> +      - fsl,imx-audio-akcodec

We gone from individual codecs to a family of codecs. Is there something 
specific for the machine driver about this set of codecs? Why can't it 
be *any* codec?

> +
> +  model:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description: User specified audio sound card name
> +
> +  audio-routing:
> +    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> +    description:
> +      A list of the connections between audio components. Each entry is a
> +      pair of strings, the first being the connection's sink, the second
> +      being the connection's source. Valid names could be power supplies,
> +      MicBias of codec and the jacks on the board.
> +
> +patternProperties:
> +  ".*-dai-link$":
> +    description:
> +      Each subnode represents a dai link. Subnodes of each dai links would be
> +      cpu/codec dais.
> +
> +    type: object
> +
> +    properties:
> +      link-name:
> +        description: Indicates dai-link name and PCM stream name.
> +        $ref: /schemas/types.yaml#/definitions/string
> +        maxItems: 1
> +
> +      format:
> +        description: audio format.
> +        items:
> +          enum:
> +            - i2s
> +            - dsp_b
> +
> +      cpu:
> +        description: Holds subnode which indicates cpu dai.
> +        type: object
> +        properties:
> +          sound-dai: true
> +
> +      codec:
> +        description: Holds subnode which indicates codec dai.
> +        type: object
> +        properties:
> +          sound-dai: true
> +
> +    required:
> +      - link-name
> +      - cpu
> +
> +    additionalProperties: false
> +
> +required:
> +  - compatible
> +  - model
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    sound-ak4458 {
> +        compatible = "fsl,imx-audio-akcodec";
> +        model = "ak4458-audio";
> +        pri-dai-link {
> +            link-name = "akcodec";
> +            format = "i2s";
> +            cpu {
> +                 sound-dai = <&sai1>;
> +            };
> +            codec {
> +                 sound-dai = <&ak4458_1>, <&ak4458_2>;
> +            };
> +        };
> +        fe-dai-link {
> +            link-name = "HiFi-ASRC-FE";
> +            format = "i2s";
> +            cpu {
> +                sound-dai = <&easrc>;
> +            };
> +        };
> +        be-dai-link {
> +            link-name = "HiFi-ASRC-BE";
> +            format = "dsp_b";
> +            cpu {
> +                sound-dai = <&sai1>;
> +            };
> +            codec {
> +                sound-dai = <&ak4458_1>, <&ak4458_2>;
> +            };
> +        };
> +    };
> -- 
> 2.27.0
>