From: Maarten Zanders Date: Fri, 28 Oct 2022 15:26:24 +0000 (+0200) Subject: ASoC: adau1372: add support for S24_LE mode X-Git-Tag: v6.2-rc1~126^2^2~43^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cd887a7ba74c8378ae8b52afa04adb0d49cdf13d;p=thirdparty%2Fkernel%2Flinux.git ASoC: adau1372: add support for S24_LE mode The ADAU1372 contains 24bit ADCs and DACs. Allow the driver to use its native mode which uses the same settings as the current 32 bit mode. Signed-off-by: Maarten Zanders Link: https://lore.kernel.org/r/20221028152626.109603-3-maarten.zanders@mind.be Signed-off-by: Mark Brown --- diff --git a/sound/soc/codecs/adau1372.c b/sound/soc/codecs/adau1372.c index a42fae183cac5..c5e0f10e69825 100644 --- a/sound/soc/codecs/adau1372.c +++ b/sound/soc/codecs/adau1372.c @@ -662,6 +662,7 @@ static int adau1372_hw_params(struct snd_pcm_substream *substream, case 16: sai1 = ADAU1372_SAI1_BCLKRATE; break; + case 24: case 32: sai1 = 0; break; @@ -699,6 +700,7 @@ static int adau1372_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask, case 16: sai1 = ADAU1372_SAI1_BCLK_TDMC; break; + case 24: case 32: sai1 = 0; break; @@ -869,7 +871,9 @@ static const struct snd_soc_dai_ops adau1372_dai_ops = { .startup = adau1372_startup, }; -#define ADAU1372_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE) +#define ADAU1372_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | \ + SNDRV_PCM_FMTBIT_S24_LE | \ + SNDRV_PCM_FMTBIT_S32_LE) static struct snd_soc_dai_driver adau1372_dai_driver = { .name = "adau1372",