From 3be16c7bc4e9796f1bbce5bfc726211356d8ba6e Mon Sep 17 00:00:00 2001 From: Viorel Suman Date: Mon, 12 Feb 2018 12:35:19 +0200 Subject: MLK-15071: ASoC: fsl: imx-ak4497: Fix clk for 384KHz and 786KHz (part 2) With the current multipliers SAI isn't able to derive a correct bitclk. e.g: When playing at 786Khz with current multiplier MCLK = 22579200, requested freq 22579200 but SAI wants: MCLK = (DIV + 1) * 2 * freq [SAI TCR2], so an acceptable solution is to add a 2x factor to mclk. Signed-off-by: Viorel Suman [ Aisheng: split codec changes ] Signed-off-by: Dong Aisheng --- sound/soc/fsl/imx-ak4497.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sound/soc/fsl/imx-ak4497.c') diff --git a/sound/soc/fsl/imx-ak4497.c b/sound/soc/fsl/imx-ak4497.c index b1bd6264e105..71dee45ce40f 100644 --- a/sound/soc/fsl/imx-ak4497.c +++ b/sound/soc/fsl/imx-ak4497.c @@ -45,8 +45,8 @@ static const struct imx_ak4497_fs_mul { { .min = 44100, .max = 48000, .mul = 512 }, /* Normal */ { .min = 88200, .max = 96000, .mul = 256 }, /* Double */ { .min = 176400, .max = 192000, .mul = 128 }, /* Quad */ - { .min = 384000, .max = 384000, .mul = 64 }, /* Oct */ - { .min = 768000, .max = 768000, .mul = 32 }, /* Hex */ + { .min = 352800, .max = 384000, .mul = 2*64 }, /* Oct */ + { .min = 705600, .max = 768000, .mul = 2*32 }, /* Hex */ }; static bool imx_ak4497_is_dsd(struct snd_pcm_hw_params *params) -- cgit v1.2.3