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.