ASoC: SOF: Intel: ssp: BCLK delay parameter

Some codecs require BCLK to be on for some time, before sending
any data. SOF can enable BCLK and then wait for guaranteed time,
before starting DMA on SSP start.

Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20190722141402.7194-22-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Janusz Jankowski 2019-07-22 09:14:02 -05:00 committed by Mark Brown
parent a3ebccb52e
commit 6298b78742
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
4 changed files with 8 additions and 1 deletions

View File

@ -76,6 +76,9 @@ struct sof_ipc_dai_ssp_params {
uint16_t tdm_per_slot_padding_flag; uint16_t tdm_per_slot_padding_flag;
uint32_t clks_control; uint32_t clks_control;
uint32_t quirks; uint32_t quirks;
uint32_t bclk_delay; /* guaranteed time (ms) for which BCLK
* will be driven, before sending data
*/
} __packed; } __packed;
/* HDA Configuration Request - SOF_IPC_DAI_HDA_CONFIG */ /* HDA Configuration Request - SOF_IPC_DAI_HDA_CONFIG */

View File

@ -26,7 +26,7 @@
/* SOF ABI version major, minor and patch numbers */ /* SOF ABI version major, minor and patch numbers */
#define SOF_ABI_MAJOR 3 #define SOF_ABI_MAJOR 3
#define SOF_ABI_MINOR 8 #define SOF_ABI_MINOR 9
#define SOF_ABI_PATCH 0 #define SOF_ABI_PATCH 0
/* SOF ABI version number. Format within 32bit word is MMmmmppp */ /* SOF ABI version number. Format within 32bit word is MMmmmppp */

View File

@ -75,6 +75,7 @@
#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH 503 #define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH 503
#define SOF_TKN_INTEL_SSP_QUIRKS 504 #define SOF_TKN_INTEL_SSP_QUIRKS 504
#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT 505 #define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT 505
#define SOF_TKN_INTEL_SSP_BCLK_DELAY 506
/* DMIC */ /* DMIC */
#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION 600 #define SOF_TKN_INTEL_DMIC_DRIVER_VERSION 600

View File

@ -748,6 +748,9 @@ static const struct sof_topology_token ssp_tokens[] = {
get_token_u16, get_token_u16,
offsetof(struct sof_ipc_dai_ssp_params, offsetof(struct sof_ipc_dai_ssp_params,
tdm_per_slot_padding_flag), 0}, tdm_per_slot_padding_flag), 0},
{SOF_TKN_INTEL_SSP_BCLK_DELAY, SND_SOC_TPLG_TUPLE_TYPE_WORD,
get_token_u32,
offsetof(struct sof_ipc_dai_ssp_params, bclk_delay), 0},
}; };