Skip to content
This repository was archived by the owner on Jan 17, 2019. It is now read-only.

Commit f73aa73

Browse files
committed
topology: move dmic related macros to dmic.m4 in platform/intel
Signed-off-by: Ranjani Sridharan <[email protected]>
1 parent f58a047 commit f73aa73

File tree

4 files changed

+63
-56
lines changed

4 files changed

+63
-56
lines changed

topology/m4/dai.m4

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -121,61 +121,6 @@ define(`D_DAI', `SectionDAI."'N_DAI`" {'
121121
` capture "'$3`"'
122122
`}')
123123

124-
dnl PDM_TUPLES(pdm ctrl id, mic_a_enable, mic_b_enable, polarity_a, polarity_b,
125-
dnl clk_egde, skew)
126-
define(`PDM_TUPLES',
127-
` tuples."short.pdm$1" {'
128-
` SOF_TKN_INTEL_DMIC_PDM_CTRL_ID' STR($1)
129-
` SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable' STR($2)
130-
` SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable' STR($3)
131-
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_A' STR($4)
132-
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_B' STR($5)
133-
` SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE' STR($6)
134-
` SOF_TKN_INTEL_DMIC_PDM_SKEW' STR($7)
135-
` }'
136-
)
137-
138-
dnl PDM_CONFIG(type, idx, pdm tuples list)
139-
define(`PDM_CONFIG',
140-
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_pdm_tuples" {'
141-
` tokens "sof_dmic_pdm_tokens"'
142-
$3
143-
`}'
144-
)
145-
146-
dnl DMIC currently only supports 16 bit or 32-bit word length
147-
dnl DMIC_WORD_LENGTH(frame format)
148-
define(`DMIC_WORD_LENGTH',
149-
`ifelse($1, `s16le', 16, $1, `s32le', 32, `')')
150-
151-
dnl DMIC_CONFIG(driver_version, clk_min, clk_mac, duty_min, duty_max,
152-
dnl req pdm count, sample_rate,
153-
dnl fifo word length, type, idx, pdm controller config)
154-
define(`DMIC_CONFIG',
155-
`SectionVendorTuples."'N_DAI_CONFIG($9$10)`_dmic_tuples" {'
156-
` tokens "sof_dmic_tokens"'
157-
` tuples."word" {'
158-
` SOF_TKN_INTEL_DMIC_DRIVER_VERSION' STR($1)
159-
` SOF_TKN_INTEL_DMIC_CLK_MIN' STR($2)
160-
` SOF_TKN_INTEL_DMIC_CLK_MAX' STR($3)
161-
` SOF_TKN_INTEL_DMIC_DUTY_MIN' STR($4)
162-
` SOF_TKN_INTEL_DMIC_DUTY_MAX' STR($5)
163-
` SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE' STR($6)
164-
` SOF_TKN_INTEL_DMIC_SAMPLE_RATE' STR($7)
165-
` SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH' STR($8)
166-
` }'
167-
`}'
168-
dnl PDM config for the number of active PDM controllers
169-
$11
170-
`SectionData."'N_DAI_CONFIG($9$10)`_pdm_data" {'
171-
` tuples "'N_DAI_CONFIG($9$10)`_pdm_tuples"'
172-
`}'
173-
`SectionData."'N_DAI_CONFIG($9$10)`_data" {'
174-
` tuples "'N_DAI_CONFIG($9$10)`_dmic_tuples"'
175-
176-
`}'
177-
)
178-
179124
dnl DAI Config)
180125
define(`N_DAI_CONFIG', `DAICONFIG.'$1)
181126

topology/platform/intel/Makefile.am

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ EXTRA_DIST = \
44
byt.m4 \
55
cht.m4 \
66
hsw.m4 \
7-
cnl.m4
7+
cnl.m4 \
8+
dmic.m4
89

topology/platform/intel/dmic.m4

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
divert(-1)
2+
3+
dnl DMIC related macros
4+
5+
dnl PDM_TUPLES(pdm ctrl id, mic_a_enable, mic_b_enable, polarity_a, polarity_b,
6+
dnl clk_egde, skew)
7+
define(`PDM_TUPLES',
8+
` tuples."short.pdm$1" {'
9+
` SOF_TKN_INTEL_DMIC_PDM_CTRL_ID' STR($1)
10+
` SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable' STR($2)
11+
` SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable' STR($3)
12+
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_A' STR($4)
13+
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_B' STR($5)
14+
` SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE' STR($6)
15+
` SOF_TKN_INTEL_DMIC_PDM_SKEW' STR($7)
16+
` }'
17+
)
18+
19+
dnl PDM_CONFIG(type, idx, pdm tuples list)
20+
define(`PDM_CONFIG',
21+
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_pdm_tuples" {'
22+
` tokens "sof_dmic_pdm_tokens"'
23+
$3
24+
`}'
25+
)
26+
27+
dnl DMIC currently only supports 16 bit or 32-bit word length
28+
dnl DMIC_WORD_LENGTH(frame format)
29+
define(`DMIC_WORD_LENGTH',
30+
`ifelse($1, `s16le', 16, $1, `s32le', 32, `')')
31+
32+
dnl DMIC_CONFIG(driver_version, clk_min, clk_mac, duty_min, duty_max,
33+
dnl req pdm count, sample_rate,
34+
dnl fifo word length, type, idx, pdm controller config)
35+
define(`DMIC_CONFIG',
36+
`SectionVendorTuples."'N_DAI_CONFIG($9$10)`_dmic_tuples" {'
37+
` tokens "sof_dmic_tokens"'
38+
` tuples."word" {'
39+
` SOF_TKN_INTEL_DMIC_DRIVER_VERSION' STR($1)
40+
` SOF_TKN_INTEL_DMIC_CLK_MIN' STR($2)
41+
` SOF_TKN_INTEL_DMIC_CLK_MAX' STR($3)
42+
` SOF_TKN_INTEL_DMIC_DUTY_MIN' STR($4)
43+
` SOF_TKN_INTEL_DMIC_DUTY_MAX' STR($5)
44+
` SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE' STR($6)
45+
` SOF_TKN_INTEL_DMIC_SAMPLE_RATE' STR($7)
46+
` SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH' STR($8)
47+
` }'
48+
`}'
49+
dnl PDM config for the number of active PDM controllers
50+
$11
51+
`SectionData."'N_DAI_CONFIG($9$10)`_pdm_data" {'
52+
` tuples "'N_DAI_CONFIG($9$10)`_pdm_tuples"'
53+
`}'
54+
`SectionData."'N_DAI_CONFIG($9$10)`_data" {'
55+
` tuples "'N_DAI_CONFIG($9$10)`_dmic_tuples"'
56+
57+
`}'
58+
)
59+
60+
divert(0)dnl

topology/test/test-capture.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# Include topology builder
66
include(`dai.m4')
77
include(`ssp.m4')
8+
include(`dmic.m4')
89
include(`utils.m4')
910
include(`pipeline.m4')
1011

0 commit comments

Comments
 (0)