281 lines
9.6 KiB
YAML
281 lines
9.6 KiB
YAML
# 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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|