[alsa-devel] [PATCH 1/2] ASoC: ak4613: add use CTRL2::CKS = 00

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Thu Jun 15 02:39:40 CEST 2017


From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>

ak4613 CTRL2::CKS controls Speed Mode (Normal/Double/Quad) for Master
Mode. In default, Normal Mode uses 512fs, but in such case, requested
input clock for all mode will be same. Then, it might not be eble to
support correct output if input clock was not enough.
This patch uses 256fs, and reduse requested imput clock for Noral Mode.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
Tested-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx at renesas.com>
---
 sound/soc/codecs/ak4613.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sound/soc/codecs/ak4613.c b/sound/soc/codecs/ak4613.c
index 27c44c7..4584846 100644
--- a/sound/soc/codecs/ak4613.c
+++ b/sound/soc/codecs/ak4613.c
@@ -70,6 +70,7 @@
 #define FMT_MASK	(0xf8)
 
 /* CTRL2 */
+#define CKS_MASK		(3 << 4)
 #define DFS_MASK		(3 << 2)
 #define DFS_NORMAL_SPEED	(0 << 2)
 #define DFS_DOUBLE_SPEED	(1 << 2)
@@ -371,7 +372,9 @@ static int ak4613_dai_hw_params(struct snd_pcm_substream *substream,
 	fmt_ctrl = AUDIO_IFACE_TO_VAL(iface);
 
 	snd_soc_update_bits(codec, CTRL1, FMT_MASK, fmt_ctrl);
-	snd_soc_update_bits(codec, CTRL2, DFS_MASK, ctrl2);
+
+	/* CKS = 00 */
+	snd_soc_update_bits(codec, CTRL2, (CKS_MASK | DFS_MASK), ctrl2);
 
 	snd_soc_update_bits(codec, ICTRL, ICTRL_MASK, priv->ic);
 	snd_soc_update_bits(codec, OCTRL, OCTRL_MASK, priv->oc);
-- 
1.9.1



More information about the Alsa-devel mailing list