topology: move dmic related macros to dmic.m4 in platform/intel

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This commit is contained in:
Ranjani Sridharan 2018-06-25 00:09:53 -07:00
parent f58a047278
commit f73aa73978
4 changed files with 63 additions and 56 deletions

View File

@ -121,61 +121,6 @@ define(`D_DAI', `SectionDAI."'N_DAI`" {'
` capture "'$3`"'
`}')
dnl PDM_TUPLES(pdm ctrl id, mic_a_enable, mic_b_enable, polarity_a, polarity_b,
dnl clk_egde, skew)
define(`PDM_TUPLES',
` tuples."short.pdm$1" {'
` SOF_TKN_INTEL_DMIC_PDM_CTRL_ID' STR($1)
` SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable' STR($2)
` SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable' STR($3)
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_A' STR($4)
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_B' STR($5)
` SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE' STR($6)
` SOF_TKN_INTEL_DMIC_PDM_SKEW' STR($7)
` }'
)
dnl PDM_CONFIG(type, idx, pdm tuples list)
define(`PDM_CONFIG',
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_pdm_tuples" {'
` tokens "sof_dmic_pdm_tokens"'
$3
`}'
)
dnl DMIC currently only supports 16 bit or 32-bit word length
dnl DMIC_WORD_LENGTH(frame format)
define(`DMIC_WORD_LENGTH',
`ifelse($1, `s16le', 16, $1, `s32le', 32, `')')
dnl DMIC_CONFIG(driver_version, clk_min, clk_mac, duty_min, duty_max,
dnl req pdm count, sample_rate,
dnl fifo word length, type, idx, pdm controller config)
define(`DMIC_CONFIG',
`SectionVendorTuples."'N_DAI_CONFIG($9$10)`_dmic_tuples" {'
` tokens "sof_dmic_tokens"'
` tuples."word" {'
` SOF_TKN_INTEL_DMIC_DRIVER_VERSION' STR($1)
` SOF_TKN_INTEL_DMIC_CLK_MIN' STR($2)
` SOF_TKN_INTEL_DMIC_CLK_MAX' STR($3)
` SOF_TKN_INTEL_DMIC_DUTY_MIN' STR($4)
` SOF_TKN_INTEL_DMIC_DUTY_MAX' STR($5)
` SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE' STR($6)
` SOF_TKN_INTEL_DMIC_SAMPLE_RATE' STR($7)
` SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH' STR($8)
` }'
`}'
dnl PDM config for the number of active PDM controllers
$11
`SectionData."'N_DAI_CONFIG($9$10)`_pdm_data" {'
` tuples "'N_DAI_CONFIG($9$10)`_pdm_tuples"'
`}'
`SectionData."'N_DAI_CONFIG($9$10)`_data" {'
` tuples "'N_DAI_CONFIG($9$10)`_dmic_tuples"'
`}'
)
dnl DAI Config)
define(`N_DAI_CONFIG', `DAICONFIG.'$1)

View File

@ -4,5 +4,6 @@ EXTRA_DIST = \
byt.m4 \
cht.m4 \
hsw.m4 \
cnl.m4
cnl.m4 \
dmic.m4

View File

@ -0,0 +1,60 @@
divert(-1)
dnl DMIC related macros
dnl PDM_TUPLES(pdm ctrl id, mic_a_enable, mic_b_enable, polarity_a, polarity_b,
dnl clk_egde, skew)
define(`PDM_TUPLES',
` tuples."short.pdm$1" {'
` SOF_TKN_INTEL_DMIC_PDM_CTRL_ID' STR($1)
` SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable' STR($2)
` SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable' STR($3)
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_A' STR($4)
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_B' STR($5)
` SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE' STR($6)
` SOF_TKN_INTEL_DMIC_PDM_SKEW' STR($7)
` }'
)
dnl PDM_CONFIG(type, idx, pdm tuples list)
define(`PDM_CONFIG',
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_pdm_tuples" {'
` tokens "sof_dmic_pdm_tokens"'
$3
`}'
)
dnl DMIC currently only supports 16 bit or 32-bit word length
dnl DMIC_WORD_LENGTH(frame format)
define(`DMIC_WORD_LENGTH',
`ifelse($1, `s16le', 16, $1, `s32le', 32, `')')
dnl DMIC_CONFIG(driver_version, clk_min, clk_mac, duty_min, duty_max,
dnl req pdm count, sample_rate,
dnl fifo word length, type, idx, pdm controller config)
define(`DMIC_CONFIG',
`SectionVendorTuples."'N_DAI_CONFIG($9$10)`_dmic_tuples" {'
` tokens "sof_dmic_tokens"'
` tuples."word" {'
` SOF_TKN_INTEL_DMIC_DRIVER_VERSION' STR($1)
` SOF_TKN_INTEL_DMIC_CLK_MIN' STR($2)
` SOF_TKN_INTEL_DMIC_CLK_MAX' STR($3)
` SOF_TKN_INTEL_DMIC_DUTY_MIN' STR($4)
` SOF_TKN_INTEL_DMIC_DUTY_MAX' STR($5)
` SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE' STR($6)
` SOF_TKN_INTEL_DMIC_SAMPLE_RATE' STR($7)
` SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH' STR($8)
` }'
`}'
dnl PDM config for the number of active PDM controllers
$11
`SectionData."'N_DAI_CONFIG($9$10)`_pdm_data" {'
` tuples "'N_DAI_CONFIG($9$10)`_pdm_tuples"'
`}'
`SectionData."'N_DAI_CONFIG($9$10)`_data" {'
` tuples "'N_DAI_CONFIG($9$10)`_dmic_tuples"'
`}'
)
divert(0)dnl

View File

@ -5,6 +5,7 @@
# Include topology builder
include(`dai.m4')
include(`ssp.m4')
include(`dmic.m4')
include(`utils.m4')
include(`pipeline.m4')