xref: /linux/Documentation/sound/codecs/tas675x.rst (revision fab183d632628381b466a41479489541ac0e29a0)
1ba46edcaSSen Wang.. SPDX-License-Identifier: GPL-2.0
2ba46edcaSSen Wang
3ba46edcaSSen Wang======================================
4ba46edcaSSen WangTAS675x Codec Mixer Controls
5ba46edcaSSen Wang======================================
6ba46edcaSSen Wang
7ba46edcaSSen WangThis document describes the ALSA mixer controls for the TAS675x
8ba46edcaSSen Wang4-channel amplifier driver.
9ba46edcaSSen Wang
10ba46edcaSSen WangFor device tree bindings, see:
11ba46edcaSSen WangDocumentation/devicetree/bindings/sound/ti,tas67524.yaml
12ba46edcaSSen Wang
13ba46edcaSSen WangDSP Signal Path Mode
14ba46edcaSSen Wang====================
15ba46edcaSSen Wang
16ba46edcaSSen WangDSP Signal Path Mode
17ba46edcaSSen Wang--------------------
18ba46edcaSSen Wang
19ba46edcaSSen Wang:Description: Signal processing mode selection.
20ba46edcaSSen Wang:Type:        Enumerated
21ba46edcaSSen Wang:Default:     Normal
22ba46edcaSSen Wang:Options:     Normal, LLP, FFLP
23ba46edcaSSen Wang:Register:    0x32 bits [1:0]
24ba46edcaSSen Wang
25ba46edcaSSen WangNormal
26ba46edcaSSen Wang  Full DSP with all features available.
27ba46edcaSSen Wang
28ba46edcaSSen WangLLP (Low Latency Path)
29ba46edcaSSen Wang  Bypasses DSP processing. DSP protection features (Thermal Foldback,
30ba46edcaSSen Wang  PVDD Foldback, Clip Detect) and Real-Time Load Diagnostics unavailable.
31ba46edcaSSen Wang
32ba46edcaSSen WangFFLP (Full Feature Low Latency Path)
33ba46edcaSSen Wang  Reduced latency. Real-Time Load Diagnostics unavailable.
34ba46edcaSSen Wang
35ba46edcaSSen WangThe following controls are unavailable in LLP mode:
36ba46edcaSSen Wang``Thermal Foldback Switch``, ``PVDD Foldback Switch``,
37ba46edcaSSen Wang``DC Blocker Bypass Switch``, ``Clip Detect Switch``, ``Audio SDOUT Switch``.
38ba46edcaSSen Wang
39ba46edcaSSen WangThe following controls require Normal mode (unavailable in FFLP and LLP):
40ba46edcaSSen Wang``CHx RTLDG Switch``, ``RTLDG Clip Mask Switch``, ``ISENSE Calibration Switch``,
41ba46edcaSSen Wang``RTLDG Open Load Threshold``, ``RTLDG Short Load Threshold``,
42ba46edcaSSen Wang``CHx RTLDG Impedance``.
43ba46edcaSSen Wang
44ba46edcaSSen WangVolume Controls
45ba46edcaSSen Wang===============
46ba46edcaSSen Wang
47ba46edcaSSen WangAnalog Playback Volume
48ba46edcaSSen Wang----------------------
49ba46edcaSSen Wang
50ba46edcaSSen Wang:Description: Analog output gain for all channels (CH1/CH2 and CH3/CH4 pairs).
51ba46edcaSSen Wang:Type:        Volume (TLV)
52ba46edcaSSen Wang:Default:     0 dB
53ba46edcaSSen Wang:Range:       -15.5 dB to 0 dB (0.5 dB steps)
54ba46edcaSSen Wang:Register:    0x4A (CH1/CH2), 0x4B (CH3/CH4)
55ba46edcaSSen Wang
56ba46edcaSSen WangAnalog Gain Ramp Step
57ba46edcaSSen Wang---------------------
58ba46edcaSSen Wang
59ba46edcaSSen Wang:Description: Anti-pop ramp step duration for analog gain transitions.
60ba46edcaSSen Wang:Type:        Enumerated
61ba46edcaSSen Wang:Default:     15us
62ba46edcaSSen Wang:Options:     15us, 60us, 200us, 400us
63ba46edcaSSen Wang:Register:    0x4E bits [3:2]
64ba46edcaSSen Wang
65ba46edcaSSen WangCHx Digital Playback Volume
66ba46edcaSSen Wang---------------------------
67ba46edcaSSen Wang
68ba46edcaSSen Wang:Description: Per-channel digital volume control (x = 1, 2, 3, 4).
69ba46edcaSSen Wang:Type:        Volume (TLV)
70ba46edcaSSen Wang:Default:     0 dB
71ba46edcaSSen Wang:Range:       -103 dB to 0 dB (0.5 dB steps)
72ba46edcaSSen Wang:Bounds:      0x30 (min/mute) to 0xFF (max)
73ba46edcaSSen Wang:Register:    0x40 (CH1), 0x41 (CH2), 0x42 (CH3), 0x43 (CH4)
74ba46edcaSSen Wang
75ba46edcaSSen WangVolume Ramp Down Rate
76ba46edcaSSen Wang---------------------
77ba46edcaSSen Wang
78ba46edcaSSen Wang:Description: Update frequency during mute transition.
79ba46edcaSSen Wang:Type:        Enumerated
80ba46edcaSSen Wang:Default:     16 FS
81ba46edcaSSen Wang:Options:     4 FS, 16 FS, 32 FS, Instant
82ba46edcaSSen Wang:Register:    0x44 bits [7:6]
83ba46edcaSSen Wang
84ba46edcaSSen WangVolume Ramp Down Step
85ba46edcaSSen Wang---------------------
86ba46edcaSSen Wang
87ba46edcaSSen Wang:Description: dB change per update during mute.
88ba46edcaSSen Wang:Type:        Enumerated
89ba46edcaSSen Wang:Default:     0.5dB
90ba46edcaSSen Wang:Options:     4dB, 2dB, 1dB, 0.5dB
91ba46edcaSSen Wang:Register:    0x44 bits [5:4]
92ba46edcaSSen Wang
93ba46edcaSSen WangVolume Ramp Up Rate
94ba46edcaSSen Wang-------------------
95ba46edcaSSen Wang
96ba46edcaSSen Wang:Description: Update frequency during unmute transition.
97ba46edcaSSen Wang:Type:        Enumerated
98ba46edcaSSen Wang:Default:     16 FS
99ba46edcaSSen Wang:Options:     4 FS, 16 FS, 32 FS, Instant
100ba46edcaSSen Wang:Register:    0x44 bits [3:2]
101ba46edcaSSen Wang
102ba46edcaSSen WangVolume Ramp Up Step
103ba46edcaSSen Wang-------------------
104ba46edcaSSen Wang
105ba46edcaSSen Wang:Description: dB change per update during unmute.
106ba46edcaSSen Wang:Type:        Enumerated
107ba46edcaSSen Wang:Default:     0.5dB
108ba46edcaSSen Wang:Options:     4dB, 2dB, 1dB, 0.5dB
109ba46edcaSSen Wang:Register:    0x44 bits [1:0]
110ba46edcaSSen Wang
111ba46edcaSSen WangCH1/2 Volume Combine
112ba46edcaSSen Wang--------------------
113ba46edcaSSen Wang
114ba46edcaSSen Wang:Description: Links digital volume controls for CH1 and CH2.
115ba46edcaSSen Wang:Type:        Enumerated
116ba46edcaSSen Wang:Default:     Independent
117ba46edcaSSen Wang:Options:     Independent, CH2 follows CH1, CH1 follows CH2
118ba46edcaSSen Wang:Register:    0x46 bits [1:0]
119ba46edcaSSen Wang
120ba46edcaSSen WangCH3/4 Volume Combine
121ba46edcaSSen Wang--------------------
122ba46edcaSSen Wang
123ba46edcaSSen Wang:Description: Links digital volume controls for CH3 and CH4.
124ba46edcaSSen Wang:Type:        Enumerated
125ba46edcaSSen Wang:Default:     Independent
126ba46edcaSSen Wang:Options:     Independent, CH4 follows CH3, CH3 follows CH4
127ba46edcaSSen Wang:Register:    0x46 bits [3:2]
128ba46edcaSSen Wang
129ba46edcaSSen WangAuto Mute & Silence Detection
130ba46edcaSSen Wang==============================
131ba46edcaSSen Wang
132ba46edcaSSen WangCHx Auto Mute Switch
133ba46edcaSSen Wang--------------------
134ba46edcaSSen Wang
135ba46edcaSSen Wang:Description: Enables automatic muting on zero-signal detection (x = 1, 2, 3, 4).
136ba46edcaSSen Wang:Type:        Boolean Switch
137ba46edcaSSen Wang:Default:     Disabled (0)
138ba46edcaSSen Wang:Register:    0x47 bit [0] (CH1), bit [1] (CH2), bit [2] (CH3), bit [3] (CH4)
139ba46edcaSSen Wang
140ba46edcaSSen WangAuto Mute Combine Switch
141ba46edcaSSen Wang------------------------
142ba46edcaSSen Wang
143ba46edcaSSen Wang:Description: Coordinated muting behaviour across all channels.
144ba46edcaSSen Wang:Type:        Boolean Switch
145ba46edcaSSen Wang:Default:     Disabled (0)
146ba46edcaSSen Wang:Behavior:    Disabled: channels mute independently when their signal is zero.
147ba46edcaSSen Wang              Enabled: all channels mute together only when all detect zero
148ba46edcaSSen Wang              signal; unmute when any channel has non-zero signal.
149ba46edcaSSen Wang:Register:    0x47 bit [4]
150ba46edcaSSen Wang
151ba46edcaSSen WangCHx Auto Mute Time
152ba46edcaSSen Wang------------------
153ba46edcaSSen Wang
154ba46edcaSSen Wang:Description: Duration of zero signal before muting triggers (x = 1, 2, 3, 4).
155ba46edcaSSen Wang:Type:        Enumerated
156ba46edcaSSen Wang:Default:     11.5ms
157ba46edcaSSen Wang:Options:     11.5ms, 53ms, 106.5ms, 266.5ms, 535ms, 1065ms, 2665ms, 5330ms
158ba46edcaSSen Wang:Register:    0x48 bits [7:4] (CH1), bits [3:0] (CH2),
159ba46edcaSSen Wang              0x49 bits [7:4] (CH3), bits [3:0] (CH4)
160ba46edcaSSen Wang:Note:        Values are at 96 kHz. At 48 kHz, times are doubled.
161ba46edcaSSen Wang
162ba46edcaSSen WangClock & EMI Management
163ba46edcaSSen Wang======================
164ba46edcaSSen Wang
165ba46edcaSSen WangSpread Spectrum Mode
166ba46edcaSSen Wang--------------------
167ba46edcaSSen Wang
168ba46edcaSSen Wang:Description: Frequency dithering mode to reduce peak EMI.
169ba46edcaSSen Wang:Type:        Enumerated
170ba46edcaSSen Wang:Default:     Disabled
171ba46edcaSSen Wang:Options:     Disabled, Triangle, Random, Triangle and Random
172ba46edcaSSen Wang:Register:    0x61 bits [1:0]
173ba46edcaSSen Wang
174ba46edcaSSen WangSS Triangle Range
175ba46edcaSSen Wang-----------------
176ba46edcaSSen Wang
177ba46edcaSSen Wang:Description: Frequency deviation range for Triangle spread spectrum.
178ba46edcaSSen Wang:Type:        Enumerated
179ba46edcaSSen Wang:Default:     6.5%
180ba46edcaSSen Wang:Options:     6.5%, 13.5%, 5%, 10%
181ba46edcaSSen Wang:Register:    0x62 bits [1:0]
182ba46edcaSSen Wang:Note:        Applies only when Spread Spectrum Mode includes Triangle.
183ba46edcaSSen Wang
184ba46edcaSSen WangSS Random Range
185ba46edcaSSen Wang---------------
186ba46edcaSSen Wang
187ba46edcaSSen Wang:Description: Frequency deviation range for Random spread spectrum.
188ba46edcaSSen Wang:Type:        Enumerated
189ba46edcaSSen Wang:Default:     0.83%
190ba46edcaSSen Wang:Options:     0.83%, 2.50%, 5.83%, 12.50%, 25.83%
191ba46edcaSSen Wang:Register:    0x62 bits [6:4]
192ba46edcaSSen Wang:Note:        Applies only when Spread Spectrum Mode includes Random.
193ba46edcaSSen Wang
194ba46edcaSSen WangSS Random Dwell Range
195ba46edcaSSen Wang---------------------
196ba46edcaSSen Wang
197ba46edcaSSen Wang:Description: Dwell time range for Random spread spectrum (FSS = spread
198ba46edcaSSen Wang              spectrum modulation frequency).
199ba46edcaSSen Wang:Type:        Enumerated
200ba46edcaSSen Wang:Default:     1/FSS to 2/FSS
201ba46edcaSSen Wang:Options:     1/FSS to 2/FSS, 1/FSS to 4/FSS, 1/FSS to 8/FSS, 1/FSS to 15/FSS
202ba46edcaSSen Wang:Register:    0x62 bits [3:2]
203ba46edcaSSen Wang:Note:        Applies only when Spread Spectrum Mode includes Random.
204ba46edcaSSen Wang
205ba46edcaSSen WangSS Triangle Dwell Min
206ba46edcaSSen Wang---------------------
207ba46edcaSSen Wang
208ba46edcaSSen Wang:Description: Minimum dwell time at Triangle spread spectrum frequency extremes.
209ba46edcaSSen Wang:Type:        Integer
210ba46edcaSSen Wang:Default:     0
211ba46edcaSSen Wang:Range:       0 to 15 (0 = feature disabled)
212ba46edcaSSen Wang:Register:    0x66 bits [7:4]
213ba46edcaSSen Wang:Note:        Counts in FSS clock cycles. The modulator holds the extreme
214ba46edcaSSen Wang              frequency for at least this many FSS cycles before reversing.
215ba46edcaSSen Wang              When Dwell Min equals Dwell Max, the dwell feature is inactive.
216ba46edcaSSen Wang              For FSS values at each PWM frequency refer to the "Spread
217ba46edcaSSen Wang              Spectrum" section of the TRM.
218ba46edcaSSen Wang
219ba46edcaSSen WangSS Triangle Dwell Max
220ba46edcaSSen Wang---------------------
221ba46edcaSSen Wang
222ba46edcaSSen Wang:Description: Maximum dwell time at Triangle spread spectrum frequency extremes.
223ba46edcaSSen Wang:Type:        Integer
224ba46edcaSSen Wang:Default:     0
225ba46edcaSSen Wang:Range:       0 to 15 (0 = feature disabled)
226ba46edcaSSen Wang:Register:    0x66 bits [3:0]
227ba46edcaSSen Wang:Note:        Counts in FSS clock cycles. Must be >= Dwell Min. When Dwell Max
228ba46edcaSSen Wang              equals Dwell Min, the dwell feature is inactive.
229ba46edcaSSen Wang
230ba46edcaSSen WangHardware Protection
231ba46edcaSSen Wang===================
232ba46edcaSSen Wang
233ba46edcaSSen WangOTSD Auto Recovery Switch
234ba46edcaSSen Wang--------------------------
235ba46edcaSSen Wang
236ba46edcaSSen Wang:Description: Enables automatic recovery from over-temperature shutdown.
237ba46edcaSSen Wang:Type:        Boolean Switch
238ba46edcaSSen Wang:Default:     Disabled (0)
239ba46edcaSSen Wang:Register:    0x8F bit [1]
240ba46edcaSSen Wang:Note:        When disabled, manual fault clearing is required after OTSD events.
241ba46edcaSSen Wang
242ba46edcaSSen WangOvercurrent Limit Level
243ba46edcaSSen Wang-----------------------
244ba46edcaSSen Wang
245ba46edcaSSen Wang:Description: Current-limit trip point sensitivity.
246ba46edcaSSen Wang:Type:        Enumerated
247ba46edcaSSen Wang:Default:     Level 4
248ba46edcaSSen Wang:Options:     Level 4, Level 3, Level 2, Level 1
249ba46edcaSSen Wang:Register:    0x55 bits [1:0]
250ba46edcaSSen Wang:Note:        Level 4 is the least sensitive (highest trip current); Level 1 is
251ba46edcaSSen Wang              the most sensitive. The exact ILIM values depend on operating
252ba46edcaSSen Wang              conditions (PVDD voltage, switching frequency, and temperature).
253ba46edcaSSen Wang              Refer to the Electrical Characteristics table and the
254ba46edcaSSen Wang              "Overcurrent Limit (Cycle-By-Cycle)" section of the TRM.
255ba46edcaSSen Wang
256ba46edcaSSen WangCHx OTW Threshold
257ba46edcaSSen Wang-----------------
258ba46edcaSSen Wang
259ba46edcaSSen Wang:Description: Over-temperature warning threshold per channel (x = 1, 2, 3, 4).
260ba46edcaSSen Wang:Type:        Enumerated
261ba46edcaSSen Wang:Default:     >95C
262ba46edcaSSen Wang:Options:     Disabled, >95C, >110C, >125C, >135C, >145C, >155C, >165C
263ba46edcaSSen Wang:Register:    0xE2 bits [6:4] (CH1), bits [2:0] (CH2),
264ba46edcaSSen Wang              0xE3 bits [6:4] (CH3), bits [2:0] (CH4)
265ba46edcaSSen Wang
266ba46edcaSSen WangTemperature and Voltage Monitoring
267ba46edcaSSen Wang===================================
268ba46edcaSSen Wang
269ba46edcaSSen WangPVDD Sense
270ba46edcaSSen Wang----------
271ba46edcaSSen Wang
272ba46edcaSSen Wang:Description: Supply voltage sense register.
273ba46edcaSSen Wang:Type:        Integer (read-only)
274ba46edcaSSen Wang:Range:       0 to 255
275ba46edcaSSen Wang:Conversion:  value × 0.19 V
276ba46edcaSSen Wang:Register:    0x74
277ba46edcaSSen Wang
278ba46edcaSSen WangGlobal Temperature
279ba46edcaSSen Wang------------------
280ba46edcaSSen Wang
281ba46edcaSSen Wang:Description: Global die temperature sense register.
282ba46edcaSSen Wang:Type:        Integer (read-only)
283ba46edcaSSen Wang:Range:       0 to 255
284*c34a4be8SSen Wang:Conversion:  value × 2.19 K; subtract 273.15 for °C
285ba46edcaSSen Wang:Register:    0x75
286ba46edcaSSen Wang
287ba46edcaSSen WangCHx Temperature Range
288ba46edcaSSen Wang---------------------
289ba46edcaSSen Wang
290ba46edcaSSen Wang:Description: Per-channel coarse temperature range indicator (x = 1, 2, 3, 4).
291ba46edcaSSen Wang:Type:        Integer (read-only)
292*c34a4be8SSen Wang:Range:       0 to 7
293*c34a4be8SSen Wang:Mapping:     0 = <95 °C, 1 = 95–110 °C, 2 = 110–125 °C, 3 = 125–135 °C,
294*c34a4be8SSen Wang              4 = 135–145 °C, 5 = 145–155 °C, 6 = 155–165 °C, 7 = >165 °C
295*c34a4be8SSen Wang:Register:    0xBB bits [2:0] (CH1), bits [5:3] (CH2),
296*c34a4be8SSen Wang              0xBC bits [2:0] (CH3), bits [5:3] (CH4)
297ba46edcaSSen Wang
298ba46edcaSSen WangLoad Diagnostics
299ba46edcaSSen Wang================
300ba46edcaSSen Wang
301ba46edcaSSen WangThe TAS675x provides three load diagnostic modes:
302ba46edcaSSen Wang
303ba46edcaSSen WangDC Load Diagnostics (DC LDG)
304ba46edcaSSen Wang  Measures DC resistance to detect S2G (short-to-ground), S2P
305ba46edcaSSen Wang  (short-to-power), OL (open load), and SL (shorted load) faults.
306ba46edcaSSen Wang
307ba46edcaSSen WangAC Load Diagnostics (AC LDG)
308ba46edcaSSen Wang  Measures complex AC impedance at a configurable frequency. Detects
309ba46edcaSSen Wang  capacitive loads and tweeter configurations.
310ba46edcaSSen Wang
311ba46edcaSSen WangReal-Time Load Diagnostics (RTLDG)
312ba46edcaSSen Wang  Monitors impedance continuously during playback using a pilot tone.
313ba46edcaSSen Wang  Normal DSP mode only, at 48 kHz or 96 kHz.
314ba46edcaSSen Wang
315ba46edcaSSen WangFast Boot Mode
316ba46edcaSSen Wang--------------
317ba46edcaSSen Wang
318ba46edcaSSen WangBy default the device runs DC load diagnostics at initialization before
319ba46edcaSSen Wangaccepting audio. Setting ``ti,fast-boot`` in the device tree bypasses this
320ba46edcaSSen Wanginitial diagnostic run for faster startup. Automatic diagnostics after
321ba46edcaSSen Wangfault recovery remain enabled.
322ba46edcaSSen Wang
323ba46edcaSSen WangDC Load Diagnostics
324ba46edcaSSen Wang-------------------
325ba46edcaSSen Wang
326ba46edcaSSen WangThe ``CHx DC LDG Report`` 4-bit fault field uses the following encoding:
327ba46edcaSSen Wang
328ba46edcaSSen Wang  ======  ===========  ===================================================
329ba46edcaSSen Wang  Bit     Fault        Description
330ba46edcaSSen Wang  ======  ===========  ===================================================
331ba46edcaSSen Wang  [3]     S2G          Short-to-Ground
332ba46edcaSSen Wang  [2]     S2P          Short-to-Power
333ba46edcaSSen Wang  [1]     OL           Open Load
334ba46edcaSSen Wang  [0]     SL           Shorted Load
335ba46edcaSSen Wang  ======  ===========  ===================================================
336ba46edcaSSen Wang
337ba46edcaSSen WangDC LDG Trigger
338ba46edcaSSen Wang~~~~~~~~~~~~~~
339ba46edcaSSen Wang
340ba46edcaSSen Wang:Description: Triggers manual DC load diagnostics on all channels.
341ba46edcaSSen Wang:Type:        Boolean (write-only)
342ba46edcaSSen Wang:Note:        Returns -EBUSY if any DAI stream (playback or capture) is active.
343ba46edcaSSen Wang              The driver manages all channel state transitions. Blocks until
344ba46edcaSSen Wang              diagnostics complete or time out (300 ms).
345ba46edcaSSen Wang
346ba46edcaSSen WangDC LDG Auto Diagnostics Switch
347ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
348ba46edcaSSen Wang
349ba46edcaSSen Wang:Description: Enables automatic DC diagnostics after fault recovery.
350ba46edcaSSen Wang:Type:        Boolean Switch
351ba46edcaSSen Wang:Default:     Enabled (1)
352ba46edcaSSen Wang:Register:    0xB0 bit [0]
353ba46edcaSSen Wang:Note:        Active-low, when enabled, affected channels re-run diagnostics after
354ba46edcaSSen Wang              fault recovery and retry approximately every 750 ms until resolved.
355ba46edcaSSen Wang
356ba46edcaSSen WangCHx LO LDG Switch
357ba46edcaSSen Wang~~~~~~~~~~~~~~~~~
358ba46edcaSSen Wang
359ba46edcaSSen Wang:Description: Enables line output load detection per channel (x = 1, 2, 3, 4).
360ba46edcaSSen Wang:Type:        Boolean Switch
361ba46edcaSSen Wang:Default:     Disabled (0)
362ba46edcaSSen Wang:Register:    0xB1 bit [3] (CH1), bit [2] (CH2), bit [1] (CH3), bit [0] (CH4)
363ba46edcaSSen Wang:Note:        When enabled and DC diagnostics report OL, the device tests for
364ba46edcaSSen Wang              a high-impedance line output load.
365ba46edcaSSen Wang
366ba46edcaSSen WangDC LDG SLOL Ramp Time
367ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~
368ba46edcaSSen Wang
369ba46edcaSSen Wang:Description: Voltage ramp time for shorted-load and open-load detection.
370ba46edcaSSen Wang:Type:        Enumerated
371ba46edcaSSen Wang:Default:     15 ms
372ba46edcaSSen Wang:Options:     15 ms, 30 ms, 10 ms, 20 ms
373ba46edcaSSen Wang:Register:    0xB2 bits [7:6]
374ba46edcaSSen Wang
375ba46edcaSSen WangDC LDG SLOL Settling Time
376ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~~~
377ba46edcaSSen Wang
378ba46edcaSSen Wang:Description: Settling time for shorted-load and open-load detection.
379ba46edcaSSen Wang:Type:        Enumerated
380ba46edcaSSen Wang:Default:     10 ms
381ba46edcaSSen Wang:Options:     10 ms, 5 ms, 20 ms, 15 ms
382ba46edcaSSen Wang:Register:    0xB2 bits [5:4]
383ba46edcaSSen Wang
384ba46edcaSSen WangDC LDG S2PG Ramp Time
385ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~
386ba46edcaSSen Wang
387ba46edcaSSen Wang:Description: Voltage ramp time for short-to-power and short-to-ground detection.
388ba46edcaSSen Wang:Type:        Enumerated
389ba46edcaSSen Wang:Default:     5 ms
390ba46edcaSSen Wang:Options:     5 ms, 2.5 ms, 10 ms, 15 ms
391ba46edcaSSen Wang:Register:    0xB2 bits [3:2]
392ba46edcaSSen Wang
393ba46edcaSSen WangDC LDG S2PG Settling Time
394ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~~~
395ba46edcaSSen Wang
396ba46edcaSSen Wang:Description: Settling time for short-to-power and short-to-ground detection.
397ba46edcaSSen Wang:Type:        Enumerated
398ba46edcaSSen Wang:Default:     10 ms
399ba46edcaSSen Wang:Options:     10 ms, 5 ms, 20 ms, 30 ms
400ba46edcaSSen Wang:Register:    0xB2 bits [1:0]
401ba46edcaSSen Wang
402ba46edcaSSen WangCHx DC LDG SL Threshold
403ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~
404ba46edcaSSen Wang
405ba46edcaSSen Wang:Description: Shorted-load detection threshold per channel (x = 1, 2, 3, 4).
406ba46edcaSSen Wang:Type:        Enumerated
407ba46edcaSSen Wang:Default:     1 Ohm
408ba46edcaSSen Wang:Options:     0.5 Ohm, 1 Ohm, 1.5 Ohm, 2 Ohm, 2.5 Ohm,
409ba46edcaSSen Wang              3 Ohm, 3.5 Ohm, 4 Ohm, 4.5 Ohm, 5 Ohm
410ba46edcaSSen Wang:Register:    0xB3 bits [7:4] (CH1), bits [3:0] (CH2),
411ba46edcaSSen Wang              0xB4 bits [7:4] (CH3), bits [3:0] (CH4)
412ba46edcaSSen Wang
413ba46edcaSSen WangDC LDG Result
414ba46edcaSSen Wang~~~~~~~~~~~~~
415ba46edcaSSen Wang
416ba46edcaSSen Wang:Description: Overall DC diagnostic result register.
417ba46edcaSSen Wang:Type:        Integer (read-only)
418ba46edcaSSen Wang:Range:       0x00 to 0xFF
419ba46edcaSSen Wang:Register:    0xC2
420ba46edcaSSen Wang:Bit Encoding:
421ba46edcaSSen Wang
422ba46edcaSSen Wang  ========  =====================================================
423ba46edcaSSen Wang  Bits      Description
424ba46edcaSSen Wang  ========  =====================================================
425ba46edcaSSen Wang  [7:4]     Line output detection result, one bit per channel
426ba46edcaSSen Wang  [3:0]     DC diagnostic pass/fail per channel (1=pass, 0=fail)
427ba46edcaSSen Wang  ========  =====================================================
428ba46edcaSSen Wang
429ba46edcaSSen WangCHx DC LDG Report
430ba46edcaSSen Wang~~~~~~~~~~~~~~~~~
431ba46edcaSSen Wang
432ba46edcaSSen Wang:Description: DC diagnostic fault status per channel (x = 1, 2, 3, 4).
433ba46edcaSSen Wang:Type:        Integer (read-only)
434ba46edcaSSen Wang:Range:       0x0 to 0xF
435ba46edcaSSen Wang:Register:    0xC0 bits [7:4] (CH1), bits [3:0] (CH2),
436ba46edcaSSen Wang              0xC1 bits [7:4] (CH3), bits [3:0] (CH4)
437ba46edcaSSen Wang:Note:        See fault bit encoding table at the start of this section.
438ba46edcaSSen Wang
439ba46edcaSSen WangCHx LO LDG Report
440ba46edcaSSen Wang~~~~~~~~~~~~~~~~~
441ba46edcaSSen Wang
442ba46edcaSSen Wang:Description: Line output load detection result per channel (x = 1, 2, 3, 4).
443ba46edcaSSen Wang:Type:        Boolean (read-only)
444ba46edcaSSen Wang:Values:      0 = not detected, 1 = line output load detected
445ba46edcaSSen Wang:Register:    0xC2 bit [7] (CH1), bit [6] (CH2), bit [5] (CH3), bit [4] (CH4)
446ba46edcaSSen Wang
447ba46edcaSSen WangCHx DC Resistance
448ba46edcaSSen Wang~~~~~~~~~~~~~~~~~
449ba46edcaSSen Wang
450ba46edcaSSen Wang:Description: Measured DC load resistance per channel (x = 1, 2, 3, 4).
451ba46edcaSSen Wang:Type:        Float (read-only, displayed in ohms)
452ba46edcaSSen Wang:Resolution:  0.1 ohm per code (10-bit value)
453ba46edcaSSen Wang:Range:       0.0 to 102.3 ohms
454ba46edcaSSen Wang:Register:    0xD9 bits [7:6]/[5:4]/[3:2]/[1:0] (MSB for CH1–CH4),
455ba46edcaSSen Wang              0xDA (CH1 LSB), 0xDB (CH2 LSB), 0xDC (CH3 LSB), 0xDD (CH4 LSB)
456ba46edcaSSen Wang
457ba46edcaSSen WangAC Load Diagnostics
458ba46edcaSSen Wang-------------------
459ba46edcaSSen Wang
460ba46edcaSSen WangAC LDG Trigger
461ba46edcaSSen Wang~~~~~~~~~~~~~~
462ba46edcaSSen Wang
463ba46edcaSSen Wang:Description: Triggers AC impedance measurement on all channels.
464ba46edcaSSen Wang:Type:        Boolean (write-only)
465ba46edcaSSen Wang:Note:        Returns -EBUSY if any DAI stream (playback or capture) is active.
466ba46edcaSSen Wang              The driver transitions all channels to SLEEP state before starting
467ba46edcaSSen Wang              the measurement. Blocks until diagnostics complete or time out.
468ba46edcaSSen Wang
469ba46edcaSSen WangAC LDG Gain
470ba46edcaSSen Wang~~~~~~~~~~~
471ba46edcaSSen Wang
472ba46edcaSSen Wang:Description: Measurement resolution for AC diagnostics.
473ba46edcaSSen Wang:Type:        Boolean Switch
474ba46edcaSSen Wang:Default:     1 (Gain 8)
475ba46edcaSSen Wang:Values:      0 = 0.8 ohm/code (Gain 1), 1 = 0.1 ohm/code (Gain 8)
476ba46edcaSSen Wang:Register:    0xB5 bit [4]
477ba46edcaSSen Wang:Note:        Gain 8 recommended for load impedances below 8 ohms.
478ba46edcaSSen Wang
479ba46edcaSSen WangAC LDG Test Frequency
480ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~
481ba46edcaSSen Wang
482ba46edcaSSen Wang:Description: Test signal frequency for AC impedance measurement.
483ba46edcaSSen Wang:Type:        Integer
484ba46edcaSSen Wang:Default:     200 (0xC8 = 18.75 kHz)
485ba46edcaSSen Wang:Range:       0x01 to 0xFF (0x00 reserved)
486ba46edcaSSen Wang:Formula:     Frequency = 93.75 Hz × register value
487ba46edcaSSen Wang:Register:    0xB8
488ba46edcaSSen Wang
489ba46edcaSSen WangCHx AC LDG Real / CHx AC LDG Imag
490ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
491ba46edcaSSen Wang
492ba46edcaSSen Wang:Description: Real and imaginary AC impedance components per channel
493ba46edcaSSen Wang              (x = 1, 2, 3, 4).
494ba46edcaSSen Wang:Type:        Integer (read-only)
495ba46edcaSSen Wang:Range:       0x00 to 0xFF (8-bit signed)
496ba46edcaSSen Wang:Register:    0xC3 (CH1 Real), 0xC4 (CH1 Imag), 0xC5 (CH2 Real), 0xC6 (CH2 Imag),
497ba46edcaSSen Wang              0xC7 (CH3 Real), 0xC8 (CH3 Imag), 0xC9 (CH4 Real), 0xCA (CH4 Imag)
498ba46edcaSSen Wang:Note:        Scale set by AC LDG Gain.
499ba46edcaSSen Wang
500ba46edcaSSen WangSpeaker Protection & Detection
501ba46edcaSSen Wang-------------------------------
502ba46edcaSSen Wang
503ba46edcaSSen WangTweeter Detection Switch
504ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~
505ba46edcaSSen Wang
506ba46edcaSSen Wang:Description: Enables tweeter detection using the AC impedance magnitude comparator.
507ba46edcaSSen Wang:Type:        Boolean Switch
508ba46edcaSSen Wang:Default:     Enabled (1)
509ba46edcaSSen Wang:Register:    0xB6 bit [0]
510ba46edcaSSen Wang:Note:        The underlying register bit is TWEETER DETECT DISABLE (active-low).
511ba46edcaSSen Wang              Control value 1 = detection enabled (register bit 0), 0 = disabled
512ba46edcaSSen Wang              (register bit 1).
513ba46edcaSSen Wang
514ba46edcaSSen WangTweeter Detect Threshold
515ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~~
516ba46edcaSSen Wang
517ba46edcaSSen Wang:Description: Magnitude threshold for tweeter detection.
518ba46edcaSSen Wang:Type:        Integer
519ba46edcaSSen Wang:Default:     0
520ba46edcaSSen Wang:Range:       0x00 to 0xFF
521ba46edcaSSen Wang:Resolution:  0.8 ohm/code (AC LDG Gain=0) or 0.1 ohm/code (AC LDG Gain=1)
522ba46edcaSSen Wang:Register:    0xB7
523ba46edcaSSen Wang
524ba46edcaSSen WangCHx Tweeter Detect Report
525ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~~~
526ba46edcaSSen Wang
527ba46edcaSSen Wang:Description: Tweeter detection result per channel (x = 1, 2, 3, 4).
528ba46edcaSSen Wang:Type:        Boolean (read-only)
529ba46edcaSSen Wang:Values:      0 = no tweeter detected, 1 = tweeter detected
530ba46edcaSSen Wang:Register:    0xCB bit [3] (CH1), bit [2] (CH2), bit [1] (CH3), bit [0] (CH4)
531ba46edcaSSen Wang
532ba46edcaSSen WangDSP Protection Features
533ba46edcaSSen Wang=======================
534ba46edcaSSen Wang
535ba46edcaSSen WangThese controls are unavailable in LLP mode.
536ba46edcaSSen Wang
537ba46edcaSSen WangThermal Foldback Switch
538ba46edcaSSen Wang-----------------------
539ba46edcaSSen Wang
540ba46edcaSSen Wang:Description: Enables dynamic gain reduction based on die temperature.
541ba46edcaSSen Wang:Type:        Boolean Switch
542ba46edcaSSen Wang:Default:     Disabled (0)
543ba46edcaSSen Wang:Register:    0x3A bit [0]
544ba46edcaSSen Wang
545ba46edcaSSen WangPVDD Foldback Switch
546ba46edcaSSen Wang--------------------
547ba46edcaSSen Wang
548ba46edcaSSen Wang:Description: Enables automatic gain limiting when supply voltage drops
549ba46edcaSSen Wang              (Automatic Gain Limiter).
550ba46edcaSSen Wang:Type:        Boolean Switch
551ba46edcaSSen Wang:Default:     Disabled (0)
552ba46edcaSSen Wang:Register:    0x3A bit [4]
553ba46edcaSSen Wang
554ba46edcaSSen WangDC Blocker Bypass Switch
555ba46edcaSSen Wang------------------------
556ba46edcaSSen Wang
557ba46edcaSSen Wang:Description: Bypasses the DC-blocking high-pass filter.
558ba46edcaSSen Wang:Type:        Boolean Switch
559ba46edcaSSen Wang:Default:     Not bypassed (0)
560ba46edcaSSen Wang:Register:    0x39 bit [0]
561ba46edcaSSen Wang
562ba46edcaSSen WangClip Detect Switch
563ba46edcaSSen Wang------------------
564ba46edcaSSen Wang
565ba46edcaSSen Wang:Description: Enables DSP-based clip detection (Pseudo-Analog Clip Detect).
566ba46edcaSSen Wang:Type:        Boolean Switch
567ba46edcaSSen Wang:Default:     Disabled (0)
568ba46edcaSSen Wang:Register:    0x93 bit [6]
569ba46edcaSSen Wang
570ba46edcaSSen WangAudio SDOUT Switch
571ba46edcaSSen Wang------------------
572ba46edcaSSen Wang
573ba46edcaSSen Wang:Description: Routes post-processed audio to the SDOUT pin instead of
574ba46edcaSSen Wang              Vpredict data.
575ba46edcaSSen Wang:Type:        Boolean Switch
576ba46edcaSSen Wang:Default:     Disabled (0)
577ba46edcaSSen Wang:Register:    0x3A bit [5]
578ba46edcaSSen Wang:Note:        When enabled, replaces Vpredict data on SDOUT with post-processed
579ba46edcaSSen Wang              SDIN. All SDOUT configurations that apply to Vpredict also apply
580ba46edcaSSen Wang              to SDIN-to-SDOUT transmission.
581ba46edcaSSen Wang
582ba46edcaSSen WangReal-Time Load Diagnostics
583ba46edcaSSen Wang===========================
584ba46edcaSSen Wang
585ba46edcaSSen WangThese controls require Normal DSP mode at 48 kHz or 96 kHz. They are
586ba46edcaSSen Wangunavailable at 192 kHz and in FFLP and LLP modes.
587ba46edcaSSen Wang
588ba46edcaSSen Wang
589ba46edcaSSen WangCHx RTLDG Switch
590ba46edcaSSen Wang----------------
591ba46edcaSSen Wang
592ba46edcaSSen Wang:Description: Enables real-time impedance monitoring during playback
593ba46edcaSSen Wang              (x = 1, 2, 3, 4).
594ba46edcaSSen Wang:Type:        Boolean Switch
595ba46edcaSSen Wang:Default:     Disabled (0)
596ba46edcaSSen Wang:Register:    0x37 bit [3] (CH1), bit [2] (CH2), bit [1] (CH3), bit [0] (CH4)
597ba46edcaSSen Wang
598ba46edcaSSen WangRTLDG Clip Mask Switch
599ba46edcaSSen Wang----------------------
600ba46edcaSSen Wang
601ba46edcaSSen Wang:Description: Suppresses impedance updates during clipping events.
602ba46edcaSSen Wang:Type:        Boolean Switch
603ba46edcaSSen Wang:Default:     Enabled (1)
604ba46edcaSSen Wang:Register:    0x37 bit [4]
605ba46edcaSSen Wang
606ba46edcaSSen WangISENSE Calibration Switch
607ba46edcaSSen Wang--------------------------
608ba46edcaSSen Wang
609ba46edcaSSen Wang:Description: Enables current sense calibration for accurate impedance
610ba46edcaSSen Wang              measurements.
611ba46edcaSSen Wang:Type:        Boolean Switch
612ba46edcaSSen Wang:Default:     Disabled (0)
613ba46edcaSSen Wang:Register:    0x5B bit [3]
614ba46edcaSSen Wang
615ba46edcaSSen WangRTLDG Open Load Threshold
616ba46edcaSSen Wang--------------------------
617ba46edcaSSen Wang
618ba46edcaSSen Wang:Description: DSP coefficient for open load fault detection threshold.
619ba46edcaSSen Wang:Type:        DSP coefficient (extended control)
620ba46edcaSSen Wang:Register:    DSP Book 0x8C, page 0x22, 0x98
621ba46edcaSSen Wang
622ba46edcaSSen WangRTLDG Short Load Threshold
623ba46edcaSSen Wang---------------------------
624ba46edcaSSen Wang
625ba46edcaSSen Wang:Description: DSP coefficient for shorted load fault detection threshold.
626ba46edcaSSen Wang:Type:        DSP coefficient (extended control)
627ba46edcaSSen Wang:Register:    DSP Book 0x8C, page 0x22, 0x9C
628ba46edcaSSen Wang
629ba46edcaSSen WangCHx RTLDG Impedance
630ba46edcaSSen Wang-------------------
631ba46edcaSSen Wang
632ba46edcaSSen Wang:Description: Real-time load impedance per channel (x = 1, 2, 3, 4).
633ba46edcaSSen Wang:Type:        Float (read-only, displayed in ohms)
634ba46edcaSSen Wang:Register:    0xD1–0xD2 (CH1), 0xD3–0xD4 (CH2), 0xD5–0xD6 (CH3), 0xD7–0xD8 (CH4)
635ba46edcaSSen Wang:Note:        Valid only during PLAY state with RTLDG enabled at 48 or
636ba46edcaSSen Wang              96 kHz. Holds stale data in SLEEP, MUTE, or Hi-Z states.
637ba46edcaSSen Wang
638ba46edcaSSen WangFault Monitoring
639ba46edcaSSen Wang================
640ba46edcaSSen Wang
641ba46edcaSSen WangThe driver monitors faults via IRQ or periodic polling (fallback when
642ba46edcaSSen Wangno ``interrupts`` DT property is present). Detected faults are logged
643ba46edcaSSen Wangand cleared so affected channels can recover.
644ba46edcaSSen Wang
645ba46edcaSSen WangKernel log messages use the format::
646ba46edcaSSen Wang
647ba46edcaSSen Wang  tas675x <addr>: <Name> Latched: 0x<value>
648ba46edcaSSen Wang
649ba46edcaSSen WangCritical faults are logged at ``CRIT`` level; warnings at ``WARN``.
650ba46edcaSSen Wang
651ba46edcaSSen WangThe following fault registers are monitored:
652ba46edcaSSen Wang
653ba46edcaSSen WangCritical Faults
654ba46edcaSSen Wang---------------
655ba46edcaSSen Wang
656ba46edcaSSen WangThese faults place affected channels into the FAULT state. The driver
657ba46edcaSSen Wangissues fault clear (register 0x01 bit 3) to allow recovery.
658ba46edcaSSen Wang
659ba46edcaSSen WangOvertemperature Shutdown (0x87)
660e82c19d6SRandy Dunlap~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
661ba46edcaSSen Wang
662ba46edcaSSen Wang  ========  ==========================================
663ba46edcaSSen Wang  Bits      Description
664ba46edcaSSen Wang  ========  ==========================================
665ba46edcaSSen Wang  [4]       Global OTSD
666ba46edcaSSen Wang  [3:0]     CH1-CH4 OTSD respectively
667ba46edcaSSen Wang  ========  ==========================================
668ba46edcaSSen Wang
669ba46edcaSSen WangFires when die temperature exceeds the OTSD threshold. If auto-recovery
670ba46edcaSSen Wangis enabled (``OTSD Auto Recovery Switch``), channels return to their
671ba46edcaSSen Wangprevious state after cooling. Otherwise fault clear is required.
672ba46edcaSSen Wang
673ba46edcaSSen WangOvercurrent / DC Fault (0x8E)
674ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
675ba46edcaSSen Wang
676ba46edcaSSen Wang  ========  ==========================================
677ba46edcaSSen Wang  Bits      Description
678ba46edcaSSen Wang  ========  ==========================================
679ba46edcaSSen Wang  [7:4]     Overcurrent Shutdown, CH1-CH4 respectively
680ba46edcaSSen Wang  [3:0]     DC Fault, CH1-CH4 respectively
681ba46edcaSSen Wang  ========  ==========================================
682ba46edcaSSen Wang
683ba46edcaSSen WangOvercurrent shutdown occurs when output current reaches the shutdown
684ba46edcaSSen Wangthreshold (e.g. output short to GND). DC fault fires when DC offset
685ba46edcaSSen Wangexceeds the DCFAULT threshold.
686ba46edcaSSen Wang
687ba46edcaSSen WangReal-Time Load Diagnostic Fault (0x8B)
688ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
689ba46edcaSSen Wang
690ba46edcaSSen Wang  ========  ==========================================
691ba46edcaSSen Wang  Bits      Description
692ba46edcaSSen Wang  ========  ==========================================
693ba46edcaSSen Wang  [7:4]     Shorted Load faults, CH1-CH4 respectively
694ba46edcaSSen Wang  [3:0]     Open Load faults, CH1-CH4 respectively
695ba46edcaSSen Wang  ========  ==========================================
696ba46edcaSSen Wang
697ba46edcaSSen WangReported during playback when RTLDG detects impedance outside the
698ba46edcaSSen Wangconfigured open/short thresholds. Requires RTLDG and current sense to
699ba46edcaSSen Wangbe enabled, and a sampling rate of 48 kHz or 96 kHz.
700ba46edcaSSen Wang
701ba46edcaSSen WangCBC Fault/Warning (0x8D)
702ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~
703ba46edcaSSen Wang
704ba46edcaSSen Wang  ========  ==========================================
705ba46edcaSSen Wang  Bits      Description
706ba46edcaSSen Wang  ========  ==========================================
707ba46edcaSSen Wang  [7:4]     Load current warning, CH1-CH4 respectively
708ba46edcaSSen Wang  [3:0]     Load current fault, CH1-CH4 respectively
709ba46edcaSSen Wang  ========  ==========================================
710ba46edcaSSen Wang
711ba46edcaSSen WangCycle-by-cycle current limiting events. A warning fires when the
712ba46edcaSSen Wangcurrent limit is active for at least 25% of a 21.3 ms window. A fault
713ba46edcaSSen Wangfires if the warning persists for 170.4 ms continuously.
714ba46edcaSSen Wang
715ba46edcaSSen WangWarnings
716ba46edcaSSen Wang--------
717ba46edcaSSen Wang
718ba46edcaSSen WangThese conditions are logged but do not place channels into FAULT state.
719ba46edcaSSen WangCorresponding register bits are cleared when read. Nonetheless, the driver
720ba46edcaSSen Wangstill clears all events as warnings also latch the (mapped) FAULT pin.
721ba46edcaSSen Wang
722ba46edcaSSen WangPower Fault (0x86)
723ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~
724ba46edcaSSen Wang
725ba46edcaSSen Wang  ========  ==========================================
726ba46edcaSSen Wang  Bits      Description
727ba46edcaSSen Wang  ========  ==========================================
728ba46edcaSSen Wang  [7]       DVDD Power-On-Reset
729ba46edcaSSen Wang  [4]       DVDD Undervoltage
730ba46edcaSSen Wang  [3]       PVDD Overvoltage
731ba46edcaSSen Wang  [2]       VBAT Overvoltage
732ba46edcaSSen Wang  [1]       PVDD Undervoltage
733ba46edcaSSen Wang  [0]       VBAT Undervoltage
734ba46edcaSSen Wang  ========  ==========================================
735ba46edcaSSen Wang
736ba46edcaSSen WangSupply-related events. DVDD POR at bit 7 is expected after every
737ba46edcaSSen Wangpower-up and can be ignored.
738ba46edcaSSen Wang
739ba46edcaSSen WangCP / OUTM Soft Short Fault (0x7D)
740ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
741ba46edcaSSen Wang
742ba46edcaSSen Wang  ========  ==========================================
743ba46edcaSSen Wang  Bits      Description
744ba46edcaSSen Wang  ========  ==========================================
745ba46edcaSSen Wang  [5:2]     OUTM soft short, CH4-CH1 respectively
746ba46edcaSSen Wang  [1]       Charge Pump UVLO (latched)
747ba46edcaSSen Wang  [0]       Charge Pump UVLO (unlatched/live status)
748ba46edcaSSen Wang  ========  ==========================================
749ba46edcaSSen Wang
750ba46edcaSSen WangPer-channel out_minus soft short faults and charge pump undervoltage lockout.
751ba46edcaSSen Wang
752ba46edcaSSen WangClock Fault (0x8A)
753ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~
754ba46edcaSSen Wang
755ba46edcaSSen Wang  ========  ==========================================
756ba46edcaSSen Wang  Bits      Description
757ba46edcaSSen Wang  ========  ==========================================
758ba46edcaSSen Wang  [0]       Clock error
759ba46edcaSSen Wang  ========  ==========================================
760ba46edcaSSen Wang
761ba46edcaSSen WangFires on clock halt or unsupported SCLK/FSYNC ratio. Only logged when
762ba46edcaSSen Wanga stream is active (suppressed during idle to avoid noise from normal
763ba46edcaSSen Wangstream stop/start transitions). See `Clock Fault Behaviour`_ below.
764ba46edcaSSen Wang
765ba46edcaSSen WangOvertemperature Warning (0x88)
766ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
767ba46edcaSSen Wang
768ba46edcaSSen Wang  ========  ==========================================
769ba46edcaSSen Wang  Bits      Description
770ba46edcaSSen Wang  ========  ==========================================
771ba46edcaSSen Wang  [4]       Global OTW
772ba46edcaSSen Wang  [3:0]     CH1-CH4 OTW respectively
773ba46edcaSSen Wang  ========  ==========================================
774ba46edcaSSen Wang
775ba46edcaSSen WangFires when temperature crosses the OTW threshold. The device continues
776ba46edcaSSen Wangto operate. Only logged on change to avoid log spam.
777ba46edcaSSen Wang
778ba46edcaSSen WangClip Warning (0x89)
779ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~
780ba46edcaSSen Wang
781ba46edcaSSen Wang  ========  ==========================================
782ba46edcaSSen Wang  Bits      Description
783ba46edcaSSen Wang  ========  ==========================================
784ba46edcaSSen Wang  [3:0]     CH1-CH4 clip detected respectively
785ba46edcaSSen Wang  ========  ==========================================
786ba46edcaSSen Wang
787ba46edcaSSen WangFires when the audio signal magnitude exceeds the clip detection
788ba46edcaSSen Wangthreshold. Requires Clip Detect to be enabled. Only logged when a
789ba46edcaSSen Wangstream is active.
790ba46edcaSSen Wang
791ba46edcaSSen WangDriver Known Limitations
792ba46edcaSSen Wang========================
793ba46edcaSSen Wang
794ba46edcaSSen WangClock Fault Behaviour
795ba46edcaSSen Wang---------------------
796ba46edcaSSen Wang
797ba46edcaSSen WangOn Stream Stop
798ba46edcaSSen Wang~~~~~~~~~~~~~~
799ba46edcaSSen Wang
800ba46edcaSSen WangEvery time a playback stream stops the FAULT pin briefly asserts. The
801ba46edcaSSen WangASoC PCM trigger stop sequence calls DAIs in reverse order, so the CPU
802ba46edcaSSen WangDAI stops SCLK before the codec can transition to sleep. The device
803ba46edcaSSen Wangdetects the clock halt and latches ``CLK_FAULT_LATCHED``, which asserts
804ba46edcaSSen Wangthe FAULT pin. The driver clears the latch in the ``mute_stream``
805ba46edcaSSen Wangcallback that follows, so the FAULT pin flicker lasts only a few
806ba46edcaSSen Wangmilliseconds. Audio output is not affected and no kernel log message
807ba46edcaSSen Wangis produced.
808ba46edcaSSen Wang
809ba46edcaSSen WangOn Rapid Rate Switching
810ba46edcaSSen Wang~~~~~~~~~~~~~~~~~~~~~~~
811ba46edcaSSen Wang
812ba46edcaSSen WangWhen streams are started in rapid succession, an intermittent
813ba46edcaSSen Wang``Clock Fault Latched: 0x01`` message may appear in the kernel log.
814ba46edcaSSen WangA (conservative) ~0.5 second gap between sessions eliminates this.
815ba46edcaSSen Wang
816ba46edcaSSen WangReferences
817ba46edcaSSen Wang==========
818ba46edcaSSen Wang
819ba46edcaSSen Wang- TAS675x Technical Reference Manual: SLOU589A
820ba46edcaSSen Wang- Device Tree Bindings: Documentation/devicetree/bindings/sound/ti,tas67524.yaml
821ba46edcaSSen Wang- ALSA Control Name Conventions: Documentation/sound/designs/control-names.rst
822