Message ID | 20230202183653.486216-6-jbrunet@baylibre.com |
---|---|
State | New |
Headers | show |
Series | ASoC: dt-bindings: meson: covert axg audio to schema | expand |
On 02/02/2023 19:36, Jerome Brunet wrote: > Convert the DT binding documentation for the Amlogic axg PDM device to > schema. > > Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> > --- > .../bindings/sound/amlogic,axg-pdm.txt | 29 ------- > .../bindings/sound/amlogic,axg-pdm.yaml | 86 +++++++++++++++++++ > 2 files changed, 86 insertions(+), 29 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-pdm.txt > create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml > > diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.txt > deleted file mode 100644 > index 716878107a24..000000000000 > --- a/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.txt > +++ /dev/null > @@ -1,29 +0,0 @@ > -* Amlogic Audio PDM input > - > -Required properties: > -- compatible: 'amlogic,axg-pdm' or > - 'amlogic,g12a-pdm' or > - 'amlogic,sm1-pdm' > -- reg: physical base address of the controller and length of memory > - mapped region. > -- clocks: list of clock phandle, one for each entry clock-names. > -- clock-names: should contain the following: > - * "pclk" : peripheral clock. > - * "dclk" : pdm digital clock > - * "sysclk" : dsp system clock > -- #sound-dai-cells: must be 0. > - > -Optional property: > -- resets: phandle to the dedicated reset line of the pdm input. > - > -Example of PDM on the A113 SoC: > - > -pdm: audio-controller@ff632000 { > - compatible = "amlogic,axg-pdm"; > - reg = <0x0 0xff632000 0x0 0x34>; > - #sound-dai-cells = <0>; > - clocks = <&clkc_audio AUD_CLKID_PDM>, > - <&clkc_audio AUD_CLKID_PDM_DCLK>, > - <&clkc_audio AUD_CLKID_PDM_SYSCLK>; > - clock-names = "pclk", "dclk", "sysclk"; > -}; > diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml > new file mode 100644 > index 000000000000..d3da2f8ba7b1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml > @@ -0,0 +1,86 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/amlogic,axg-pdm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Amlogic Audio AXG PDM input > + > +maintainers: > + - Jerome Brunet <jbrunet@baylibre.com> > + > +allOf: > + - $ref: dai-common.yaml# > + > +properties: > + $nodename: > + pattern: "^audio-controller@.*" Drop > + > + compatible: > + oneOf: > + - items: > + - enum: > + - amlogic,g12a-pdm > + - amlogic,sm1-pdm > + - const: > + amlogic,axg-pdm One line. Please use the same coding style as we have in other bindings or example-schema. > + - items: Drop items > + - const: > + amlogic,axg-pdm Keep in one line. > + > + reg: > + maxItems: 1 > + > + "#sound-dai-cells": > + const: 0 > + > + clocks: > + items: > + - description: Peripheral clock > + - description: PDM digital clock > + - description: DSP system clock > + > + clock-names: > + items: > + - const: pclk > + - const: dclk > + - const: sysclk > + > +required: > + - compatible > + - reg > + - "#sound-dai-cells" > + - clocks > + - clock-names > + > +if: Keep in allOf here (need to move ref from top to here) > + properties: > + compatible: > + contains: > + enum: > + - amlogic,g12a-pdm > + - amlogic,sm1-pdm > +then: > + properties: > + resets: > + items: > + - description: Dedicated device reset line Define properties in top level properties. > + > + required: > + - resets > + > +unevaluatedProperties: false Best regards, Krzysztof
On Fri 03 Feb 2023 at 09:01, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 02/02/2023 19:36, Jerome Brunet wrote: [...] >> +required: >> + - compatible >> + - reg >> + - "#sound-dai-cells" >> + - clocks >> + - clock-names >> + >> +if: > > Keep in allOf here (need to move ref from top to here) > I'm not sure I get it. As it is, it seems to have the effect I had in mind while trying with dt_bindings_check. What does it do when putting the conditional under the AllOf section ? >> + properties: >> + compatible: >> + contains: >> + enum: >> + - amlogic,g12a-pdm >> + - amlogic,sm1-pdm >> +then: >> + properties: >> + resets: >> + items: >> + - description: Dedicated device reset line > > Define properties in top level properties. > >> + >> + required: >> + - resets >> + >> +unevaluatedProperties: false > > > Best regards, > Krzysztof
On 03/02/2023 10:37, Jerome Brunet wrote: > > On Fri 03 Feb 2023 at 09:01, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > >> On 02/02/2023 19:36, Jerome Brunet wrote: > > [...] > >>> +required: >>> + - compatible >>> + - reg >>> + - "#sound-dai-cells" >>> + - clocks >>> + - clock-names >>> + >>> +if: >> >> Keep in allOf here (need to move ref from top to here) >> > > I'm not sure I get it. As it is, it seems to have the effect I had in > mind while trying with dt_bindings_check. > > What does it do when putting the conditional under the AllOf section ? It avoids any future re-indents if you need to add one more if clause. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.txt deleted file mode 100644 index 716878107a24..000000000000 --- a/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.txt +++ /dev/null @@ -1,29 +0,0 @@ -* Amlogic Audio PDM input - -Required properties: -- compatible: 'amlogic,axg-pdm' or - 'amlogic,g12a-pdm' or - 'amlogic,sm1-pdm' -- reg: physical base address of the controller and length of memory - mapped region. -- clocks: list of clock phandle, one for each entry clock-names. -- clock-names: should contain the following: - * "pclk" : peripheral clock. - * "dclk" : pdm digital clock - * "sysclk" : dsp system clock -- #sound-dai-cells: must be 0. - -Optional property: -- resets: phandle to the dedicated reset line of the pdm input. - -Example of PDM on the A113 SoC: - -pdm: audio-controller@ff632000 { - compatible = "amlogic,axg-pdm"; - reg = <0x0 0xff632000 0x0 0x34>; - #sound-dai-cells = <0>; - clocks = <&clkc_audio AUD_CLKID_PDM>, - <&clkc_audio AUD_CLKID_PDM_DCLK>, - <&clkc_audio AUD_CLKID_PDM_SYSCLK>; - clock-names = "pclk", "dclk", "sysclk"; -}; diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml new file mode 100644 index 000000000000..d3da2f8ba7b1 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml @@ -0,0 +1,86 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/amlogic,axg-pdm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Amlogic Audio AXG PDM input + +maintainers: + - Jerome Brunet <jbrunet@baylibre.com> + +allOf: + - $ref: dai-common.yaml# + +properties: + $nodename: + pattern: "^audio-controller@.*" + + compatible: + oneOf: + - items: + - enum: + - amlogic,g12a-pdm + - amlogic,sm1-pdm + - const: + amlogic,axg-pdm + - items: + - const: + amlogic,axg-pdm + + reg: + maxItems: 1 + + "#sound-dai-cells": + const: 0 + + clocks: + items: + - description: Peripheral clock + - description: PDM digital clock + - description: DSP system clock + + clock-names: + items: + - const: pclk + - const: dclk + - const: sysclk + +required: + - compatible + - reg + - "#sound-dai-cells" + - clocks + - clock-names + +if: + properties: + compatible: + contains: + enum: + - amlogic,g12a-pdm + - amlogic,sm1-pdm +then: + properties: + resets: + items: + - description: Dedicated device reset line + + required: + - resets + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/clock/axg-audio-clkc.h> + + pdm: audio-controller@ff632000 { + compatible = "amlogic,axg-pdm"; + reg = <0xff632000 0x34>; + #sound-dai-cells = <0>; + clocks = <&clkc_audio AUD_CLKID_PDM>, + <&clkc_audio AUD_CLKID_PDM_DCLK>, + <&clkc_audio AUD_CLKID_PDM_SYSCLK>; + clock-names = "pclk", "dclk", "sysclk"; + };
Convert the DT binding documentation for the Amlogic axg PDM device to schema. Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> --- .../bindings/sound/amlogic,axg-pdm.txt | 29 ------- .../bindings/sound/amlogic,axg-pdm.yaml | 86 +++++++++++++++++++ 2 files changed, 86 insertions(+), 29 deletions(-) delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-pdm.txt create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml