mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
ASoC: dt-bindings: Add ti,tas67524
Add device tree binding for the Texas Instruments TAS67524 family of four-channel Class-D audio amplifiers with integrated DSP. Signed-off-by: Sen Wang <sen@ti.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20260416232640.3084132-2-sen@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
254f49634e
commit
5067f61cca
280
Documentation/devicetree/bindings/sound/ti,tas67524.yaml
Normal file
280
Documentation/devicetree/bindings/sound/ti,tas67524.yaml
Normal file
|
|
@ -0,0 +1,280 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/ti,tas67524.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Texas Instruments TAS67524 Audio Amplifier
|
||||
|
||||
maintainers:
|
||||
- Sen Wang <sen@ti.com>
|
||||
|
||||
description:
|
||||
The TAS67524 is a four-channel, digital-input, automotive
|
||||
Class-D audio amplifier with load diagnostics and an integrated
|
||||
DSP for audio processing.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- ti,tas6754
|
||||
- const: ti,tas67524
|
||||
- const: ti,tas67524
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 1
|
||||
description: |
|
||||
The device exposes three DAIs, selected by index.
|
||||
0 - Standard Audio Path (Playback)
|
||||
1 - Low-Latency Playback Path (Playback)
|
||||
2 - Sensory Feedback (Capture - Vpredict and Isense)
|
||||
By default, all four channels of each DAI are active.
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
description:
|
||||
Active-low falling-edge interrupt from the FAULT pin. When provided,
|
||||
the driver uses IRQ-driven fault reporting instead of polling.
|
||||
|
||||
powerdown-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
GPIO connected to the PD pin, active low. Controls the internal
|
||||
digital circuitry power state. When asserted the device enters
|
||||
full power-down mode and all register state is lost. Can be omitted if
|
||||
PD pin is hardwired or externally controlled.
|
||||
|
||||
standby-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
GPIO connected to the STBY pin, active low. Controls the analog
|
||||
power stage. When asserted the device enters Deep Sleep mode but
|
||||
remains I2C-accessible with registers retained. Can be omitted if
|
||||
STBY pin is tied to PD or hardwired.
|
||||
|
||||
dvdd-supply:
|
||||
description:
|
||||
Digital logic supply (1.62 V to 3.6 V). All three supply rails must
|
||||
be within their recommended operating ranges before the PD pin is
|
||||
released.
|
||||
|
||||
pvdd-supply:
|
||||
description:
|
||||
Output FET power supply (4.5 V to 19 V). All three supply rails must
|
||||
be within their recommended operating ranges before the PD pin is
|
||||
released.
|
||||
|
||||
vbat-supply:
|
||||
description:
|
||||
Battery supply for the Class-D output stage (4.5 V to 19 V). Optional
|
||||
when PVDD and VBAT are connected to the same supply rail. When absent,
|
||||
VBAT is assumed hardwired to PVDD.
|
||||
|
||||
ti,fast-boot:
|
||||
type: boolean
|
||||
description:
|
||||
Skip DC load diagnostic sweep at power-on to reduce boot latency.
|
||||
Automatic diagnostics after fault conditions remain enabled. Hardware
|
||||
overcurrent protection is always active.
|
||||
|
||||
ti,audio-slot-no:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
TDM slot offset for the standard audio playback path via SDIN1. A value
|
||||
of 4 maps to slot 4. If omitted, slot assignment is derived from the
|
||||
tx_mask provided via set_tdm_slot(). Without either property, no slot
|
||||
mapping is configured.
|
||||
|
||||
ti,llp-slot-no:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
TDM slot offset for the low-latency playback path via SDIN1. If omitted,
|
||||
slot assignment is derived from the tx_mask provided via set_tdm_slot().
|
||||
Without either property, no slot mapping is configured. Disabled outside
|
||||
of LLP mode, and only relevant for TDM formats.
|
||||
|
||||
ti,vpredict-slot-no:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
In TDM mode, enables Vpredict output and assigns its starting slot;
|
||||
four consecutive slots carry Vpredict Ch1-4 on SDOUT1. May coexist
|
||||
with ti,isense-slot-no using separate non-overlapping slots.
|
||||
|
||||
In I2S mode, enables Vpredict output on SDOUT1 (Ch1/Ch2) and SDOUT2
|
||||
(Ch3/Ch4). The slot value is unused. Requires a GPIO configured as
|
||||
sdout2 for Ch3/Ch4; without it only Ch1/Ch2 are output. Mutually
|
||||
exclusive with ti,isense-slot-no; if both are set, Vpredict takes
|
||||
priority.
|
||||
|
||||
Irrelevant in Left-J and Right-J modes.
|
||||
|
||||
ti,isense-slot-no:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
In TDM mode, enables Isense output and assigns its starting slot;
|
||||
four consecutive slots carry Isense Ch1-4 on SDOUT1. May coexist
|
||||
with ti,vpredict-slot-no using separate non-overlapping slots.
|
||||
|
||||
In I2S mode, enables Isense output on SDOUT1 (Ch1/Ch2) and SDOUT2
|
||||
(Ch3/Ch4). The slot value is unused. Requires a GPIO configured as
|
||||
SDOUT2 for Ch3/Ch4; without it only Ch1/Ch2 are output. Mutually
|
||||
exclusive with ti,vpredict-slot-no; Vpredict takes priority if both
|
||||
are set.
|
||||
|
||||
Irrelevant in Left-J and Right-J modes.
|
||||
|
||||
ti,gpio1-function:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description:
|
||||
Function for the GPIO_1 pin. When omitted, GPIO_1 remains in its
|
||||
power-on default state.
|
||||
enum:
|
||||
- low # Output: driven low
|
||||
- auto-mute # Output: high when all channels are auto-muted
|
||||
- auto-mute-ch4 # Output: high when channel 4 is auto-muted
|
||||
- auto-mute-ch3 # Output: high when channel 3 is auto-muted
|
||||
- auto-mute-ch2 # Output: high when channel 2 is auto-muted
|
||||
- auto-mute-ch1 # Output: high when channel 1 is auto-muted
|
||||
- sdout2 # Output: Routes secondary serial data output 2
|
||||
- sdout1 # Output: Re-routes secondary serial data output 1
|
||||
- warn # Output: warning signal (OTW, CBC)
|
||||
- fault # Output: fault signal (OTSD, OC, DC)
|
||||
- clock-sync # Output: clock synchronisation
|
||||
- invalid-clock # Output: high when clock is invalid
|
||||
- high # Output: driven high
|
||||
- mute # Input: external mute control
|
||||
- phase-sync # Input: phase synchronisation
|
||||
- sdin2 # Input: secondary SDIN2 for I2S/LJ/RJ ch3/ch4
|
||||
- deep-sleep # Input: asserted transitions device to Deep Sleep
|
||||
- hiz # Input: asserted transitions device to Hi-Z
|
||||
- play # Input: asserted transitions device to Play
|
||||
- sleep # Input: asserted transitions device to Sleep
|
||||
|
||||
ti,gpio2-function:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description:
|
||||
Function for the GPIO_2 pin. When omitted, GPIO_2 remains in its
|
||||
power-on default state.
|
||||
enum:
|
||||
- low # Output: driven low
|
||||
- auto-mute # Output: high when all channels are auto-muted
|
||||
- auto-mute-ch4 # Output: high when channel 4 is auto-muted
|
||||
- auto-mute-ch3 # Output: high when channel 3 is auto-muted
|
||||
- auto-mute-ch2 # Output: high when channel 2 is auto-muted
|
||||
- auto-mute-ch1 # Output: high when channel 1 is auto-muted
|
||||
- sdout2 # Output: Routes secondary serial data output 2
|
||||
- sdout1 # Output: Re-routes secondary serial data output 1
|
||||
- warn # Output: warning signal (OTW, CBC)
|
||||
- fault # Output: fault signal (OTSD, OC, DC)
|
||||
- clock-sync # Output: clock synchronisation
|
||||
- invalid-clock # Output: high when clock is invalid
|
||||
- high # Output: driven high
|
||||
- mute # Input: external mute control
|
||||
- phase-sync # Input: phase synchronisation
|
||||
- sdin2 # Input: secondary SDIN2 for I2S/LJ/RJ ch3/ch4
|
||||
- deep-sleep # Input: asserted transitions device to Deep Sleep
|
||||
- hiz # Input: asserted transitions device to Hi-Z
|
||||
- play # Input: asserted transitions device to Play
|
||||
- sleep # Input: asserted transitions device to Sleep
|
||||
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
properties:
|
||||
port@0:
|
||||
$ref: audio-graph-port.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Standard audio playback port (DAI 0).
|
||||
|
||||
port@1:
|
||||
$ref: audio-graph-port.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Low-latency playback port (LLP) (DAI 1).
|
||||
|
||||
port@2:
|
||||
$ref: audio-graph-port.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Sensory feedback capture port (DAI 2).
|
||||
|
||||
port:
|
||||
$ref: audio-graph-port.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- '#sound-dai-cells'
|
||||
- dvdd-supply
|
||||
- pvdd-supply
|
||||
|
||||
anyOf:
|
||||
- required: [powerdown-gpios]
|
||||
- required: [standby-gpios]
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
amplifier@70 {
|
||||
compatible = "ti,tas67524";
|
||||
reg = <0x70>;
|
||||
#sound-dai-cells = <1>;
|
||||
sound-name-prefix = "TAS0";
|
||||
|
||||
standby-gpios = <&main_gpio0 33 GPIO_ACTIVE_LOW>;
|
||||
|
||||
dvdd-supply = <&dvdd_1v8>;
|
||||
pvdd-supply = <&pvdd_12v>;
|
||||
vbat-supply = <&vbat_12v>;
|
||||
|
||||
ti,audio-slot-no = <0>;
|
||||
ti,llp-slot-no = <4>;
|
||||
ti,vpredict-slot-no = <0>;
|
||||
ti,isense-slot-no = <4>;
|
||||
|
||||
ti,gpio2-function = "warn";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
tas0_audio_ep: endpoint {
|
||||
dai-format = "dsp_b";
|
||||
remote-endpoint = <&be_tas0_audio_ep>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
tas0_anc_ep: endpoint {
|
||||
remote-endpoint = <&be_tas0_anc_ep>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
|
||||
tas0_fb_ep: endpoint {
|
||||
remote-endpoint = <&be_tas0_fb_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user