ASoC: dwc: extend supported formats
authorMaxim Kochetkov <fido_max@inbox.ru>
Fri, 5 May 2023 05:35:21 +0000 (08:35 +0300)
committerMark Brown <broonie@kernel.org>
Sun, 7 May 2023 23:48:47 +0000 (08:48 +0900)
The COMP1_TX_WORDSIZE_0/COMP2_RX_WORDSIZE_0 fields in the comp
registers indicate the maximum wordsize supported. DWC I2S controller
can operate with any smaller wordsize. So extend the formats to let
I2S to operate in any allowed modes.

Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru
Link: https://lore.kernel.org/r/20230505053521.18233-1-fido_max@inbox.ru
Signed-off-by: Mark Brown <broonie@kernel.org
sound/soc/dwc/dwc-i2s.c

index e2b2ba0..c5ba88e 100644 (file)
@@ -481,9 +481,9 @@ static const u32 bus_widths[COMP_MAX_DATA_WIDTH] = {
 static const u32 formats[COMP_MAX_WORDSIZE] = {
        SNDRV_PCM_FMTBIT_S16_LE,
        SNDRV_PCM_FMTBIT_S16_LE,
-       SNDRV_PCM_FMTBIT_S24_LE,
-       SNDRV_PCM_FMTBIT_S24_LE,
-       SNDRV_PCM_FMTBIT_S32_LE,
+       SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE,
+       SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE,
+       SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE,
        0,
        0,
        0