--- sound/soc/mxs/mxs-pcm.c.orig 2014-03-31 22:18:46.554699921 +0200 +++ sound/soc/mxs/mxs-pcm.c 2014-03-31 22:19:53.964699929 +0200 @@ -36,9 +36,7 @@ SNDRV_PCM_INFO_RESUME | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_HALF_DUPLEX, - .formats = SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S20_3LE | - SNDRV_PCM_FMTBIT_S24_LE, + .formats = SNDRV_PCM_FMTBIT_S16_LE, .channels_min = 2, .channels_max = 2, .period_bytes_min = 32, diff --git sound/soc/fsl/fsl_spdif.h sound/soc/fsl/fsl_spdif.h index dbbbb1e..5a46dcb 100644 --- sound/soc/fsl/fsl_spdif.h +++ sound/soc/fsl/fsl_spdif.h @@ -184,9 +184,13 @@ enum spdif_txrate { SNDRV_PCM_RATE_64000 | \ SNDRV_PCM_RATE_96000) +// !!! temporary workaround for broken 24bit mode !!! +#define FSL_SPDIF_FORMATS_PLAYBACK (SNDRV_PCM_FMTBIT_S16_LE) +/* #define FSL_SPDIF_FORMATS_PLAYBACK (SNDRV_PCM_FMTBIT_S16_LE | \ SNDRV_PCM_FMTBIT_S20_3LE | \ SNDRV_PCM_FMTBIT_S24_LE) +*/ #define FSL_SPDIF_FORMATS_CAPTURE (SNDRV_PCM_FMTBIT_S24_LE)