dt-bindings: sound: Convert Samsung Exynos5433 TM2(E) audio complex with WM5110 codec to dt-schema
diff mbox series

Message ID 20190924150146.15972-1-m.szyprowski@samsung.com
State New
Headers show
Series
  • dt-bindings: sound: Convert Samsung Exynos5433 TM2(E) audio complex with WM5110 codec to dt-schema
Related show

Commit Message

Marek Szyprowski Sept. 24, 2019, 3:01 p.m. UTC
From: Maciej Falkowski <m.falkowski@samsung.com>

Convert Samsung Exynos5433 TM2(E) audio complex with WM5110 codec to newer dt-schema format.

Signed-off-by: Maciej Falkowski <m.falkowski@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
 .../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

Comments

Krzysztof Kozlowski Sept. 24, 2019, 3:20 p.m. UTC | #1
On Tue, Sep 24, 2019 at 05:01:46PM +0200, Marek Szyprowski wrote:
> From: Maciej Falkowski <m.falkowski@samsung.com>
> 
> Convert Samsung Exynos5433 TM2(E) audio complex with WM5110 codec to newer dt-schema format.
> 
> Signed-off-by: Maciej Falkowski <m.falkowski@samsung.com>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>  .../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: 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@kernel.org>
> +  - Sylwester Nawrocki <s.nawrocki@samsung.com>
> +
> +properties:
> +  compatible:
> +    const: samsung,tm2-audio
> +
> +  model:
> +    maxItems: 1

$ref to string, then maxItems are not needed.
Add description (copy-paste).

> +
> +  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)?

Best regards,
Krzysztof
Maciej Falkowski Sept. 26, 2019, 11:49 a.m. UTC | #2
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@samsung.com>
>>
>> Convert Samsung Exynos5433 TM2(E) audio complex with WM5110 codec to newer dt-schema format.
>>
>> Signed-off-by: Maciej Falkowski <m.falkowski@samsung.com>
>> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> ---
>>   .../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@kernel.org>
>> +  - Sylwester Nawrocki <s.nawrocki@samsung.com>
>> +
>> +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.

Best regards,
Maciej Falkowski

>
> Best regards,
> Krzysztof
>
>
>
Krzysztof Kozlowski Sept. 26, 2019, 12:43 p.m. UTC | #3
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@samsung.com>
> >>
> >> Convert Samsung Exynos5433 TM2(E) audio complex with WM5110 codec to newer dt-schema format.
> >>
> >> Signed-off-by: Maciej Falkowski <m.falkowski@samsung.com>
> >> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> >> ---
> >>   .../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@kernel.org>
> >> +  - Sylwester Nawrocki <s.nawrocki@samsung.com>
> >> +
> >> +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

Patch
diff mbox series

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: 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@kernel.org>
+  - Sylwester Nawrocki <s.nawrocki@samsung.com>
+
+properties:
+  compatible:
+    const: samsung,tm2-audio
+
+  model:
+    maxItems: 1
+
+  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:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: phandle of the MAX98504 amplifier.
+
+  samsung,audio-routing:
+    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
+    description: |
+      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:
+    description: GPIO pin that enables the Main Mic bias regulator.
+    maxItems: 1
+
+required:
+  - compatible
+  - model
+  - audio-codec
+  - i2s-controller
+  - audio-amplifier
+  - samsung,audio-routing
+  - mic-bias-gpios
+
+additionalProperties: false
+
+examples:
+  - |
+    sound {
+        compatible = "samsung,tm2-audio";
+        model = "wm5110";
+        audio-codec = <&wm5110>, <&hdmi>;
+        i2s-controller = <&i2s0 0>, <&i2s1 0>;
+        audio-amplifier = <&max98504>;
+        mic-bias-gpios = <&gpr3>;
+        samsung,audio-routing =
+                "HP", "HPOUT1L",
+                "HP", "HPOUT1R",
+                "SPK", "SPKOUT",
+                "SPKOUT", "HPOUT2L",
+                "SPKOUT", "HPOUT2R",
+                "Main Mic", "MICBIAS2",
+                "IN1R", "Main Mic";
+    };
+