Message ID | 20200224145821.262873-3-jbrunet@baylibre.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ASoC: meson: convert dt-bindings to schema | expand |
On Mon, Feb 24, 2020 at 03:58:14PM +0100, Jerome Brunet wrote: > Convert the DT binding documentation for the Amlogic tdm interface to > schema. > > Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> > --- > .../bindings/sound/amlogic,axg-tdm-iface.txt | 22 ------- > .../bindings/sound/amlogic,axg-tdm-iface.yaml | 57 +++++++++++++++++++ > 2 files changed, 57 insertions(+), 22 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt > create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml > > diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt > deleted file mode 100644 > index cabfb26a5f22..000000000000 > --- a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt > +++ /dev/null > @@ -1,22 +0,0 @@ > -* Amlogic Audio TDM Interfaces > - > -Required properties: > -- compatible: 'amlogic,axg-tdm-iface' > -- clocks: list of clock phandle, one for each entry clock-names. > -- clock-names: should contain the following: > - * "sclk" : bit clock. > - * "lrclk": sample clock > - * "mclk" : master clock > - -> optional if the interface is in clock slave mode. > -- #sound-dai-cells: must be 0. > - > -Example of TDM_A on the A113 SoC: > - > -tdmif_a: audio-controller@0 { > - compatible = "amlogic,axg-tdm-iface"; > - #sound-dai-cells = <0>; > - clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>, > - <&clkc_audio AUD_CLKID_MST_A_SCLK>, > - <&clkc_audio AUD_CLKID_MST_A_LRCLK>; > - clock-names = "mclk", "sclk", "lrclk"; > -}; > diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml > new file mode 100644 > index 000000000000..5f04f9cf30a0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml > @@ -0,0 +1,57 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/amlogic,axg-tdm-iface.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Amlogic Audio TDM Interfaces > + > +maintainers: > + - Jerome Brunet <jbrunet@baylibre.com> > + > +properties: > + $nodename: > + pattern: "^audio-controller-.*" > + > + "#sound-dai-cells": > + const: 0 > + > + compatible: > + items: > + - const: 'amlogic,axg-tdm-iface' > + > + clocks: > + minItems: 2 > + maxItems: 3 > + items: > + - description: Bit clock > + - description: Sample clock > + - description: Master clock #optional > + > + clock-names: > + minItems: 2 > + maxItems: 3 > + items: > + - const: sclk > + - const: lrclk > + - const: mclk > + > +required: > + - "#sound-dai-cells" > + - compatible > + - clocks > + - clock-names Add an: additionalProperties: false With that, Reviewed-by: Rob Herring <robh@kernel.org>
On Fri 28 Feb 2020 at 16:50, Rob Herring <robh@kernel.org> wrote: > On Mon, Feb 24, 2020 at 03:58:14PM +0100, Jerome Brunet wrote: >> Convert the DT binding documentation for the Amlogic tdm interface to >> schema. >> >> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> >> --- >> .../bindings/sound/amlogic,axg-tdm-iface.txt | 22 ------- >> .../bindings/sound/amlogic,axg-tdm-iface.yaml | 57 +++++++++++++++++++ >> 2 files changed, 57 insertions(+), 22 deletions(-) >> delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt >> create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml >> >> diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt >> deleted file mode 100644 >> index cabfb26a5f22..000000000000 >> --- a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt >> +++ /dev/null >> @@ -1,22 +0,0 @@ >> -* Amlogic Audio TDM Interfaces >> - >> -Required properties: >> -- compatible: 'amlogic,axg-tdm-iface' >> -- clocks: list of clock phandle, one for each entry clock-names. >> -- clock-names: should contain the following: >> - * "sclk" : bit clock. >> - * "lrclk": sample clock >> - * "mclk" : master clock >> - -> optional if the interface is in clock slave mode. >> -- #sound-dai-cells: must be 0. >> - >> -Example of TDM_A on the A113 SoC: >> - >> -tdmif_a: audio-controller@0 { >> - compatible = "amlogic,axg-tdm-iface"; >> - #sound-dai-cells = <0>; >> - clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>, >> - <&clkc_audio AUD_CLKID_MST_A_SCLK>, >> - <&clkc_audio AUD_CLKID_MST_A_LRCLK>; >> - clock-names = "mclk", "sclk", "lrclk"; >> -}; >> diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml >> new file mode 100644 >> index 000000000000..5f04f9cf30a0 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml >> @@ -0,0 +1,57 @@ >> +# SPDX-License-Identifier: GPL-2.0 >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/sound/amlogic,axg-tdm-iface.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Amlogic Audio TDM Interfaces >> + >> +maintainers: >> + - Jerome Brunet <jbrunet@baylibre.com> >> + >> +properties: >> + $nodename: >> + pattern: "^audio-controller-.*" >> + >> + "#sound-dai-cells": >> + const: 0 >> + >> + compatible: >> + items: >> + - const: 'amlogic,axg-tdm-iface' >> + >> + clocks: >> + minItems: 2 >> + maxItems: 3 >> + items: >> + - description: Bit clock >> + - description: Sample clock >> + - description: Master clock #optional >> + >> + clock-names: >> + minItems: 2 >> + maxItems: 3 >> + items: >> + - const: sclk >> + - const: lrclk >> + - const: mclk >> + >> +required: >> + - "#sound-dai-cells" >> + - compatible >> + - clocks >> + - clock-names > > Add an: > > additionalProperties: false I did not put that on purpose. Most of the amlogic devices use an generic ASoC property called "sound-name-prefix" You may see examples of that in arch/arm64/boot/dts/amlogic/meson-axg.dtsi. That property is not expressed in json schema yet, and I don't really know what is the best way to add that. Adding 'additionalProperties: false' right now would generate a fair amount of warning with 'make dtbs_check' > > With that, > > Reviewed-by: Rob Herring <robh@kernel.org>
On Fri, Feb 28, 2020 at 10:57 AM Jerome Brunet <jbrunet@baylibre.com> wrote: > > > On Fri 28 Feb 2020 at 16:50, Rob Herring <robh@kernel.org> wrote: > > > On Mon, Feb 24, 2020 at 03:58:14PM +0100, Jerome Brunet wrote: > >> Convert the DT binding documentation for the Amlogic tdm interface to > >> schema. > >> > >> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> > >> --- > >> .../bindings/sound/amlogic,axg-tdm-iface.txt | 22 ------- > >> .../bindings/sound/amlogic,axg-tdm-iface.yaml | 57 +++++++++++++++++++ > >> 2 files changed, 57 insertions(+), 22 deletions(-) > >> delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt > >> create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml > >> > >> diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt > >> deleted file mode 100644 > >> index cabfb26a5f22..000000000000 > >> --- a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt > >> +++ /dev/null > >> @@ -1,22 +0,0 @@ > >> -* Amlogic Audio TDM Interfaces > >> - > >> -Required properties: > >> -- compatible: 'amlogic,axg-tdm-iface' > >> -- clocks: list of clock phandle, one for each entry clock-names. > >> -- clock-names: should contain the following: > >> - * "sclk" : bit clock. > >> - * "lrclk": sample clock > >> - * "mclk" : master clock > >> - -> optional if the interface is in clock slave mode. > >> -- #sound-dai-cells: must be 0. > >> - > >> -Example of TDM_A on the A113 SoC: > >> - > >> -tdmif_a: audio-controller@0 { > >> - compatible = "amlogic,axg-tdm-iface"; > >> - #sound-dai-cells = <0>; > >> - clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>, > >> - <&clkc_audio AUD_CLKID_MST_A_SCLK>, > >> - <&clkc_audio AUD_CLKID_MST_A_LRCLK>; > >> - clock-names = "mclk", "sclk", "lrclk"; > >> -}; > >> diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml > >> new file mode 100644 > >> index 000000000000..5f04f9cf30a0 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml > >> @@ -0,0 +1,57 @@ > >> +# SPDX-License-Identifier: GPL-2.0 > >> +%YAML 1.2 > >> +--- > >> +$id: http://devicetree.org/schemas/sound/amlogic,axg-tdm-iface.yaml# > >> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >> + > >> +title: Amlogic Audio TDM Interfaces > >> + > >> +maintainers: > >> + - Jerome Brunet <jbrunet@baylibre.com> > >> + > >> +properties: > >> + $nodename: > >> + pattern: "^audio-controller-.*" > >> + > >> + "#sound-dai-cells": > >> + const: 0 > >> + > >> + compatible: > >> + items: > >> + - const: 'amlogic,axg-tdm-iface' > >> + > >> + clocks: > >> + minItems: 2 > >> + maxItems: 3 > >> + items: > >> + - description: Bit clock > >> + - description: Sample clock > >> + - description: Master clock #optional > >> + > >> + clock-names: > >> + minItems: 2 > >> + maxItems: 3 > >> + items: > >> + - const: sclk > >> + - const: lrclk > >> + - const: mclk > >> + > >> +required: > >> + - "#sound-dai-cells" > >> + - compatible > >> + - clocks > >> + - clock-names > > > > Add an: > > > > additionalProperties: false > > I did not put that on purpose. > Most of the amlogic devices use an generic ASoC property called > "sound-name-prefix" > > You may see examples of that in > arch/arm64/boot/dts/amlogic/meson-axg.dtsi. > > That property is not expressed in json schema yet, and I don't > really know what is the best way to add that. Just assume it is (and I believe there's a patch I reviewed adding it). Regardless, you still need to define what the strings are. > Adding 'additionalProperties: false' right now would generate a fair > amount of warning with 'make dtbs_check' That's a good way to have a todo... Rob
diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt deleted file mode 100644 index cabfb26a5f22..000000000000 --- a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt +++ /dev/null @@ -1,22 +0,0 @@ -* Amlogic Audio TDM Interfaces - -Required properties: -- compatible: 'amlogic,axg-tdm-iface' -- clocks: list of clock phandle, one for each entry clock-names. -- clock-names: should contain the following: - * "sclk" : bit clock. - * "lrclk": sample clock - * "mclk" : master clock - -> optional if the interface is in clock slave mode. -- #sound-dai-cells: must be 0. - -Example of TDM_A on the A113 SoC: - -tdmif_a: audio-controller@0 { - compatible = "amlogic,axg-tdm-iface"; - #sound-dai-cells = <0>; - clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>, - <&clkc_audio AUD_CLKID_MST_A_SCLK>, - <&clkc_audio AUD_CLKID_MST_A_LRCLK>; - clock-names = "mclk", "sclk", "lrclk"; -}; diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml new file mode 100644 index 000000000000..5f04f9cf30a0 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/amlogic,axg-tdm-iface.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Amlogic Audio TDM Interfaces + +maintainers: + - Jerome Brunet <jbrunet@baylibre.com> + +properties: + $nodename: + pattern: "^audio-controller-.*" + + "#sound-dai-cells": + const: 0 + + compatible: + items: + - const: 'amlogic,axg-tdm-iface' + + clocks: + minItems: 2 + maxItems: 3 + items: + - description: Bit clock + - description: Sample clock + - description: Master clock #optional + + clock-names: + minItems: 2 + maxItems: 3 + items: + - const: sclk + - const: lrclk + - const: mclk + +required: + - "#sound-dai-cells" + - compatible + - clocks + - clock-names + +examples: + - | + #include <dt-bindings/clock/axg-audio-clkc.h> + + tdmif_a: audio-controller-0 { + compatible = "amlogic,axg-tdm-iface"; + #sound-dai-cells = <0>; + clocks = <&clkc_audio AUD_CLKID_MST_A_SCLK>, + <&clkc_audio AUD_CLKID_MST_A_LRCLK>, + <&clkc_audio AUD_CLKID_MST_A_MCLK>; + clock-names = "sclk", "lrclk", "mclk"; + }; +
Convert the DT binding documentation for the Amlogic tdm interface to schema. Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> --- .../bindings/sound/amlogic,axg-tdm-iface.txt | 22 ------- .../bindings/sound/amlogic,axg-tdm-iface.yaml | 57 +++++++++++++++++++ 2 files changed, 57 insertions(+), 22 deletions(-) delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml