-----Original Message----- From: Pierre-Louis Bossart [mailto:pierre-louis.bossart@linux.intel.com] Sent: Tuesday, December 20, 2016 11:04 PM To: Jie, Yang yang.jie@intel.com; Keyon Jie yang.jie@linux.intel.com; sound-open-firmware@alsa-project.org; liam.r.girdwood@linux.intel.com Cc: Zhang, Keqiao keqiao.zhang@intel.com; Ingalsuo, Seppo seppo.ingalsuo@intel.com; Lin, Mengdong mengdong.lin@intel.com Subject: Re: [Sound-open-firmware] [PATCH 4/8] ssp: switch dai format form PCM B mode to normal I2S mode
On 12/20/16 8:56 AM, Jie, Yang wrote:
-----Original Message----- From: Pierre-Louis Bossart [mailto:pierre-louis.bossart@linux.intel.com] Sent: Tuesday, December 20, 2016 10:31 PM To: Keyon Jie yang.jie@linux.intel.com; sound-open-firmware@alsa- project.org; liam.r.girdwood@linux.intel.com Cc: Zhang, Keqiao keqiao.zhang@intel.com; Jie, Yang yang.jie@intel.com; Ingalsuo, Seppo seppo.ingalsuo@intel.com; Lin, Mengdong mengdong.lin@intel.com Subject: Re: [Sound-open-firmware] [PATCH 4/8] ssp: switch dai format form PCM B mode to normal I2S mode
On 12/20/16 1:46 AM, Keyon Jie wrote:
it is configured from host/codec side that using I2S mode, so switch it.
src/ipc/intel-ipc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ipc/intel-ipc.c b/src/ipc/intel-ipc.c index 16a906b..b159980 100644 --- a/src/ipc/intel-ipc.c +++ b/src/ipc/intel-ipc.c @@ -562,7 +562,7 @@ static uint32_t ipc_device_set_formats(uint32_t header)
/* setup the DAI HW config - TODO hard coded due to IPC limitations */ dai_dev->dai_config.mclk = config_req.clock_frequency;
- dai_dev->dai_config.format = DAI_FMT_DSP_B | DAI_FMT_CONT |
- dai_dev->dai_config.format = DAI_FMT_I2S | DAI_FMT_CONT | DAI_FMT_NB_NF | DAI_FMT_CBS_CFS; dai_dev->dai_config.frame_size = 32; /* TODO 16bit stereo hard
coded */
dai_dev->dai_config.bclk_fs = 32; /* 32 BCLKs per frame - */
Why are we doing this? If we want to be compatible with existing machine drivers you will want to support DSP_B with 4 slots, so this needs to be programmable.
Hi Pierre, You can see that the latest bytcr_rt5640.c is using I2S mode: ... .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS, ... https://git.kernel.org/cgit/linux/kernel/git/broonie/sound.git/tree/so und/soc/intel/boards/bytcr_rt5640.c?h=for-next
we will add IPC to support this programmable next step.
Look at the machine drivers for rt5645, 70, they use 4 slots.
Aha, they do, let me try make it configurable in next version, thank you for pointing out that Pierre.
Thanks, ~Keyon