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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>

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@xxxxxxxxxxx>
Tested-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@xxxxxxxxxxx>
---
 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




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux