2019-10-18 14:10:18

by Marek Szyprowski

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

From: Maciej Falkowski <[email protected]>

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

Signed-off-by: Maciej Falkowski <[email protected]>
[mszyprow: reordered non-standard properties, added list of values
for widgets, minor other fixes]
Signed-off-by: Marek Szyprowski <[email protected]>
---
.../bindings/sound/samsung,tm2-audio.txt | 42 --------
.../bindings/sound/samsung,tm2-audio.yaml | 99 +++++++++++++++++++
2 files changed, 99 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..c9178d928ad4
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/samsung,tm2-audio.yaml
@@ -0,0 +1,99 @@
+# 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 <[email protected]>
+ - Sylwester Nawrocki <[email protected]>
+
+properties:
+ compatible:
+ const: samsung,tm2-audio
+
+ model:
+ $ref: /schemas/types.yaml#/definitions/string
+ description: The user-visible name of this sound complex.
+
+ i2s-controller:
+ allOf:
+ - $ref: /schemas/types.yaml#/definitions/phandle-array
+ - items:
+ - description: phandle of the I2S0.
+ - description: phandle of the I2S1.
+
+ 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.
+
+ audio-amplifier:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle of the MAX98504 amplifier.
+
+ mic-bias-gpios:
+ description: GPIO pin that enables the Main Mic bias regulator.
+ maxItems: 1
+
+ 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 pins:
+ "HPOUT1L",
+ "HPOUT1R",
+ "HPOUT2L",
+ "HPOUT2R",
+ "HPOUT3L",
+ "HPOUT3R",
+ MAX98504's pins:
+ "SPKOUT"
+ and the jacks on the board:
+ "HP",
+ "SPK",
+ "RCV",
+ "Main Mic",
+ "Sub Mic",
+ "Third Mic",
+ "Headset Mic".
+
+required:
+ - compatible
+ - model
+ - i2s-controller
+ - audio-codec
+ - audio-amplifier
+ - mic-bias-gpios
+ - samsung,audio-routing
+
+additionalProperties: false
+
+examples:
+ - |
+ sound {
+ compatible = "samsung,tm2-audio";
+ model = "wm5110";
+ i2s-controller = <&i2s0 0>, <&i2s1 0>;
+ audio-codec = <&wm5110>, <&hdmi>;
+ 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";
+ };
+
--
2.17.1


2019-10-18 22:15:07

by Rob Herring (Arm)

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

On Thu, Oct 17, 2019 at 12:05:06PM +0200, Marek Szyprowski wrote:
> From: Maciej Falkowski <[email protected]>
>
> Convert Samsung Exynos5433 TM2(E) audio complex with WM5110 codec to
> newer dt-schema format.
>
> Signed-off-by: Maciej Falkowski <[email protected]>
> [mszyprow: reordered non-standard properties, added list of values
> for widgets, minor other fixes]
> Signed-off-by: Marek Szyprowski <[email protected]>
> ---
> .../bindings/sound/samsung,tm2-audio.txt | 42 --------
> .../bindings/sound/samsung,tm2-audio.yaml | 99 +++++++++++++++++++
> 2 files changed, 99 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..c9178d928ad4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/samsung,tm2-audio.yaml
> @@ -0,0 +1,99 @@
> +# 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 <[email protected]>
> + - Sylwester Nawrocki <[email protected]>
> +
> +properties:
> + compatible:
> + const: samsung,tm2-audio
> +
> + model:
> + $ref: /schemas/types.yaml#/definitions/string
> + description: The user-visible name of this sound complex.
> +
> + i2s-controller:
> + allOf:
> + - $ref: /schemas/types.yaml#/definitions/phandle-array
> + - items:
> + - description: phandle of the I2S0.
> + - description: phandle of the I2S1.
> +
> + 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.
> +
> + audio-amplifier:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description: phandle of the MAX98504 amplifier.
> +
> + mic-bias-gpios:
> + description: GPIO pin that enables the Main Mic bias regulator.
> + maxItems: 1
> +
> + 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 pins:
> + "HPOUT1L",
> + "HPOUT1R",
> + "HPOUT2L",
> + "HPOUT2R",
> + "HPOUT3L",
> + "HPOUT3R",
> + MAX98504's pins:
> + "SPKOUT"
> + and the jacks on the board:
> + "HP",
> + "SPK",
> + "RCV",
> + "Main Mic",
> + "Sub Mic",
> + "Third Mic",
> + "Headset Mic".

All these strings can be a schema.

> +
> +required:
> + - compatible
> + - model
> + - i2s-controller
> + - audio-codec
> + - audio-amplifier
> + - mic-bias-gpios
> + - samsung,audio-routing
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + sound {
> + compatible = "samsung,tm2-audio";
> + model = "wm5110";
> + i2s-controller = <&i2s0 0>, <&i2s1 0>;
> + audio-codec = <&wm5110>, <&hdmi>;
> + 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";
> + };
> +
> --
> 2.17.1
>