TAS675x Codec Mixer Controls¶
This document describes the ALSA mixer controls for the TAS675x 4-channel amplifier driver.
For device tree bindings, see: Documentation/devicetree/bindings/sound/ti,tas67524.yaml
DSP Signal Path Mode¶
DSP Signal Path Mode¶
- Description
Signal processing mode selection.
- Type
Enumerated
- Default
Normal
- Options
Normal, LLP, FFLP
- Register
0x32 bits [1:0]
- Normal
Full DSP with all features available.
- LLP (Low Latency Path)
Bypasses DSP processing. DSP protection features (Thermal Foldback, PVDD Foldback, Clip Detect) and Real-Time Load Diagnostics unavailable.
- FFLP (Full Feature Low Latency Path)
Reduced latency. Real-Time Load Diagnostics unavailable.
The following controls are unavailable in LLP mode:
Thermal Foldback Switch, PVDD Foldback Switch,
DC Blocker Bypass Switch, Clip Detect Switch, Audio SDOUT Switch.
The following controls require Normal mode (unavailable in FFLP and LLP):
CHx RTLDG Switch, RTLDG Clip Mask Switch, ISENSE Calibration Switch,
RTLDG Open Load Threshold, RTLDG Short Load Threshold,
CHx RTLDG Impedance.
Volume Controls¶
Analog Playback Volume¶
- Description
Analog output gain for all channels (CH1/CH2 and CH3/CH4 pairs).
- Type
Volume (TLV)
- Default
0 dB
- Range
-15.5 dB to 0 dB (0.5 dB steps)
- Register
0x4A (CH1/CH2), 0x4B (CH3/CH4)
Analog Gain Ramp Step¶
- Description
Anti-pop ramp step duration for analog gain transitions.
- Type
Enumerated
- Default
15us
- Options
15us, 60us, 200us, 400us
- Register
0x4E bits [3:2]
CHx Digital Playback Volume¶
- Description
Per-channel digital volume control (x = 1, 2, 3, 4).
- Type
Volume (TLV)
- Default
0 dB
- Range
-103 dB to 0 dB (0.5 dB steps)
- Bounds
0x30 (min/mute) to 0xFF (max)
- Register
0x40 (CH1), 0x41 (CH2), 0x42 (CH3), 0x43 (CH4)
Volume Ramp Down Rate¶
- Description
Update frequency during mute transition.
- Type
Enumerated
- Default
16 FS
- Options
4 FS, 16 FS, 32 FS, Instant
- Register
0x44 bits [7:6]
Volume Ramp Down Step¶
- Description
dB change per update during mute.
- Type
Enumerated
- Default
0.5dB
- Options
4dB, 2dB, 1dB, 0.5dB
- Register
0x44 bits [5:4]
Volume Ramp Up Rate¶
- Description
Update frequency during unmute transition.
- Type
Enumerated
- Default
16 FS
- Options
4 FS, 16 FS, 32 FS, Instant
- Register
0x44 bits [3:2]
Volume Ramp Up Step¶
- Description
dB change per update during unmute.
- Type
Enumerated
- Default
0.5dB
- Options
4dB, 2dB, 1dB, 0.5dB
- Register
0x44 bits [1:0]
CH1/2 Volume Combine¶
- Description
Links digital volume controls for CH1 and CH2.
- Type
Enumerated
- Default
Independent
- Options
Independent, CH2 follows CH1, CH1 follows CH2
- Register
0x46 bits [1:0]
CH3/4 Volume Combine¶
- Description
Links digital volume controls for CH3 and CH4.
- Type
Enumerated
- Default
Independent
- Options
Independent, CH4 follows CH3, CH3 follows CH4
- Register
0x46 bits [3:2]
Auto Mute & Silence Detection¶
CHx Auto Mute Switch¶
- Description
Enables automatic muting on zero-signal detection (x = 1, 2, 3, 4).
- Type
Boolean Switch
- Default
Disabled (0)
- Register
0x47 bit [0] (CH1), bit [1] (CH2), bit [2] (CH3), bit [3] (CH4)
Auto Mute Combine Switch¶
- Description
Coordinated muting behaviour across all channels.
- Type
Boolean Switch
- Default
Disabled (0)
- Behavior
Disabled: channels mute independently when their signal is zero. Enabled: all channels mute together only when all detect zero signal; unmute when any channel has non-zero signal.
- Register
0x47 bit [4]
CHx Auto Mute Time¶
- Description
Duration of zero signal before muting triggers (x = 1, 2, 3, 4).
- Type
Enumerated
- Default
11.5ms
- Options
11.5ms, 53ms, 106.5ms, 266.5ms, 535ms, 1065ms, 2665ms, 5330ms
- Register
0x48 bits [7:4] (CH1), bits [3:0] (CH2), 0x49 bits [7:4] (CH3), bits [3:0] (CH4)
- Note
Values are at 96 kHz. At 48 kHz, times are doubled.
Clock & EMI Management¶
Spread Spectrum Mode¶
- Description
Frequency dithering mode to reduce peak EMI.
- Type
Enumerated
- Default
Disabled
- Options
Disabled, Triangle, Random, Triangle and Random
- Register
0x61 bits [1:0]
SS Triangle Range¶
- Description
Frequency deviation range for Triangle spread spectrum.
- Type
Enumerated
- Default
6.5%
- Options
6.5%, 13.5%, 5%, 10%
- Register
0x62 bits [1:0]
- Note
Applies only when Spread Spectrum Mode includes Triangle.
SS Random Range¶
- Description
Frequency deviation range for Random spread spectrum.
- Type
Enumerated
- Default
0.83%
- Options
0.83%, 2.50%, 5.83%, 12.50%, 25.83%
- Register
0x62 bits [6:4]
- Note
Applies only when Spread Spectrum Mode includes Random.
SS Random Dwell Range¶
- Description
Dwell time range for Random spread spectrum (FSS = spread spectrum modulation frequency).
- Type
Enumerated
- Default
1/FSS to 2/FSS
- Options
1/FSS to 2/FSS, 1/FSS to 4/FSS, 1/FSS to 8/FSS, 1/FSS to 15/FSS
- Register
0x62 bits [3:2]
- Note
Applies only when Spread Spectrum Mode includes Random.
SS Triangle Dwell Min¶
- Description
Minimum dwell time at Triangle spread spectrum frequency extremes.
- Type
Integer
- Default
0
- Range
0 to 15 (0 = feature disabled)
- Register
0x66 bits [7:4]
- Note
Counts in FSS clock cycles. The modulator holds the extreme frequency for at least this many FSS cycles before reversing. When Dwell Min equals Dwell Max, the dwell feature is inactive. For FSS values at each PWM frequency refer to the “Spread Spectrum” section of the TRM.
SS Triangle Dwell Max¶
- Description
Maximum dwell time at Triangle spread spectrum frequency extremes.
- Type
Integer
- Default
0
- Range
0 to 15 (0 = feature disabled)
- Register
0x66 bits [3:0]
- Note
Counts in FSS clock cycles. Must be >= Dwell Min. When Dwell Max equals Dwell Min, the dwell feature is inactive.
Hardware Protection¶
OTSD Auto Recovery Switch¶
- Description
Enables automatic recovery from over-temperature shutdown.
- Type
Boolean Switch
- Default
Disabled (0)
- Register
0x8F bit [1]
- Note
When disabled, manual fault clearing is required after OTSD events.
Overcurrent Limit Level¶
- Description
Current-limit trip point sensitivity.
- Type
Enumerated
- Default
Level 4
- Options
Level 4, Level 3, Level 2, Level 1
- Register
0x55 bits [1:0]
- Note
Level 4 is the least sensitive (highest trip current); Level 1 is the most sensitive. The exact ILIM values depend on operating conditions (PVDD voltage, switching frequency, and temperature). Refer to the Electrical Characteristics table and the “Overcurrent Limit (Cycle-By-Cycle)” section of the TRM.
CHx OTW Threshold¶
- Description
Over-temperature warning threshold per channel (x = 1, 2, 3, 4).
- Type
Enumerated
- Default
>95C
- Options
Disabled, >95C, >110C, >125C, >135C, >145C, >155C, >165C
- Register
0xE2 bits [6:4] (CH1), bits [2:0] (CH2), 0xE3 bits [6:4] (CH3), bits [2:0] (CH4)
Temperature and Voltage Monitoring¶
PVDD Sense¶
- Description
Supply voltage sense register.
- Type
Integer (read-only)
- Range
0 to 255
- Conversion
value × 0.19 V
- Register
0x74
Global Temperature¶
- Description
Global die temperature sense register.
- Type
Integer (read-only)
- Range
0 to 255
- Conversion
value × 2.19 K; subtract 273.15 for °C
- Register
0x75
CHx Temperature Range¶
- Description
Per-channel coarse temperature range indicator (x = 1, 2, 3, 4).
- Type
Integer (read-only)
- Range
0 to 7
- Mapping
0 = <95 °C, 1 = 95–110 °C, 2 = 110–125 °C, 3 = 125–135 °C, 4 = 135–145 °C, 5 = 145–155 °C, 6 = 155–165 °C, 7 = >165 °C
- Register
0xBB bits [2:0] (CH1), bits [5:3] (CH2), 0xBC bits [2:0] (CH3), bits [5:3] (CH4)
Load Diagnostics¶
The TAS675x provides three load diagnostic modes:
- DC Load Diagnostics (DC LDG)
Measures DC resistance to detect S2G (short-to-ground), S2P (short-to-power), OL (open load), and SL (shorted load) faults.
- AC Load Diagnostics (AC LDG)
Measures complex AC impedance at a configurable frequency. Detects capacitive loads and tweeter configurations.
- Real-Time Load Diagnostics (RTLDG)
Monitors impedance continuously during playback using a pilot tone. Normal DSP mode only, at 48 kHz or 96 kHz.
Fast Boot Mode¶
By default the device runs DC load diagnostics at initialization before
accepting audio. Setting ti,fast-boot in the device tree bypasses this
initial diagnostic run for faster startup. Automatic diagnostics after
fault recovery remain enabled.
DC Load Diagnostics¶
The CHx DC LDG Report 4-bit fault field uses the following encoding:
Bit
Fault
Description
[3]
S2G
Short-to-Ground
[2]
S2P
Short-to-Power
[1]
OL
Open Load
[0]
SL
Shorted Load
DC LDG Trigger¶
- Description
Triggers manual DC load diagnostics on all channels.
- Type
Boolean (write-only)
- Note
Returns -EBUSY if any DAI stream (playback or capture) is active. The driver manages all channel state transitions. Blocks until diagnostics complete or time out (300 ms).
DC LDG Auto Diagnostics Switch¶
- Description
Enables automatic DC diagnostics after fault recovery.
- Type
Boolean Switch
- Default
Enabled (1)
- Register
0xB0 bit [0]
- Note
Active-low, when enabled, affected channels re-run diagnostics after fault recovery and retry approximately every 750 ms until resolved.
CHx LO LDG Switch¶
- Description
Enables line output load detection per channel (x = 1, 2, 3, 4).
- Type
Boolean Switch
- Default
Disabled (0)
- Register
0xB1 bit [3] (CH1), bit [2] (CH2), bit [1] (CH3), bit [0] (CH4)
- Note
When enabled and DC diagnostics report OL, the device tests for a high-impedance line output load.
DC LDG SLOL Ramp Time¶
- Description
Voltage ramp time for shorted-load and open-load detection.
- Type
Enumerated
- Default
15 ms
- Options
15 ms, 30 ms, 10 ms, 20 ms
- Register
0xB2 bits [7:6]
DC LDG SLOL Settling Time¶
- Description
Settling time for shorted-load and open-load detection.
- Type
Enumerated
- Default
10 ms
- Options
10 ms, 5 ms, 20 ms, 15 ms
- Register
0xB2 bits [5:4]
DC LDG S2PG Ramp Time¶
- Description
Voltage ramp time for short-to-power and short-to-ground detection.
- Type
Enumerated
- Default
5 ms
- Options
5 ms, 2.5 ms, 10 ms, 15 ms
- Register
0xB2 bits [3:2]
DC LDG S2PG Settling Time¶
- Description
Settling time for short-to-power and short-to-ground detection.
- Type
Enumerated
- Default
10 ms
- Options
10 ms, 5 ms, 20 ms, 30 ms
- Register
0xB2 bits [1:0]
CHx DC LDG SL Threshold¶
- Description
Shorted-load detection threshold per channel (x = 1, 2, 3, 4).
- Type
Enumerated
- Default
1 Ohm
- Options
0.5 Ohm, 1 Ohm, 1.5 Ohm, 2 Ohm, 2.5 Ohm, 3 Ohm, 3.5 Ohm, 4 Ohm, 4.5 Ohm, 5 Ohm
- Register
0xB3 bits [7:4] (CH1), bits [3:0] (CH2), 0xB4 bits [7:4] (CH3), bits [3:0] (CH4)
DC LDG Result¶
- Description
Overall DC diagnostic result register.
- Type
Integer (read-only)
- Range
0x00 to 0xFF
- Register
0xC2
- Bit Encoding
Bits
Description
[7:4]
Line output detection result, one bit per channel
[3:0]
DC diagnostic pass/fail per channel (1=pass, 0=fail)
CHx DC LDG Report¶
- Description
DC diagnostic fault status per channel (x = 1, 2, 3, 4).
- Type
Integer (read-only)
- Range
0x0 to 0xF
- Register
0xC0 bits [7:4] (CH1), bits [3:0] (CH2), 0xC1 bits [7:4] (CH3), bits [3:0] (CH4)
- Note
See fault bit encoding table at the start of this section.
CHx LO LDG Report¶
- Description
Line output load detection result per channel (x = 1, 2, 3, 4).
- Type
Boolean (read-only)
- Values
0 = not detected, 1 = line output load detected
- Register
0xC2 bit [7] (CH1), bit [6] (CH2), bit [5] (CH3), bit [4] (CH4)
CHx DC Resistance¶
- Description
Measured DC load resistance per channel (x = 1, 2, 3, 4).
- Type
Float (read-only, displayed in ohms)
- Resolution
0.1 ohm per code (10-bit value)
- Range
0.0 to 102.3 ohms
- Register
0xD9 bits [7:6]/[5:4]/[3:2]/[1:0] (MSB for CH1–CH4), 0xDA (CH1 LSB), 0xDB (CH2 LSB), 0xDC (CH3 LSB), 0xDD (CH4 LSB)
AC Load Diagnostics¶
AC LDG Trigger¶
- Description
Triggers AC impedance measurement on all channels.
- Type
Boolean (write-only)
- Note
Returns -EBUSY if any DAI stream (playback or capture) is active. The driver transitions all channels to SLEEP state before starting the measurement. Blocks until diagnostics complete or time out.
AC LDG Gain¶
- Description
Measurement resolution for AC diagnostics.
- Type
Boolean Switch
- Default
1 (Gain 8)
- Values
0 = 0.8 ohm/code (Gain 1), 1 = 0.1 ohm/code (Gain 8)
- Register
0xB5 bit [4]
- Note
Gain 8 recommended for load impedances below 8 ohms.
AC LDG Test Frequency¶
- Description
Test signal frequency for AC impedance measurement.
- Type
Integer
- Default
200 (0xC8 = 18.75 kHz)
- Range
0x01 to 0xFF (0x00 reserved)
- Formula
Frequency = 93.75 Hz × register value
- Register
0xB8
CHx AC LDG Real / CHx AC LDG Imag¶
- Description
Real and imaginary AC impedance components per channel (x = 1, 2, 3, 4).
- Type
Integer (read-only)
- Range
0x00 to 0xFF (8-bit signed)
- Register
0xC3 (CH1 Real), 0xC4 (CH1 Imag), 0xC5 (CH2 Real), 0xC6 (CH2 Imag), 0xC7 (CH3 Real), 0xC8 (CH3 Imag), 0xC9 (CH4 Real), 0xCA (CH4 Imag)
- Note
Scale set by AC LDG Gain.
Speaker Protection & Detection¶
Tweeter Detection Switch¶
- Description
Enables tweeter detection using the AC impedance magnitude comparator.
- Type
Boolean Switch
- Default
Enabled (1)
- Register
0xB6 bit [0]
- Note
The underlying register bit is TWEETER DETECT DISABLE (active-low). Control value 1 = detection enabled (register bit 0), 0 = disabled (register bit 1).
Tweeter Detect Threshold¶
- Description
Magnitude threshold for tweeter detection.
- Type
Integer
- Default
0
- Range
0x00 to 0xFF
- Resolution
0.8 ohm/code (AC LDG Gain=0) or 0.1 ohm/code (AC LDG Gain=1)
- Register
0xB7
CHx Tweeter Detect Report¶
- Description
Tweeter detection result per channel (x = 1, 2, 3, 4).
- Type
Boolean (read-only)
- Values
0 = no tweeter detected, 1 = tweeter detected
- Register
0xCB bit [3] (CH1), bit [2] (CH2), bit [1] (CH3), bit [0] (CH4)
DSP Protection Features¶
These controls are unavailable in LLP mode.
Thermal Foldback Switch¶
- Description
Enables dynamic gain reduction based on die temperature.
- Type
Boolean Switch
- Default
Disabled (0)
- Register
0x3A bit [0]
PVDD Foldback Switch¶
- Description
Enables automatic gain limiting when supply voltage drops (Automatic Gain Limiter).
- Type
Boolean Switch
- Default
Disabled (0)
- Register
0x3A bit [4]
DC Blocker Bypass Switch¶
- Description
Bypasses the DC-blocking high-pass filter.
- Type
Boolean Switch
- Default
Not bypassed (0)
- Register
0x39 bit [0]
Clip Detect Switch¶
- Description
Enables DSP-based clip detection (Pseudo-Analog Clip Detect).
- Type
Boolean Switch
- Default
Disabled (0)
- Register
0x93 bit [6]
Audio SDOUT Switch¶
- Description
Routes post-processed audio to the SDOUT pin instead of Vpredict data.
- Type
Boolean Switch
- Default
Disabled (0)
- Register
0x3A bit [5]
- Note
When enabled, replaces Vpredict data on SDOUT with post-processed SDIN. All SDOUT configurations that apply to Vpredict also apply to SDIN-to-SDOUT transmission.
Real-Time Load Diagnostics¶
These controls require Normal DSP mode at 48 kHz or 96 kHz. They are unavailable at 192 kHz and in FFLP and LLP modes.
CHx RTLDG Switch¶
- Description
Enables real-time impedance monitoring during playback (x = 1, 2, 3, 4).
- Type
Boolean Switch
- Default
Disabled (0)
- Register
0x37 bit [3] (CH1), bit [2] (CH2), bit [1] (CH3), bit [0] (CH4)
RTLDG Clip Mask Switch¶
- Description
Suppresses impedance updates during clipping events.
- Type
Boolean Switch
- Default
Enabled (1)
- Register
0x37 bit [4]
ISENSE Calibration Switch¶
- Description
Enables current sense calibration for accurate impedance measurements.
- Type
Boolean Switch
- Default
Disabled (0)
- Register
0x5B bit [3]
RTLDG Open Load Threshold¶
- Description
DSP coefficient for open load fault detection threshold.
- Type
DSP coefficient (extended control)
- Register
DSP Book 0x8C, page 0x22, 0x98
RTLDG Short Load Threshold¶
- Description
DSP coefficient for shorted load fault detection threshold.
- Type
DSP coefficient (extended control)
- Register
DSP Book 0x8C, page 0x22, 0x9C
CHx RTLDG Impedance¶
- Description
Real-time load impedance per channel (x = 1, 2, 3, 4).
- Type
Float (read-only, displayed in ohms)
- Register
0xD1–0xD2 (CH1), 0xD3–0xD4 (CH2), 0xD5–0xD6 (CH3), 0xD7–0xD8 (CH4)
- Note
Valid only during PLAY state with RTLDG enabled at 48 or 96 kHz. Holds stale data in SLEEP, MUTE, or Hi-Z states.
Fault Monitoring¶
The driver monitors faults via IRQ or periodic polling (fallback when
no interrupts DT property is present). Detected faults are logged
and cleared so affected channels can recover.
Kernel log messages use the format:
tas675x <addr>: <Name> Latched: 0x<value>
Critical faults are logged at CRIT level; warnings at WARN.
The following fault registers are monitored:
Critical Faults¶
These faults place affected channels into the FAULT state. The driver issues fault clear (register 0x01 bit 3) to allow recovery.
Overtemperature Shutdown (0x87)¶
Bits
Description
[4]
Global OTSD
[3:0]
CH1-CH4 OTSD respectively
Fires when die temperature exceeds the OTSD threshold. If auto-recovery
is enabled (OTSD Auto Recovery Switch), channels return to their
previous state after cooling. Otherwise fault clear is required.
Overcurrent / DC Fault (0x8E)¶
Bits
Description
[7:4]
Overcurrent Shutdown, CH1-CH4 respectively
[3:0]
DC Fault, CH1-CH4 respectively
Overcurrent shutdown occurs when output current reaches the shutdown threshold (e.g. output short to GND). DC fault fires when DC offset exceeds the DCFAULT threshold.
Real-Time Load Diagnostic Fault (0x8B)¶
Bits
Description
[7:4]
Shorted Load faults, CH1-CH4 respectively
[3:0]
Open Load faults, CH1-CH4 respectively
Reported during playback when RTLDG detects impedance outside the configured open/short thresholds. Requires RTLDG and current sense to be enabled, and a sampling rate of 48 kHz or 96 kHz.
CBC Fault/Warning (0x8D)¶
Bits
Description
[7:4]
Load current warning, CH1-CH4 respectively
[3:0]
Load current fault, CH1-CH4 respectively
Cycle-by-cycle current limiting events. A warning fires when the current limit is active for at least 25% of a 21.3 ms window. A fault fires if the warning persists for 170.4 ms continuously.
Warnings¶
These conditions are logged but do not place channels into FAULT state. Corresponding register bits are cleared when read. Nonetheless, the driver still clears all events as warnings also latch the (mapped) FAULT pin.
Power Fault (0x86)¶
Bits
Description
[7]
DVDD Power-On-Reset
[4]
DVDD Undervoltage
[3]
PVDD Overvoltage
[2]
VBAT Overvoltage
[1]
PVDD Undervoltage
[0]
VBAT Undervoltage
Supply-related events. DVDD POR at bit 7 is expected after every power-up and can be ignored.
CP / OUTM Soft Short Fault (0x7D)¶
Bits
Description
[5:2]
OUTM soft short, CH4-CH1 respectively
[1]
Charge Pump UVLO (latched)
[0]
Charge Pump UVLO (unlatched/live status)
Per-channel out_minus soft short faults and charge pump undervoltage lockout.
Clock Fault (0x8A)¶
Bits
Description
[0]
Clock error
Fires on clock halt or unsupported SCLK/FSYNC ratio. Only logged when a stream is active (suppressed during idle to avoid noise from normal stream stop/start transitions). See Clock Fault Behaviour below.
Overtemperature Warning (0x88)¶
Bits
Description
[4]
Global OTW
[3:0]
CH1-CH4 OTW respectively
Fires when temperature crosses the OTW threshold. The device continues to operate. Only logged on change to avoid log spam.
Clip Warning (0x89)¶
Bits
Description
[3:0]
CH1-CH4 clip detected respectively
Fires when the audio signal magnitude exceeds the clip detection threshold. Requires Clip Detect to be enabled. Only logged when a stream is active.
Driver Known Limitations¶
Clock Fault Behaviour¶
On Stream Stop¶
Every time a playback stream stops the FAULT pin briefly asserts. The
ASoC PCM trigger stop sequence calls DAIs in reverse order, so the CPU
DAI stops SCLK before the codec can transition to sleep. The device
detects the clock halt and latches CLK_FAULT_LATCHED, which asserts
the FAULT pin. The driver clears the latch in the mute_stream
callback that follows, so the FAULT pin flicker lasts only a few
milliseconds. Audio output is not affected and no kernel log message
is produced.
On Rapid Rate Switching¶
When streams are started in rapid succession, an intermittent
Clock Fault Latched: 0x01 message may appear in the kernel log.
A (conservative) ~0.5 second gap between sessions eliminates this.
References¶
TAS675x Technical Reference Manual: SLOU589A
Device Tree Bindings: Documentation/devicetree/bindings/sound/ti,tas67524.yaml
ALSA Control Name Conventions: Standard ALSA Control Names