summaryrefslogtreecommitdiff
path: root/sound/soc/fsl/imx-card.c
AgeCommit message (Collapse)Author
2022-06-06ASoC: fsl: Update to use set_fmt_new callbackCharles Keepax
As part of updating the core to directly tell drivers if they are clock provider or consumer update these CPU side drivers to use the new direct callback. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220519154318.2153729-9-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-01-06ASoC: imx-card: improve the sound quality for low rateShengjiu Wang
According to RM, on auto mode: For codec AK4458 and AK4497, the lowest ratio of MLCK/FS is 256 if sample rate is 8kHz-48kHz, For codec AK5558, the lowest ratio of MLCK/FS is 512 if sample rate is 8kHz-48kHz. With these setting the sound quality for 8kHz-48kHz can be improved. 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-4-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-01-06ASoC: imx-card: Fix mclk calculation issue for akcodecShengjiu Wang
Transfer the refined slots and slot_width to akcodec_get_mclk_rate() for mclk calculation, otherwise the mclk frequency does not match with the slots and slot_width for S16_LE format, because the default slot_width is 32. 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-3-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-01-06ASoC: imx-card: Need special setting for ak4497 on i.MX8MQShengjiu Wang
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>
2021-12-20ASoC: fsl: Use dev_err_probe() helperKuninori Morimoto
Use the dev_err_probe() helper, instead of open-coding the same operation. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/20211214020843.2225831-14-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-22ASoC: imx-card: Update to modern clocking terminologyMark Brown
As part of moving to remove the old style defines for the bus clocks update the imx-card driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <broonie@kernel.org> Reviewed-by: Fabio Estevam <festevam@gmail.com> Link: https://lore.kernel.org/r/20210921213542.31688-9-broonie@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-21ASoC: fsl: Constify static snd_soc_opsRikard Falkeborn
These are only assigned to the ops field in the snd_soc_dai_link struct which is a pointer to const struct snd_soc_ops. Make them const to allow the compiler to put them in read-only memory. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> Link: https://lore.kernel.org/r/20210920193947.10237-1-rikard.falkeborn@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-05-25ASoC: imx-card: Make some symbols staticWei Yongjun
The sparse tool complains as follows: sound/soc/fsl/imx-card.c:121:27: warning: symbol 'ak4458_fs_mul' was not declared. Should it be static? sound/soc/fsl/imx-card.c:138:31: warning: symbol 'ak4458_tdm_fs_mul' was not declared. Should it be static? sound/soc/fsl/imx-card.c:149:27: warning: symbol 'ak4497_fs_mul' was not declared. Should it be static? sound/soc/fsl/imx-card.c:166:27: warning: symbol 'ak5558_fs_mul' was not declared. Should it be static? sound/soc/fsl/imx-card.c:180:31: warning: symbol 'ak5558_tdm_fs_mul' was not declared. Should it be static? Those symbols are not used outside of imx-card.c, so marks them static. Fixes: aa736700f42f ("ASoC: imx-card: Add imx-card machine driver") Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Message-Id: <20210524133553.2366502-1-weiyongjun1@huawei.com> Signed-off-by: Mark Brown <broonie@sirena.org.uk>
2021-05-20ASoC: imx-card: Add imx-card machine driverShengjiu Wang
Add machine driver for i.MX boards, which supports AK4458/AK5558/AK4497/AK5552 DAC/ADC attached to SAI interface currently, but these DAC/ADCs are not only supported codecs. This machine driver is designed to be a more common machine driver for i.MX platform, it can support widely cpu dai interface and codec dai interface. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Signed-off-by: Mihai Serban <mihai.serban@nxp.com> Signed-off-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com> Signed-off-by: Viorel Suman <viorel.suman@nxp.com> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com> Link: https://lore.kernel.org/r/1621247488-21412-2-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>