[alsa-devel] [PATCH 6/7] ASoC: max9867: Fix BSEL value in master mode.
Ladislav Michl
ladis at linux-mips.org
Tue Jan 30 12:10:33 CET 2018
Signed-off-by: Ladislav Michl <ladis at linux-mips.org>
---
Note: It should be reconsidered where BSEL should be set.
sound/soc/codecs/max9867.c | 43 +++----------------------------------------
1 file changed, 3 insertions(+), 40 deletions(-)
diff --git a/sound/soc/codecs/max9867.c b/sound/soc/codecs/max9867.c
index 026b7cf94910..6272cf5df4a9 100644
--- a/sound/soc/codecs/max9867.c
+++ b/sound/soc/codecs/max9867.c
@@ -148,46 +148,6 @@ static int max9867_dai_hw_params(struct snd_pcm_substream *substream,
MAX9867_RAPID_LOCK, MAX9867_RAPID_LOCK);
regmap_update_bits(max9867->regmap, MAX9867_AUDIOCLKHIGH,
MAX9867_PLL, MAX9867_PLL);
- } else {
- unsigned long int bclk_rate, pclk_bclk_ratio;
- int bclk_value;
-
- bclk_rate = params_rate(params) * 2 * params_width(params);
- pclk_bclk_ratio = max9867->pclk/bclk_rate;
- switch (params_width(params)) {
- case 8:
- case 16:
- switch (pclk_bclk_ratio) {
- case 2:
- bclk_value = MAX9867_IFC1B_PCLK_2;
- break;
- case 4:
- bclk_value = MAX9867_IFC1B_PCLK_4;
- break;
- case 8:
- bclk_value = MAX9867_IFC1B_PCLK_8;
- break;
- case 16:
- bclk_value = MAX9867_IFC1B_PCLK_16;
- break;
- default:
- dev_err(codec->dev,
- "unsupported sampling rate\n");
- return -EINVAL;
- }
- break;
- case 24:
- bclk_value = MAX9867_IFC1B_24BIT;
- break;
- case 32:
- bclk_value = MAX9867_IFC1B_32BIT;
- break;
- default:
- dev_err(codec->dev, "unsupported sampling rate\n");
- return -EINVAL;
- }
- regmap_update_bits(max9867->regmap, MAX9867_IFC1B,
- MAX9867_IFC1B_BCLK_MASK, bclk_value);
}
return 0;
}
@@ -244,6 +204,9 @@ static int max9867_set_dai_sysclk(struct snd_soc_dai *codec_dai,
value &= ~MAX9867_FREQ_MASK;
regmap_update_bits(max9867->regmap, MAX9867_SYSCLK,
MAX9867_PSCLK_MASK, value);
+ regmap_update_bits(max9867->regmap, MAX9867_IFC1B,
+ MAX9867_IFC1B_BCLK_MASK, 0x010);
+
return 0;
}
--
2.15.1
More information about the Alsa-devel
mailing list