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

From: Jerome Brunet
Date: Fri Feb 28 2020 - 11:57:17 EST



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.

Adding 'additionalProperties: false' right now would generate a fair
amount of warning with 'make dtbs_check'

>
> With that,
>
> Reviewed-by: Rob Herring <robh@xxxxxxxxxx>