diff mbox

[1/2] ASoC: max98090: Correct pclk divisor settings

Message ID 1415039337-28026-1-git-send-email-dgreid@chromium.org (mailing list archive)
State Accepted
Commit ece509c10985ba93ccc8c68f808a9e767250041c
Headers show

Commit Message

Dylan Reid Nov. 3, 2014, 6:28 p.m. UTC
The Baytrail-based chromebooks have a 20MHz mclk, the code was setting
the divisor incorrectly in this case.  According to the 98090
datasheet, the divisor should be set to DIV1 for 10 <= mclk <= 20.
Correct this and the surrounding clock ranges as well to match the
datasheet.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
---
 sound/soc/codecs/max98090.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Mark Brown Nov. 4, 2014, 7:59 p.m. UTC | #1
On Mon, Nov 03, 2014 at 10:28:56AM -0800, Dylan Reid wrote:
> The Baytrail-based chromebooks have a 20MHz mclk, the code was setting
> the divisor incorrectly in this case.  According to the 98090
> datasheet, the divisor should be set to DIV1 for 10 <= mclk <= 20.
> Correct this and the surrounding clock ranges as well to match the
> datasheet.

Applied both, thanks.
diff mbox

Patch

diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c
index d519294..1229554 100644
--- a/sound/soc/codecs/max98090.c
+++ b/sound/soc/codecs/max98090.c
@@ -1941,13 +1941,13 @@  static int max98090_dai_set_sysclk(struct snd_soc_dai *dai,
 	 *		 0x02 (when master clk is 20MHz to 40MHz)..
 	 *		 0x03 (when master clk is 40MHz to 60MHz)..
 	 */
-	if ((freq >= 10000000) && (freq < 20000000)) {
+	if ((freq >= 10000000) && (freq <= 20000000)) {
 		snd_soc_write(codec, M98090_REG_SYSTEM_CLOCK,
 			M98090_PSCLK_DIV1);
-	} else if ((freq >= 20000000) && (freq < 40000000)) {
+	} else if ((freq > 20000000) && (freq <= 40000000)) {
 		snd_soc_write(codec, M98090_REG_SYSTEM_CLOCK,
 			M98090_PSCLK_DIV2);
-	} else if ((freq >= 40000000) && (freq < 60000000)) {
+	} else if ((freq > 40000000) && (freq <= 60000000)) {
 		snd_soc_write(codec, M98090_REG_SYSTEM_CLOCK,
 			M98090_PSCLK_DIV4);
 	} else {