-----Original Message----- From: Pierre-Louis Bossart [mailto:pierre-louis.bossart@linux.intel.com] Sent: Tuesday, December 20, 2016 10:33 PM To: Keyon Jie yang.jie@linux.intel.com; Lin, Mengdong mengdong.lin@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 Subject: Re: [Sound-open-firmware] [PATCH 7/8] ssp: change stream format to S24_4LE
On 12/20/16 2:17 AM, Keyon Jie wrote:
On 2016年12月20日 16:10, Lin, Mengdong wrote:
Is the format for firmware internal processing still 16bits? We only use 24 bits to exchange data with RT5651 codec?
yes, we only use 24bits to exchange with codec ATM, and keep the internal format before DAI output.
we do have plan to change the internal format to 32bits, that is required from kinds of processing.
Some BT links require 16 bits on the interface, making everything 24 times isn't quite right. This needs to be programmable and not hard-coded.
Yes, we also need IPC to configure this also.
Thanks, ~Keyon
thanks, ~Keyon
Thanks Mengdong
-----Original Message----- From: Keyon Jie [mailto:yang.jie@linux.intel.com] Sent: Tuesday, December 20, 2016 3:47 PM To: sound-open-firmware@alsa-project.org; liam.r.girdwood@linux.intel.com Cc: Jie, Yang yang.jie@intel.com; Ingalsuo, Seppo seppo.ingalsuo@intel.com; Zhang, Keqiao keqiao.zhang@intel.com; Lin, Mengdong mengdong.lin@intel.com; Keyon Jie yang.jie@linux.intel.com Subject: [PATCH 7/8] ssp: change stream format to S24_4LE
- stream format changed to S24_LE;
- ssp device period size changed to 512 Byte; 3. dai config frame
size(24b), bclks_fs(50), mclks_fs(400);
it is verified work fine on minnow max + rt5651, for both SSP_CLK_EXT and SSP_CLK_AUDIO clock mode.
Signed-off-by: Keyon Jie yang.jie@linux.intel.com
src/ipc/intel-ipc.c | 7 ++++--- src/platform/baytrail/include/platform/platform.h | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/ipc/intel-ipc.c b/src/ipc/intel-ipc.c index b159980..33727a0 100644 --- a/src/ipc/intel-ipc.c +++ b/src/ipc/intel-ipc.c @@ -564,9 +564,10 @@ static uint32_t ipc_device_set_formats(uint32_t header) dai_dev->dai_config.mclk = config_req.clock_frequency; 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 - */
- dai_dev->dai_config.mclk_fs = 256;
/* TODO: convert from dai stream_format */
dai_dev->dai_config.frame_size = 24;
dai_dev->dai_config.bclk_fs = 50; /* 50 BCLKs per frame - */
dai_dev->dai_config.mclk_fs = 400; dai_dev->dai_config.clk_src = SSP_CLK_EXT;
/* set SSP M/N dividers */
diff --git a/src/platform/baytrail/include/platform/platform.h b/src/platform/baytrail/include/platform/platform.h index b0000b4..3f7be88 100644 --- a/src/platform/baytrail/include/platform/platform.h +++ b/src/platform/baytrail/include/platform/platform.h @@ -39,7 +39,7 @@ #define PLATFORM_SSP_PORT 2
/* default SSP stream format - need aligned with codec setting*/ -#define PLATFORM_SSP_STREAM_FORMAT STREAM_FORMAT_S16_LE +#define PLATFORM_SSP_STREAM_FORMAT STREAM_FORMAT_S24_4LE
/* IPC Interrupt */ #define PLATFORM_IPC_INTERUPT IRQ_NUM_EXT_IA @@ -62,7 +62,7 @@ #define PLAT_HOST_PERIODS 2 /* give enough latency for DMA refill */
/* Platform Dev DMA buffer config - these should align with DMA engine */ -#define PLAT_DEV_PERSIZE 256 /* must be multiple of DMA+DEV burst size */ +#define PLAT_DEV_PERSIZE 512 /* must be multiple of DMA+DEV burst size */ #define PLAT_DEV_PERIODS 2 /* give enough latency for DMA refill */
/* DMA channel drain timeout in microseconds */
2.7.4
Sound-open-firmware mailing list Sound-open-firmware@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/sound-open-firmware
Sound-open-firmware mailing list Sound-open-firmware@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/sound-open-firmware