Re: [PATCH] ASoC: dt-bindings: fsl,imx-audio-sgtl5000: Convert to dtschema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jun 23, 2024 at 10:08 AM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
>
> On 22/06/2024 20:21, Animesh Agarwal wrote:
> > Convert the imx-audio-sgtl bindings to DT schema. Make bindings complete
> > by adding audio-cpu property.
>
> On what basis? Who needs or uses audio-cpu? Driver? DTS? Both? If only
> DTS, then is it needed? Maybe not?
>
> >
> > Signed-off-by: Animesh Agarwal <animeshagarwal28@xxxxxxxxx>
> > Cc: Daniel Baluta <daniel.baluta@xxxxxxx>
> > ---
> >  .../sound/fsl,imx-audio-sgtl5000.yaml         | 108 ++++++++++++++++++
> >  .../bindings/sound/imx-audio-sgtl5000.txt     |  56 ---------
> >  2 files changed, 108 insertions(+), 56 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/sound/fsl,imx-audio-sgtl5000.yaml
> >  delete mode 100644 Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt
> >
> > diff --git a/Documentation/devicetree/bindings/sound/fsl,imx-audio-sgtl5000.yaml b/Documentation/devicetree/bindings/sound/fsl,imx-audio-sgtl5000.yaml
> > new file mode 100644
> > index 000000000000..906dcecb73b7
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/sound/fsl,imx-audio-sgtl5000.yaml
> > @@ -0,0 +1,108 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/sound/fsl,imx-audio-sgtl5000.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Freescale i.MX audio complex with SGTL5000 codec
> > +
> > +maintainers:
> > +  - Animesh Agarwal <animeshagarwal28@xxxxxxxxx>
> > +
> > +properties:
> > +  compatible:
> > +    oneOf:
> > +      - items:
> > +          - enum:
> > +              - fsl,imx25-pdk-sgtl5000
> > +              - fsl,imx51-babbage-sgtl5000
> > +              - fsl,imx53-m53evk-sgtl5000
> > +              - tq,imx53-mba53-sgtl5000
> > +              - fsl,imx53-cpuvo-sgtl5000
> > +              - fsl,imx53-qsb-sgtl5000
> > +              - karo,tx53-audio-sgtl5000
>
> Keep list ordered alphabetically.
>
> > +              - fsl,imx53-voipac-sgtl5000
> > +              - fsl,imx6q-ba16-sgtl5000
> > +              - fsl,imx6q-ventana-sgtl5000
> > +              - fsl,imx-sgtl5000
> > +              - fsl,imx6-armadeus-sgtl5000
> > +              - fsl,imx6dl-nit6xlite-sgtl5000
> > +              - fsl,imx6q-nitrogen6_max-sgtl5000
> > +              - fsl,imx6q-nitrogen6_som2-sgtl5000
> > +              - fsl,imx6q-nitrogen6x-sgtl5000
> > +              - fsl,imx6-rex-sgtl5000
> > +              - fsl,imx6q-sabrelite-sgtl5000
> > +              - fsl,imx6-wandboard-sgtl5000
>
> None of these were in the old binding and commit msg mentions only
> audio-cpu. From where do you get these?
>
>
> > +          - const: fsl,imx-audio-sgtl5000
> > +      - const: fsl,imx-audio-sgtl5000
> > +
> > +  model:
> > +    $ref: /schemas/types.yaml#/definitions/string
> > +    description: The user-visible name of this sound complex.
> > +
> > +  audio-cpu:
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +    description: The phandle of an CPU DAI controller
> > +
> > +  ssi-controller:
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +    description: The phandle of the i.MX SSI controller.
> > +
> > +  audio-codec:
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +    description: The phandle of the SGTL5000 audio codec.
> > +
> > +  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:
> > +        * Mic Bias
> > +
> > +      SGTL5000 pins:
> > +        * MIC_IN
> > +        * LINE_IN
> > +        * HP_OUT
> > +        * LINE_OUT
> > +
> > +      Board connectors:
> > +        * Mic Jack
> > +        * Line In Jack
> > +        * Headphone Jack
> > +        * Line Out Jack
> > +        * Ext Spk
> > +
> > +  mux-int-port:
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    description: The internal port of the i.MX audio muxer (AUDMUX).
> > +    enum: [1, 2]
>
> default:
>
> > +
> > +  mux-ext-port:
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    description: The external port of the i.MX audio muxer.
> > +    enum: [3, 4, 5, 6]
>
> defaukt:
>
> > +
> > +required:
> > +  - compatible
> > +  - model
>
> Several other properties were required. Why changing this? Please
> explain in commit msg all changes done to the binding comparing to pure
> conversion.

I wonder how should we handle the case where 1 compatible string is
found in 2 drivers.

e.g

soc/fsl/fsl-asoc-card.c:        { .compatible = "fsl,imx-audio-sgtl5000", },
soc/fsl/imx-sgtl5000.c: { .compatible = "fsl,imx-audio-sgtl5000", },


Take for example audio-cpu propertyssi-controller which was only added
in the newer soc/fsl/fsl-asoc-card.c driver. So this is required in
the new driver unless
the old binding "ssi-controller" is not present.

Given the fact that there are already 10 years since this commit:

commit 708b4351f08c08ea93f773fb9197bdd3f3b08273
Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx>
Date:   Wed Jul 30 19:27:38 2014 +0800

    ASoC: fsl: Add Freescale Generic ASoC Sound Card with ASRC support

The driver is also compatible with the old Device Tree bindings of WM8962 and
    SGTL5000. So we may consider to remove those two drivers after
this driver is
    totally enabled. (It needs to be added into defconfig)

I think we should send a patch to remove soc/fsl/imx-sgtl5000.c
because I assume that by this point it's functionality
was fully implemented in soc/fsl/fsl-asoc-card.c

Thanks,
Daniel.





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux