Convert the legacy TXT binding for the TWL4030 audio module
to the modern YAML DT schema format. This adds formal validation
and improves documentation.
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
.../bindings/mfd/ti,twl4030-audio.yaml | 91 +++++++++++++++++++
.../devicetree/bindings/mfd/twl4030-audio.txt | 46 ----------
2 files changed, 91 insertions(+), 46 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml
delete mode 100644 Documentation/devicetree/bindings/mfd/twl4030-audio.txt
diff --git a/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml b/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml
new file mode 100644
index 000000000..16ddcf007
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml
@@ -0,0 +1,91 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/ti,twl4030-audio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TWL4030-family Audio Module
+
+maintainers:
+ - Peter Ujfalusi <peter.ujfalusi@gmail.com>
+
+description: |
+ The audio module within the TWL4030-family of companion chips consists
+ of an audio codec and a vibra driver. This binding describes the parent
+ node for these functions.
+
+properties:
+ compatible:
+ const: ti,twl4030-audio
+
+ codec:
+ type: object
+ description: Node containing properties for the audio codec functionality.
+ properties:
+ ti,digimic_delay:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Delay in milliseconds after enabling digital microphones to reduce
+ artifacts.
+
+ ti,ramp_delay_value:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Headset ramp delay configuration to reduce pop noise.
+
+ ti,hs_extmute:
+ type: boolean
+ description:
+ Enable the use of an external mute for headset pop reduction.
+
+ ti,hs_extmute_gpio:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description:
+ The GPIO specifier for the external mute control.
+ maxItems: 1
+
+ ti,offset_cncl_path:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Offset cancellation path selection. Refer to the Technical
+ Reference Manual for valid values.
+
+ # The 'codec' node itself is optional, but if it exists, it can be empty.
+ # We don't require any of its sub-properties.
+
+ ti,enable-vibra:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Set to 1 to enable the vibra functionality, if missing
+ or it is 0, the vibra functionality is disabled.
+
+additionalProperties: false
+
+required:
+ - compatible
+
+examples:
+ - |
+ i2c {
+
+ clock-frequency = <2600000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ twl: twl@48 {
+ reg = <0x48>;
+ interrupts = <7>; /* SYS_NIRQ cascaded to intc */
+ interrupt-parent = <&intc>;
+
+ twl_audio: audio {
+ compatible = "ti,twl4030-audio";
+
+ ti,enable-vibra = <1>;
+
+ codec {
+ ti,ramp_delay_value = <3>;
+ };
+
+ };
+ };
+ };
diff --git a/Documentation/devicetree/bindings/mfd/twl4030-audio.txt b/Documentation/devicetree/bindings/mfd/twl4030-audio.txt
deleted file mode 100644
index 414d2ae0a..000000000
--- a/Documentation/devicetree/bindings/mfd/twl4030-audio.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-Texas Instruments TWL family (twl4030) audio module
-
-The audio module inside the TWL family consist of an audio codec and a vibra
-driver.
-
-Required properties:
-- compatible : must be "ti,twl4030-audio"
-
-Optional properties, nodes:
-
-Audio functionality:
-- codec { }: Need to be present if the audio functionality is used. Within this
- section the following options can be used:
-- ti,digimic_delay: Delay need after enabling the digimic to reduce artifacts
- from the start of the recorded sample (in ms)
--ti,ramp_delay_value: HS ramp delay configuration to reduce pop noise
--ti,hs_extmute: Use external mute for HS pop reduction
--ti,hs_extmute_gpio: Use external GPIO to control the external mute
--ti,offset_cncl_path: Offset cancellation path selection, refer to TRM for the
- valid values.
-
-Vibra functionality
-- ti,enable-vibra: Need to be set to <1> if the vibra functionality is used. if
- missing or it is 0, the vibra functionality is disabled.
-
-Example:
-&i2c1 {
- clock-frequency = <2600000>;
-
- twl: twl@48 {
- reg = <0x48>;
- interrupts = <7>; /* SYS_NIRQ cascaded to intc */
- interrupt-parent = <&intc>;
-
- twl_audio: audio {
- compatible = "ti,twl4030-audio";
-
- ti,enable-vibra = <1>;
-
- codec {
- ti,ramp_delay_value = <3>;
- };
-
- };
- };
-};
--
2.39.5
On Tue, Aug 12, 2025 at 12:47:32AM +0200, Jihed Chaibi wrote: > Convert the legacy TXT binding for the TWL4030 audio module > to the modern YAML DT schema format. This adds formal validation > and improves documentation. > > Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com> > --- > .../bindings/mfd/ti,twl4030-audio.yaml | 91 +++++++++++++++++++ > .../devicetree/bindings/mfd/twl4030-audio.txt | 46 ---------- Shouldn't this move to bindings/sound/? > 2 files changed, 91 insertions(+), 46 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml > delete mode 100644 Documentation/devicetree/bindings/mfd/twl4030-audio.txt > > diff --git a/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml b/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml > new file mode 100644 > index 000000000..16ddcf007 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/ti,twl4030-audio.yaml > @@ -0,0 +1,91 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/ti,twl4030-audio.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Texas Instruments TWL4030-family Audio Module > + > +maintainers: > + - Peter Ujfalusi <peter.ujfalusi@gmail.com> > + > +description: | Don't need '|' if no formatting to preserve. > + The audio module within the TWL4030-family of companion chips consists > + of an audio codec and a vibra driver. This binding describes the parent > + node for these functions. > + > +properties: > + compatible: > + const: ti,twl4030-audio > + > + codec: > + type: object > + description: Node containing properties for the audio codec functionality. additionalProperties: false and a blank line here. > + properties: > + ti,digimic_delay: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Delay in milliseconds after enabling digital microphones to reduce > + artifacts. > + > + ti,ramp_delay_value: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Headset ramp delay configuration to reduce pop noise. > + > + ti,hs_extmute: > + type: boolean > + description: > + Enable the use of an external mute for headset pop reduction. > + > + ti,hs_extmute_gpio: > + $ref: /schemas/types.yaml#/definitions/phandle-array > + description: > + The GPIO specifier for the external mute control. > + maxItems: 1 > + > + ti,offset_cncl_path: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Offset cancellation path selection. Refer to the Technical > + Reference Manual for valid values. Constraints for any of these properties? > + > + # The 'codec' node itself is optional, but if it exists, it can be empty. > + # We don't require any of its sub-properties. > + > + ti,enable-vibra: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: | > + Set to 1 to enable the vibra functionality, if missing > + or it is 0, the vibra functionality is disabled. Sounds like constraints. Don't write constraints in prose. > + > +additionalProperties: false > + > +required: > + - compatible > + > +examples: > + - | > + i2c { > + > + clock-frequency = <2600000>; Drop. Not relevant to this binding. > + #address-cells = <1>; > + #size-cells = <0>; > + > + twl: twl@48 { > + reg = <0x48>; > + interrupts = <7>; /* SYS_NIRQ cascaded to intc */ > + interrupt-parent = <&intc>; > + > + twl_audio: audio { > + compatible = "ti,twl4030-audio"; > + > + ti,enable-vibra = <1>; > + > + codec { > + ti,ramp_delay_value = <3>; > + }; > + > + }; > + }; > + };
© 2016 - 2025 Red Hat, Inc.