ASoC: ak4458: Add DSD support for ak4458 and ak4497
authorShengjiu Wang <shengjiu.wang@nxp.com>
Tue, 15 Sep 2020 13:57:00 +0000 (21:57 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 17 Sep 2020 16:40:13 +0000 (17:40 +0100)
commit337d348b8399adf1a19c8d65f6407939b4743fc9
tree01bae50167a68442e01139e38057c5742ff49089
parentfc50e26de9677206ae43a261ddc4181ed7e4af78
ASoC: ak4458: Add DSD support for ak4458 and ak4497

Ak4458 can't support DSD512 format, but ak4497 can, so add
a new enum variable (enum ak4458_type) in ak4458_drvdata to
distinguish these two platforms.

Ak4497 has two kinds of DSD input pin, it can be selected by
the dsd-path property from DT.

In hw_params(), bit clock is calculated according to different
DSD format (DSD64, DSD128, DSD256, DSD512), then registers
are configured.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1600178220-28973-2-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/ak4458.c
sound/soc/codecs/ak4458.h