[PATCH v2] ASoC: dt-bindings: realtek,alc5623: convert binding to YAML

Mahdi Khosravi posted 1 patch 1 month, 4 weeks ago
.../devicetree/bindings/sound/alc5623.txt     | 25 ---------
.../bindings/sound/realtek,alc5623.yaml       | 54 +++++++++++++++++++
2 files changed, 54 insertions(+), 25 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/alc5623.txt
create mode 100644 Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
[PATCH v2] ASoC: dt-bindings: realtek,alc5623: convert binding to YAML
Posted by Mahdi Khosravi 1 month, 4 weeks ago
I converted the alc5623 audio codec binding from text to DT schema.
This is my first try and I used make dt_binding_check & make dtbs_check to verify
without getting any errors.

Changes since v1:
- Add dai-common ref
- switch add-ctrl/jack-det-ctrl to allOf uint32
- use unevaluatedProperties
- fix example compatible

Signed-off-by: Mahdi Khosravi <mmk1776@gmail.com>
---
 .../devicetree/bindings/sound/alc5623.txt     | 25 ---------
 .../bindings/sound/realtek,alc5623.yaml       | 54 +++++++++++++++++++
 2 files changed, 54 insertions(+), 25 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/alc5623.txt
 create mode 100644 Documentation/devicetree/bindings/sound/realtek,alc5623.yaml

diff --git a/Documentation/devicetree/bindings/sound/alc5623.txt b/Documentation/devicetree/bindings/sound/alc5623.txt
deleted file mode 100644
index 26c86c98d671..000000000000
--- a/Documentation/devicetree/bindings/sound/alc5623.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-ALC5621/ALC5622/ALC5623 audio Codec
-
-Required properties:
-
- - compatible:	"realtek,alc5623"
- - reg:		the I2C address of the device.
-
-Optional properties:
-
- - add-ctrl:	  Default register value for Reg-40h, Additional Control
-		  Register. If absent or has the value of 0, the
-		  register is untouched.
-
- - jack-det-ctrl: Default register value for Reg-5Ah, Jack Detect
-		  Control Register. If absent or has value 0, the
-		  register is untouched.
-
-Example:
-
-	alc5621: alc5621@1a {
-		compatible = "alc5621";
-		reg = <0x1a>;
-		add-ctrl = <0x3700>;
-		jack-det-ctrl = <0x4810>;
-	};
diff --git a/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
new file mode 100644
index 000000000000..0b9dc324f04d
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
@@ -0,0 +1,54 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/realtek,alc5623.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ALC5621/ALC5622/ALC5623 Audio Codec
+
+maintainers:
+  - Mahdi Khosravi <mmk1776@gmail.com>
+
+allOf:
+  - $ref: dai-common.yaml#
+
+properties:
+  compatible:
+    const: realtek,alc5623
+
+  reg:
+    maxItems: 1
+
+  add-ctrl:
+    description: >
+      Default register value for Reg-40h, Additional Control Register.
+      If absent or zero, the register is left untouched.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+
+  jack-det-ctrl:
+    description: >
+      Default register value for Reg-5Ah, Jack Detect Control Register.
+      If absent or zero, the register is left untouched.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+
+required:
+  - compatible
+  - reg
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@1a {
+            compatible = "realtek,alc5623";
+            reg = <0x1a>;
+            add-ctrl = <0x3700>;
+            jack-det-ctrl = <0x4810>;
+        };
+    };
-- 
2.50.1
Re: [PATCH v2] ASoC: dt-bindings: realtek,alc5623: convert binding to YAML
Posted by Krzysztof Kozlowski 1 month, 4 weeks ago
On 06/08/2025 11:05, Mahdi Khosravi wrote:
> I converted the alc5623 audio codec binding from text to DT schema.
> This is my first try and I used make dt_binding_check & make dtbs_check to verify
> without getting any errors.

Do not attach (thread) your patchsets to some other threads (unrelated
or older versions). This buries them deep in the mailbox and might
interfere with applying entire sets.

> 
> Changes since v1:

This goes to changelog, so under ---.

> - Add dai-common ref
> - switch add-ctrl/jack-det-ctrl to allOf uint32
> - use unevaluatedProperties
> - fix example compatible

Subject: "convert to DT Schema"
Not to YAML.

> 
> Signed-off-by: Mahdi Khosravi <mmk1776@gmail.com>
> ---


...

> diff --git a/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
> new file mode 100644
> index 000000000000..0b9dc324f04d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
> @@ -0,0 +1,54 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/realtek,alc5623.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ALC5621/ALC5622/ALC5623 Audio Codec
> +
> +maintainers:
> +  - Mahdi Khosravi <mmk1776@gmail.com>
> +
> +allOf:
> +  - $ref: dai-common.yaml#
> +
> +properties:
> +  compatible:
> +    const: realtek,alc5623
> +
> +  reg:
> +    maxItems: 1
> +
> +  add-ctrl:
> +    description: >

Why did > appear?

> +      Default register value for Reg-40h, Additional Control Register.
> +      If absent or zero, the register is left untouched.
> +    allOf:

Drop allOf, just $ref. Look at other bindings or example-schema.

> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +
> +  jack-det-ctrl:
> +    description: >
> +      Default register value for Reg-5Ah, Jack Detect Control Register.
> +      If absent or zero, the register is left untouched.
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +



Best regards,
Krzysztof