IPC: DMIC: Add wake_up_time and min_clock_on_time parameters

This patch adds the two parameters into DMIC configuration
IPC. The parameters will control DMIC HW muting in capture start
and ensure in capture stop that the clock has been kept active
sufficient long time. The implementation of these features is
done later.

The reserved[] vector is reduced by the amount of added
words. Also the ABI minor version is incremented.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This commit is contained in:
Seppo Ingalsuo 2018-11-26 12:51:07 +02:00
parent 6e14892bb6
commit d6fb9fd283
1 changed files with 12 additions and 1 deletions

View File

@ -164,6 +164,14 @@ struct sof_ipc_dai_dmic_pdm_ctrl {
* The microphone clock needs to be usually about 50-80 times the used audio
* sample rate. With highest sample rates above 48 kHz this can relaxed
* somewhat.
*
* The parameter wake_up_time describes how long time the microphone needs
* for the data line to produce valid output from mic clock start. The driver
* will mute the captured audio for the given time. The min_clock_on_time
* parameter is used to prevent too short clock bursts to happen. The driver
* will keep the clock active after capture stop if this time is not yet
* met. The unit for both is microseconds (us). Exceed of 100 ms will be
* treated as an error.
*/
struct sof_ipc_dai_dmic_params {
uint32_t driver_ipc_version; /**< Version (1..N) */
@ -181,8 +189,11 @@ struct sof_ipc_dai_dmic_params {
uint32_t num_pdm_active; /**< Number of active pdm controllers */
uint32_t wake_up_time; /**< Time from clock start to data (us) */
uint32_t min_clock_on_time; /**< Min. time that clk is kept on (us) */
/* reserved for future use */
uint32_t reserved[8];
uint32_t reserved[6];
/**< variable number of pdm controller config */
struct sof_ipc_dai_dmic_pdm_ctrl pdm[0];