ASoC: imx-card: Need special setting for ak4497 on i.MX8MQ
[ Upstream commit 3349b3d0c63b8b6fcca58156d72407f0b2e101ac ] The SAI on i.MX8MQ don't support one2one ratio for mclk:bclk, so the mclk frequency exceeds the supported range of codec for the case that sample rate is larger than 705kHZ and format is S32_LE. Update the supported width for such case. Fixes: aa736700f42f ("ASoC: imx-card: Add imx-card machine driver") Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1641292835-19085-2-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
3581654693
commit
6bedc3b3d1
@ -553,8 +553,23 @@ static int imx_card_parse_of(struct imx_card_data *data)
|
||||
link_data->cpu_sysclk_id = FSL_SAI_CLK_MAST1;
|
||||
|
||||
/* sai may support mclk/bclk = 1 */
|
||||
if (of_find_property(np, "fsl,mclk-equal-bclk", NULL))
|
||||
if (of_find_property(np, "fsl,mclk-equal-bclk", NULL)) {
|
||||
link_data->one2one_ratio = true;
|
||||
} else {
|
||||
int i;
|
||||
|
||||
/*
|
||||
* i.MX8MQ don't support one2one ratio, then
|
||||
* with ak4497 only 16bit case is supported.
|
||||
*/
|
||||
for (i = 0; i < ARRAY_SIZE(ak4497_fs_mul); i++) {
|
||||
if (ak4497_fs_mul[i].rmin == 705600 &&
|
||||
ak4497_fs_mul[i].rmax == 768000) {
|
||||
ak4497_fs_mul[i].wmin = 32;
|
||||
ak4497_fs_mul[i].wmax = 32;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
link->cpus->of_node = args.np;
|
||||
|
Loading…
x
Reference in New Issue
Block a user