ASoC: dt-bindings: Convert TI TWL4030 sound

Merge series from Jihed Chaibi <jihed.chaibi.dev@gmail.com>:

This series converts the legacy TXT bindings for the TI TWL4030
sound-related modules to the modern YAML DT schema format.

This work was previously part of a larger series but is now being sent
as a focused submission for the ASoC subsystem.
This commit is contained in:
Mark Brown
2025-08-20 18:51:37 +01:00
4 changed files with 188 additions and 108 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

@@ -1,62 +0,0 @@
* Texas Instruments SoC with twl4030 based audio setups
Required properties:
- compatible: "ti,omap-twl4030"
- ti,model: Name of the sound card (for example "omap3beagle")
- ti,mcbsp: phandle for the McBSP node
Optional properties:
- ti,codec: phandle for the twl4030 audio node
- ti,mcbsp-voice: phandle for the McBSP node connected to the voice port of twl
- ti, jack-det-gpio: Jack detect GPIO
- ti,audio-routing: List of connections between audio components.
Each entry is a pair of strings, the first being the connection's sink,
the second being the connection's source.
If the routing is not provided all possible connection will be available
Available audio endpoints for the audio-routing table:
Board connectors:
* Headset Stereophone
* Earpiece Spk
* Handsfree Spk
* Ext Spk
* Main Mic
* Sub Mic
* Headset Mic
* Carkit Mic
* Digital0 Mic
* Digital1 Mic
* Line In
twl4030 pins:
* HSOL
* HSOR
* EARPIECE
* HFL
* HFR
* PREDRIVEL
* PREDRIVER
* CARKITL
* CARKITR
* MAINMIC
* SUBMIC
* HSMIC
* DIGIMIC0
* DIGIMIC1
* CARKITMIC
* AUXL
* AUXR
* Headset Mic Bias
* Mic Bias 1 /* Used for Main Mic or Digimic0 */
* Mic Bias 2 /* Used for Sub Mic or Digimic1 */
Example:
sound {
compatible = "ti,omap-twl4030";
ti,model = "omap3beagle";
ti,mcbsp = <&mcbsp2>;
};

View File

@@ -0,0 +1,98 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/ti,omap-twl4030.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Texas Instruments SoC with twl4030 based audio setups
maintainers:
- Peter Ujfalusi <peter.ujfalusi@gmail.com>
description:
Audio setups on TI OMAP SoCs using TWL4030-family
audio codec connected via a McBSP port.
properties:
compatible:
const: ti,omap-twl4030
ti,model:
$ref: /schemas/types.yaml#/definitions/string
description: Name of the sound card (for example "omap3beagle").
ti,mcbsp:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle for the McBSP node.
ti,codec:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle for the twl4030 audio node.
ti,mcbsp-voice:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle to the McBSP node connected to the voice port.
ti,jack-det-gpio:
description: GPIO specifier for jack detection.
maxItems: 1
ti,audio-routing:
description: |
A list of audio routing connections. Each entry is a pair of strings,
with the first being the connection's sink and the second being the
source. If not provided, all possible connections are available.
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
items:
enum:
# Board Connectors
- Headset Stereophone
- Earpiece Spk
- Handsfree Spk
- Ext Spk
- Main Mic
- Sub Mic
- Headset Mic
- Carkit Mic
- Digital0 Mic
- Digital1 Mic
- Line In
# CODEC Pins
- HSOL
- HSOR
- EARPIECE
- HFL
- HFR
- PREDRIVEL
- PREDRIVER
- CARKITL
- CARKITR
- MAINMIC
- SUBMIC
- HSMIC
- DIGIMIC0
- DIGIMIC1
- CARKITMIC
- AUXL
- AUXR
# Headset Mic Bias
- Mic Bias 1 # Used for Main Mic or Digimic0
- Mic Bias 2 # Used for Sub Mic or Digimic1
required:
- compatible
- ti,model
- ti,mcbsp
additionalProperties: false
examples:
- |
sound {
compatible = "ti,omap-twl4030";
ti,model = "omap3beagle";
ti,mcbsp = <&mcbsp2>;
};

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