.../devicetree/bindings/sound/alc5623.txt | 25 ---------- .../bindings/sound/realtek,alc5623.yaml | 49 +++++++++++++++++++ 2 files changed, 49 insertions(+), 25 deletions(-) delete mode 100644 Documentation/devicetree/bindings/sound/alc5623.txt create mode 100644 Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
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.
Signed-off-by: Mahdi Khosravi <mmk1776@gmail.com>
---
.../devicetree/bindings/sound/alc5623.txt | 25 ----------
.../bindings/sound/realtek,alc5623.yaml | 49 +++++++++++++++++++
2 files changed, 49 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..98524d06458c
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
@@ -0,0 +1,49 @@
+# 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>
+
+properties:
+ compatible:
+ const: realtek,alc5623
+
+ reg:
+ maxItems: 1
+
+ add-ctrl:
+ description:
+ Default register value for Reg-40h, Additional Control Register. If absent
+ or has the value of 0, the register is untouched.
+ type: object
+
+ jack-det-ctrl:
+ description:
+ Default register value for Reg-5Ah, Jack Detect Control Register. If absent
+ or has value 0, the register is untouched.
+ type: object
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ codec@1a {
+ compatible = "realtek,alc5632";
+ reg = <0x1a>;
+ add-ctrl = <0x3700>;
+ jack-det-ctrl = <0x4810>;
+ };
+ };
--
2.50.1
On 30/07/2025 11:37, 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. Take a look at your compatible and then look at your example. realtek,alc5632 is completely different. Just DTS using it in the kernel. Please use subject prefixes matching the subsystem. You can get them for example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory your patch is touching. For bindings, the preferred subjects are explained here: https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters > diff --git a/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml > new file mode 100644 > index 000000000000..98524d06458c > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml > @@ -0,0 +1,49 @@ > +# 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 s/audio/Audio/. Keep it consistent. > + > +maintainers: > + - Mahdi Khosravi <mmk1776@gmail.com> That's DAI, no? At least looking at driver? Then you miss dai-common reference. > + > +properties: > + compatible: > + const: realtek,alc5623 > + > + reg: > + maxItems: 1 > + > + add-ctrl: > + description: > + Default register value for Reg-40h, Additional Control Register. If absent > + or has the value of 0, the register is untouched. > + type: object > + > + jack-det-ctrl: > + description: > + Default register value for Reg-5Ah, Jack Detect Control Register. If absent > + or has value 0, the register is untouched. > + type: object None of these are objects. This wasn't tested due to your compatible issue. :/ > + > +required: > + - compatible > + - reg > + > +additionalProperties: false unevaluatedProperties after adding dai-common ref. > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + codec@1a { > + compatible = "realtek,alc5632"; Best regards, Krzysztof
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
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
© 2016 - 2025 Red Hat, Inc.