ASoC: tlv320aic3x: Add support for CBM_CFS and CBS_CFM clocking modes
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Tue, 20 Nov 2018 12:42:53 +0000 (14:42 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 20 Nov 2018 15:35:04 +0000 (15:35 +0000)
The codec can support any variation of bclk/fs master/slave configuration.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tlv320aic3x.c

index 6a271e6..6aa0edf 100644 (file)
@@ -1260,6 +1260,16 @@ static int aic3x_set_dai_fmt(struct snd_soc_dai *codec_dai,
                aic3x->master = 0;
                iface_areg &= ~(BIT_CLK_MASTER | WORD_CLK_MASTER);
                break;
+       case SND_SOC_DAIFMT_CBM_CFS:
+               aic3x->master = 1;
+               iface_areg |= BIT_CLK_MASTER;
+               iface_areg &= ~WORD_CLK_MASTER;
+               break;
+       case SND_SOC_DAIFMT_CBS_CFM:
+               aic3x->master = 1;
+               iface_areg |= WORD_CLK_MASTER;
+               iface_areg &= ~BIT_CLK_MASTER;
+               break;
        default:
                return -EINVAL;
        }