ASoC: da7213: add .auto_selectable_formats support
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 11 Sep 2023 01:41:55 +0000 (01:41 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 18 Sep 2023 13:32:15 +0000 (14:32 +0100)
By this patch, DAI format might be automatically selected
(Depends on paired DAI, and/or Sound Card).

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Linh Phung <linh.phung.jy@renesas.com>
Tested-by: Khanh Le <khanh.le.xr@renesas.com>
Link: https://lore.kernel.org/r/87y1hdh4f1.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/da7213.c

index d725ec25ce2bee54ab3e19f74912e6e0ed6e7a41..49d97627abc6474ee705ea8ecfa38d09a08a1eb7 100644 (file)
@@ -1550,12 +1550,30 @@ static int da7213_set_component_pll(struct snd_soc_component *component,
        return _da7213_set_component_pll(component, pll_id, source, fref, fout);
 }
 
+/*
+ * Select below from Sound Card, not Auto
+ *     SND_SOC_DAIFMT_CBC_CFC
+ *     SND_SOC_DAIFMT_CBP_CFP
+ */
+static u64 da7213_dai_formats =
+       SND_SOC_POSSIBLE_DAIFMT_I2S     |
+       SND_SOC_POSSIBLE_DAIFMT_LEFT_J  |
+       SND_SOC_POSSIBLE_DAIFMT_RIGHT_J |
+       SND_SOC_POSSIBLE_DAIFMT_DSP_A   |
+       SND_SOC_POSSIBLE_DAIFMT_DSP_B   |
+       SND_SOC_POSSIBLE_DAIFMT_NB_NF   |
+       SND_SOC_POSSIBLE_DAIFMT_NB_IF   |
+       SND_SOC_POSSIBLE_DAIFMT_IB_NF   |
+       SND_SOC_POSSIBLE_DAIFMT_IB_IF;
+
 /* DAI operations */
 static const struct snd_soc_dai_ops da7213_dai_ops = {
        .hw_params      = da7213_hw_params,
        .set_fmt        = da7213_set_dai_fmt,
        .mute_stream    = da7213_mute,
        .no_capture_mute = 1,
+       .auto_selectable_formats        = &da7213_dai_formats,
+       .num_auto_selectable_formats    = 1,
 };
 
 static struct snd_soc_dai_driver da7213_dai = {