]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ASoC: SOF: Intel: ssp: BCLK delay parameter
authorJanusz Jankowski <janusz.jankowski@linux.intel.com>
Mon, 22 Jul 2019 14:14:02 +0000 (09:14 -0500)
committerMark Brown <broonie@kernel.org>
Tue, 23 Jul 2019 11:22:19 +0000 (12:22 +0100)
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>
include/sound/sof/dai-intel.h
include/uapi/sound/sof/abi.h
include/uapi/sound/sof/tokens.h
sound/soc/sof/topology.c

index 4bb8ee138ba7f2a88e2ebac6003b6d475cab7144..a81afd3fbd41e45edf7947ecc171aa9eeeb9bff4 100644 (file)
@@ -76,6 +76,9 @@ struct sof_ipc_dai_ssp_params {
        uint16_t tdm_per_slot_padding_flag;
        uint32_t clks_control;
        uint32_t quirks;
+       uint32_t bclk_delay;    /* guaranteed time (ms) for which BCLK
+                                * will be driven, before sending data
+                                */
 } __packed;
 
 /* HDA Configuration Request - SOF_IPC_DAI_HDA_CONFIG */
index 4a9c24434f42593ca2a8544ad7695cb280917a11..dff70a42445a17fc2dd9f45ae807de7862524f57 100644 (file)
@@ -26,7 +26,7 @@
 
 /* SOF ABI version major, minor and patch numbers */
 #define SOF_ABI_MAJOR 3
-#define SOF_ABI_MINOR 8
+#define SOF_ABI_MINOR 9
 #define SOF_ABI_PATCH 0
 
 /* SOF ABI version number. Format within 32bit word is MMmmmppp */
index dc1b27daaac622e6e13de2b35b687fe9da56833a..6435240cef13515ec62a9f299d92f8f2bb0ad60c 100644 (file)
@@ -75,6 +75,7 @@
 #define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH    503
 #define SOF_TKN_INTEL_SSP_QUIRKS               504
 #define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT 505
+#define SOF_TKN_INTEL_SSP_BCLK_DELAY           506
 
 /* DMIC */
 #define SOF_TKN_INTEL_DMIC_DRIVER_VERSION      600
index 432ae343f960240c761bc1fdb1aad2e4273913a2..12b7d900b9c24568ba604b8cc6183a6ff3cdcfc4 100644 (file)
@@ -748,6 +748,9 @@ static const struct sof_topology_token ssp_tokens[] = {
                get_token_u16,
                offsetof(struct sof_ipc_dai_ssp_params,
                         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},
 
 };