Add support for highter rate up to 384000Khz. There are codecs in the market that can play up to this frequency. Test was done just with:
#define OMAP_MCBSP_RATES (SNDRV_PCM_RATE_8000_192000)
playing wav file 32bit/192000Khz stereo. Some glitch has observed but this should depend on the selected min buffer bytes that was left untouched in aplay and in the omap-pcm driver.
Signed-off-by: Michael Trimarchi michael@amarulasolutions.com --- sound/soc/omap/omap-mcbsp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c index 7483efb..1e95f6a 100644 --- a/sound/soc/omap/omap-mcbsp.c +++ b/sound/soc/omap/omap-mcbsp.c @@ -39,7 +39,9 @@ #include "mcbsp.h" #include "omap-mcbsp.h"
-#define OMAP_MCBSP_RATES (SNDRV_PCM_RATE_8000_96000) +#define OMAP_MCBSP_RATES (SNDRV_PCM_RATE_8000_192000 | \ + SNDRV_PCM_RATE_CONTINUOUS | \ + SNDRV_PCM_RATE_KNOT)
#define OMAP_MCBSP_SOC_SINGLE_S16_EXT(xname, xmin, xmax, \ xhandler_get, xhandler_put) \ @@ -574,11 +576,15 @@ static struct snd_soc_dai_driver omap_mcbsp_dai = { .channels_max = 16, .rates = OMAP_MCBSP_RATES, .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE, + .rate_min = 8000, + .rate_max = 384000, }, .capture = { .channels_min = 1, .channels_max = 16, .rates = OMAP_MCBSP_RATES, + .rate_min = 8000, + .rate_max = 384000, .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE, }, .ops = &mcbsp_dai_ops,