Re: [PATCH 2/9] ASoC: meson: convert axg tdm interface to schema

From: Rob Herring
Date: Fri Feb 28 2020 - 12:16:41 EST


On Fri, Feb 28, 2020 at 10:57 AM Jerome Brunet <jbrunet@xxxxxxxxxxxx> wrote:
>
>
> On Fri 28 Feb 2020 at 16:50, Rob Herring <robh@xxxxxxxxxx> 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@xxxxxxxxxxxx>
> >> ---
> >> .../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@xxxxxxxxxxxx>
> >> +
> >> +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