Message ID | 20240622182200.245339-1-animeshagarwal28@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ASoC: dt-bindings: fsl,imx-audio-sgtl5000: Convert to dtschema | expand |
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@gmail.com> > Cc: Daniel Baluta <daniel.baluta@nxp.com> > --- > .../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@gmail.com> > + > +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. Best regards, Krzysztof
On Sun, Jun 23, 2024 at 10:08 AM Krzysztof Kozlowski <krzk@kernel.org> 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@gmail.com> > > Cc: Daniel Baluta <daniel.baluta@nxp.com> > > --- > > .../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@gmail.com> > > + > > +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@gmail.com> 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.
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@gmail.com> + +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 + - 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 + - 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] + + mux-ext-port: + $ref: /schemas/types.yaml#/definitions/uint32 + description: The external port of the i.MX audio muxer. + enum: [3, 4, 5, 6] + +required: + - compatible + - model + +additionalProperties: false + +examples: + - | + sound { + compatible = "fsl,imx51-babbage-sgtl5000", + "fsl,imx-audio-sgtl5000"; + model = "imx51-babbage-sgtl5000"; + ssi-controller = <&ssi1>; + audio-codec = <&sgtl5000>; + audio-routing = + "MIC_IN", "Mic Jack", + "Mic Jack", "Mic Bias", + "Headphone Jack", "HP_OUT"; + mux-int-port = <1>; + mux-ext-port = <3>; + }; diff --git a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt deleted file mode 100644 index 2f89db88fd57..000000000000 --- a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt +++ /dev/null @@ -1,56 +0,0 @@ -Freescale i.MX audio complex with SGTL5000 codec - -Required properties: - - - compatible : "fsl,imx-audio-sgtl5000" - - - model : The user-visible name of this sound complex - - - ssi-controller : The phandle of the i.MX SSI controller - - - audio-codec : The phandle of the SGTL5000 audio codec - - - audio-routing : 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, SGTL5000 - pins, and the jacks on the board: - - 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 : The internal port of the i.MX audio muxer (AUDMUX) - - - mux-ext-port : The external port of the i.MX audio muxer - -Note: The AUDMUX port numbering should start at 1, which is consistent with -hardware manual. - -Example: - -sound { - compatible = "fsl,imx51-babbage-sgtl5000", - "fsl,imx-audio-sgtl5000"; - model = "imx51-babbage-sgtl5000"; - ssi-controller = <&ssi1>; - audio-codec = <&sgtl5000>; - audio-routing = - "MIC_IN", "Mic Jack", - "Mic Jack", "Mic Bias", - "Headphone Jack", "HP_OUT"; - mux-int-port = <1>; - mux-ext-port = <3>; -};
Convert the imx-audio-sgtl bindings to DT schema. Make bindings complete by adding audio-cpu property. Signed-off-by: Animesh Agarwal <animeshagarwal28@gmail.com> Cc: Daniel Baluta <daniel.baluta@nxp.com> --- .../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