]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ASoC: soc-dai: add common operation to set TDM idle mode
authorJames Calligeros <jcalligeros99@gmail.com>
Sun, 1 Mar 2026 08:05:24 +0000 (18:05 +1000)
committerMark Brown <broonie@kernel.org>
Mon, 16 Mar 2026 01:13:03 +0000 (01:13 +0000)
commitb758d3574e88537f9089bd757a51b35cf9675179
treeba6d9ef761167491b7d3d7c8e1eafc71de2b5987
parent7d8632f1ef6c8ed0b53771c16f130f18d636931e
ASoC: soc-dai: add common operation to set TDM idle mode

Some audio devices, like certain Texas Instruments codecs, integrate
configurable bus keepers that dictate the codec's behaviour during
idle TDM slots. Now that we have definitions for various idle modes,
add a snd_soc_dai_set_tdm_idle() operation to control this in a
standardised way.

This is useful on Apple Silicon laptops, where a single I2S bus is
comprised of two physical lines which are ORed just before the
receiving port. When a codec on one line is transmitting, we must
guarantee that the other line is low. We can achieve this by
configuring one codec on each line to use its bus keeper to fill
its line with zeroes during the active slots of the other line.

Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
Link: https://patch.msgid.link/20260301-tdm-idle-slots-v3-5-c6ac5351489a@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc-dai.h
sound/soc/soc-dai.c