ASoC: dt-bindings: ti,twl4030-audio: convert to DT schema

Convert the TWL4030 audio module bindings from txt to YAML format and
move them to the sound subsystem bindings directory. This patch also
refines the schema by adding an enum constraint for ti,enable-vibra and
updates the example to remove irrelevant I2C clock-frequency property.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20250819201302.80712-2-jihed.chaibi.dev@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Jihed Chaibi
2025-08-19 22:13:01 +02:00
committed by Mark Brown
parent c17b750b3a
commit 0411332240
2 changed files with 90 additions and 46 deletions

View File

@@ -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>;
};
};
};
};

View File

@@ -0,0 +1,90 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/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
enum: [0, 1]
description:
Enable or disable the vibra functionality.
additionalProperties: false
required:
- compatible
examples:
- |
i2c {
#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>;
};
};
};
};