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 - 2026 Red Hat, Inc.