Re: [PATCH] dt-bindings: sound: Convert Samsung Exynos5433 TM2(E) audio complex with WM5110 codec to dt-schema

From: Krzysztof Kozlowski
Date: Thu Sep 26 2019 - 08:43:55 EST


On Thu, Sep 26, 2019 at 01:49:09PM +0200, Maciej Falkowski wrote:
>
> On 9/24/19 5:20 PM, Krzysztof Kozlowski wrote:
> > On Tue, Sep 24, 2019 at 05:01:46PM +0200, Marek Szyprowski wrote:
> >> From: Maciej Falkowski <m.falkowski@xxxxxxxxxxx>
> >>
> >> Convert Samsung Exynos5433 TM2(E) audio complex with WM5110 codec to newer dt-schema format.
> >>
> >> Signed-off-by: Maciej Falkowski <m.falkowski@xxxxxxxxxxx>
> >> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
> >> ---
> >> .../bindings/sound/samsung,tm2-audio.txt | 42 ----------
> >> .../bindings/sound/samsung,tm2-audio.yaml | 83 +++++++++++++++++++
> >> 2 files changed, 83 insertions(+), 42 deletions(-)
> >> delete mode 100644 Documentation/devicetree/bindings/sound/samsung,tm2-audio.txt
> >> create mode 100644 Documentation/devicetree/bindings/sound/samsung,tm2-audio.yaml
> >>
> >> diff --git a/Documentation/devicetree/bindings/sound/samsung,tm2-audio.txt b/Documentation/devicetree/bindings/sound/samsung,tm2-audio.txt
> >> deleted file mode 100644
> >> index f5ccc12ddc00..000000000000
> >> --- a/Documentation/devicetree/bindings/sound/samsung,tm2-audio.txt
> >> +++ /dev/null
> >> @@ -1,42 +0,0 @@
> >> -Samsung Exynos5433 TM2(E) audio complex with WM5110 codec
> >> -
> >> -Required properties:
> >> -
> >> - - compatible : "samsung,tm2-audio"
> >> - - model : the user-visible name of this sound complex
> >> - - audio-codec : the first entry should be phandle of the wm5110 audio
> >> - codec node, as described in ../mfd/arizona.txt;
> >> - the second entry should be phandle of the HDMI
> >> - transmitter node
> >> - - i2s-controller : the list of phandle and argument tuples pointing to
> >> - I2S controllers, the first entry should be I2S0 and
> >> - the second one I2S1
> >> - - audio-amplifier : the phandle of the MAX98504 amplifier
> >> - - samsung,audio-routing : 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 for sources and sinks are the
> >> - WM5110's and MAX98504's pins and the jacks on the
> >> - board: HP, SPK, Main Mic, Sub Mic, Third Mic,
> >> - Headset Mic
> >> - - mic-bias-gpios : GPIO pin that enables the Main Mic bias regulator
> >> -
> >> -
> >> -Example:
> >> -
> >> -sound {
> >> - compatible = "samsung,tm2-audio";
> >> - audio-codec = <&wm5110>, <&hdmi>;
> >> - i2s-controller = <&i2s0 0>, <&i2s1 0>;
> >> - audio-amplifier = <&max98504>;
> >> - mic-bias-gpios = <&gpr3 2 0>;
> >> - model = "wm5110";
> >> - samsung,audio-routing =
> >> - "HP", "HPOUT1L",
> >> - "HP", "HPOUT1R",
> >> - "SPK", "SPKOUT",
> >> - "SPKOUT", "HPOUT2L",
> >> - "SPKOUT", "HPOUT2R",
> >> - "Main Mic", "MICBIAS2",
> >> - "IN1R", "Main Mic";
> >> -};
> >> diff --git a/Documentation/devicetree/bindings/sound/samsung,tm2-audio.yaml b/Documentation/devicetree/bindings/sound/samsung,tm2-audio.yaml
> >> new file mode 100644
> >> index 000000000000..377f8cbe17b8
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/sound/samsung,tm2-audio.yaml
> >> @@ -0,0 +1,83 @@
> >> +# SPDX-License-Identifier: GPL-2.0
> >> +%YAML 1.2
> >> +---
> >> +$id: https://protect2.fireeye.com/url?k=ccb9abe11b8a2745.ccb820ae-a91cd712f01d248e&u=http://devicetree.org/schemas/sound/samsung,tm2-audio.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: Samsung Exynos SoC Exynos5433 TM2(E) audio complex with WM5110 codec
> >> +
> >> +maintainers:
> >> + - Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> >> + - Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
> >> +
> >> +properties:
> >> + compatible:
> >> + const: samsung,tm2-audio
> >> +
> >> + model:
> >> + maxItems: 1
> > $ref to string, then maxItems are not needed.
> > Add description (copy-paste).
>
> Hi Krzysztof,
>
> You're right, model is not a standard property.
>
> >> +
> >> + audio-codec:
> >> + allOf:
> >> + - $ref: /schemas/types.yaml#/definitions/phandle-array
> >> + - items:
> >> + - description: |
> >> + phandle of the wm5110 audio codec node,
> >> + as described in ../mfd/arizona.txt;
> >> + - description: phandle of the HDMI transmitter node.
> >> +
> >> + i2s-controller:
> >> + allOf:
> >> + - $ref: /schemas/types.yaml#/definitions/phandle-array
> >> + - items:
> >> + - description: phandle of the I2S0.
> >> + - description: phandle of the I2S1.
> >> +
> >> + audio-amplifier:
> > Can you order the nodes here and in required section by name (except
> > compatible which should be first)?
>
> Current order is already well-established across bindings (even example).
> I think that sorted properties are undesired with that.

OK, good point, so leave the standard properties in order matching
example-bindings. However order the reset because "audio-codec", then
"i2s-controler" and then again "audio-...". So bring some order here.

Best regards,
Krzysztof