OSDN Git Service

greybus: gb-audio: Fix DAI formats and master/slave settings
authorMark A. Greer <mgreer@animalcreek.com>
Thu, 21 May 2015 22:56:57 +0000 (15:56 -0700)
committerGreg Kroah-Hartman <gregkh@google.com>
Sat, 23 May 2015 23:26:41 +0000 (16:26 -0700)
Set the various DAI formats so the bridge on the module
is the master of all clocks and the codec is the slave.
The only DAI protocol currently supported is I2S.

Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
Acked-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/audio.c

index 3e8c242..03196a0 100644 (file)
@@ -110,14 +110,15 @@ static struct asoc_simple_card_info *setup_card_info(int device_count)
        obj->card_info.platform         = obj->platform_name;
        obj->card_info.cpu_dai.name     = obj->dai_name;
 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0)
-       obj->card_info.cpu_dai.fmt      = GB_FMTS;
+       obj->card_info.cpu_dai.fmt      = SND_SOC_DAIFMT_CBM_CFM;
 #endif
 #if USE_RT5645
-       obj->card_info.daifmt           = GB_FMTS;
+       obj->card_info.daifmt           = SND_SOC_DAIFMT_NB_NF |
+                                         SND_SOC_DAIFMT_I2S;
        sprintf(obj->codec_name, "rt5645.%d-%04x", RT5647_I2C_ADAPTER_NR,
                RT5647_I2C_ADDR);
        obj->card_info.codec_dai.name   = "rt5645-aif1";
-       obj->card_info.codec_dai.fmt    = SND_SOC_DAIFMT_CBM_CFM;
+       obj->card_info.codec_dai.fmt    = SND_SOC_DAIFMT_CBS_CFS;
        obj->card_info.codec_dai.sysclk = 12288000;
 #else
        sprintf(obj->codec_name, "spdif-dit");