diff options
author | Viorel Suman <viorel.suman@nxp.com> | 2018-02-12 12:35:19 +0200 |
---|---|---|
committer | Dong Aisheng <aisheng.dong@nxp.com> | 2019-11-25 15:50:36 +0800 |
commit | 3be16c7bc4e9796f1bbce5bfc726211356d8ba6e (patch) | |
tree | 70b70e0cec393cd60e8f880f6db52b25329c43cb /sound/soc/fsl/imx-ak4497.c | |
parent | c04acda5e45e74d306919d9b5dc04da7eed65ab2 (diff) |
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 <viorel.suman@nxp.com>
[ Aisheng: split codec changes ]
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Diffstat (limited to 'sound/soc/fsl/imx-ak4497.c')
-rw-r--r-- | sound/soc/fsl/imx-ak4497.c | 4 |
1 files changed, 2 insertions, 2 deletions
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) |