Skip to content

Commit 49cba21

Browse files
bardliaolrgirdwo
authored andcommitted
Topology: Add HDA config
We need to config HDA rate and channels. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
1 parent ce21997 commit 49cba21

29 files changed

+235
-89
lines changed

src/include/kernel/tokens.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,4 +123,8 @@
123123
#define SOF_TKN_INTEL_ALH_RATE 1400
124124
#define SOF_TKN_INTEL_ALH_CH 1401
125125

126+
/* HDA */
127+
#define SOF_TKN_INTEL_HDA_RATE 1500
128+
#define SOF_TKN_INTEL_HDA_CH 1501
129+
126130
#endif /* __KERNEL_TOKENS_H__ */

tools/topology/m4/dai.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ define(`DO_DAI_CONFIG',
133133
`'
134134
` id "'$3`"'
135135
`'
136-
` ifelse($1, `SSP', $5, $1, `ALH', $5, $1, `ESAI', $5, $1, `SAI', $5, `}')'
136+
` ifelse($1, `SSP', $5, $1, `HDA', $5, $1, `ALH', $5, $1, `ESAI', $5, $1, `SAI', $5, `}')'
137137
`ifelse($1, `DMIC', $5, `')'
138138
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples_common" {'
139139
` tokens "sof_dai_tokens"'
@@ -157,7 +157,7 @@ define(`DO_DAI_CONFIG',
157157
` "'$1$2`"'
158158
` ]'
159159
` data ['
160-
` ifelse($1, `HDA', `', `"'N_DAI_CONFIG($1$2)`_data"')'
160+
` "'N_DAI_CONFIG($1$2)`_data"'
161161
` "'N_DAI_CONFIG($1$2)`_data_common"'
162162
`ifelse($1, `DMIC',` "'N_DAI_CONFIG($1$2)`_pdm_data"', `')'
163163
` ]'
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
divert(-1)
2+
3+
dnl HDA related macros
4+
5+
dnl HDA_CONFIG(hda_config_data)
6+
define(`HDA_CONFIG',
7+
`}'
8+
$1
9+
)
10+
11+
dnl HDA_CONFIG_DATA(type, idx, rate, channels)
12+
define(`HDA_CONFIG_DATA',
13+
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples" {'
14+
` tokens "sof_hda_tokens"'
15+
` tuples."word" {'
16+
` SOF_TKN_INTEL_HDA_RATE' STR($3)
17+
` SOF_TKN_INTEL_HDA_CH' STR($4)
18+
` }'
19+
`}'
20+
`SectionData."'N_DAI_CONFIG($1$2)`_data" {'
21+
` tuples "'N_DAI_CONFIG($1$2)`_tuples"'
22+
`}'
23+
)
24+
25+
divert(0)dnl

tools/topology/sof-apl-da7219.m4

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ include(`utils.m4')
77
include(`dai.m4')
88
include(`pipeline.m4')
99
include(`ssp.m4')
10+
include(`hda.m4')
1011

1112
# Include TLV library
1213
include(`common/tlv.m4')
@@ -181,9 +182,12 @@ DAI_CONFIG(DMIC, 0, 2, dmic01,
181182
PDM_CONFIG(DMIC, 0, STEREO_PDM0)))
182183

183184
# 3 HDMI/DP outputs (ID: 3,4,5)
184-
DAI_CONFIG(HDA, 3, 3, iDisp1)
185-
DAI_CONFIG(HDA, 4, 4, iDisp2)
186-
DAI_CONFIG(HDA, 5, 5, iDisp3)
185+
DAI_CONFIG(HDA, 3, 3, iDisp1,
186+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2)))
187+
DAI_CONFIG(HDA, 4, 4, iDisp2,
188+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 4, 48000, 2)))
189+
DAI_CONFIG(HDA, 5, 5, iDisp3,
190+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 5, 48000, 2)))
187191

188192
## remove warnings with SST hard-coded routes
189193

tools/topology/sof-apl-demux-pcm512x.m4

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ include(`dai.m4')
88
include(`pipeline.m4')
99
include(`ssp.m4')
1010
include(`muxdemux.m4')
11+
include(`hda.m4')
1112

1213
# Include TLV library
1314
include(`common/tlv.m4')
@@ -185,8 +186,11 @@ DAI_CONFIG(SSP, 5, 0, SSP5-Codec,
185186
SSP_CONFIG_DATA(SSP, 5, 24)))
186187

187188
# 3 HDMI/DP outputs (ID: 3,4,5)
188-
DAI_CONFIG(HDA, 0, 3, iDisp1)
189-
DAI_CONFIG(HDA, 1, 4, iDisp2)
190-
DAI_CONFIG(HDA, 2, 5, iDisp3)
189+
DAI_CONFIG(HDA, 0, 3, iDisp1,
190+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2)))
191+
DAI_CONFIG(HDA, 1, 4, iDisp2,
192+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2)))
193+
DAI_CONFIG(HDA, 2, 5, iDisp3,
194+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2)))
191195

192196
DEBUG_END

tools/topology/sof-apl-pcm512x.m4

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ include(`utils.m4')
77
include(`dai.m4')
88
include(`pipeline.m4')
99
include(`ssp.m4')
10+
include(`hda.m4')
1011

1112
# Include TLV library
1213
include(`common/tlv.m4')
@@ -215,8 +216,11 @@ DAI_CONFIG(DMIC, 1, 2, dmic16k,
215216
PDM_CONFIG(DMIC, 1, STEREO_PDM0)))
216217

217218
# 3 HDMI/DP outputs (ID: 3,4,5)
218-
DAI_CONFIG(HDA, 0, 3, iDisp1)
219-
DAI_CONFIG(HDA, 1, 4, iDisp2)
220-
DAI_CONFIG(HDA, 2, 5, iDisp3)
219+
DAI_CONFIG(HDA, 0, 3, iDisp1,
220+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2)))
221+
DAI_CONFIG(HDA, 1, 4, iDisp2,
222+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2)))
223+
DAI_CONFIG(HDA, 2, 5, iDisp3,
224+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2)))
221225

222226
DEBUG_END

tools/topology/sof-apl-rt298.m4

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ include(`utils.m4')
77
include(`dai.m4')
88
include(`pipeline.m4')
99
include(`ssp.m4')
10+
include(`hda.m4')
1011

1112
# Include TLV library
1213
include(`common/tlv.m4')
@@ -114,7 +115,10 @@ DAI_CONFIG(SSP, 5, 0, SSP5-Codec,
114115
SSP_TDM(2, 32, 3, 3),
115116
SSP_CONFIG_DATA(SSP, 5, 24)))
116117

117-
DAI_CONFIG(HDA, 3, 3, iDisp1)
118-
DAI_CONFIG(HDA, 4, 4, iDisp2)
119-
DAI_CONFIG(HDA, 5, 5, iDisp3)
118+
DAI_CONFIG(HDA, 3, 3, iDisp1,
119+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2)))
120+
DAI_CONFIG(HDA, 4, 4, iDisp2,
121+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 4, 48000, 2)))
122+
DAI_CONFIG(HDA, 5, 5, iDisp3,
123+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 5, 48000, 2)))
120124

tools/topology/sof-cml-demux-rt5682.m4

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ include(`dai.m4')
88
include(`pipeline.m4')
99
include(`ssp.m4')
1010
include(`muxdemux.m4')
11+
include(`hda.m4')
1112

1213
# Include TLV library
1314
include(`common/tlv.m4')
@@ -216,9 +217,12 @@ DAI_CONFIG(DMIC, 0, 1, dmic01,
216217
PDM_CONFIG(DMIC, 0, FOUR_CH_PDM0_PDM1)))
217218

218219
# 3 HDMI/DP outputs (ID: 3,4,5)
219-
DAI_CONFIG(HDA, 0, 3, iDisp1)
220-
DAI_CONFIG(HDA, 1, 4, iDisp2)
221-
DAI_CONFIG(HDA, 2, 5, iDisp3)
220+
DAI_CONFIG(HDA, 0, 3, iDisp1,
221+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2)))
222+
DAI_CONFIG(HDA, 1, 4, iDisp2,
223+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2)))
224+
DAI_CONFIG(HDA, 2, 5, iDisp3,
225+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2)))
222226

223227

224228
DEBUG_END

tools/topology/sof-cml-rt5682-kwd.m4

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ include(`utils.m4')
77
include(`dai.m4')
88
include(`pipeline.m4')
99
include(`ssp.m4')
10+
include(`hda.m4')
1011

1112
# Include TLV library
1213
include(`common/tlv.m4')
@@ -209,8 +210,11 @@ DAI_CONFIG(DMIC, 1, 2, dmic16k,
209210
PDM_CONFIG(DMIC, 1, STEREO_PDM0)))
210211

211212
# 3 HDMI/DP outputs (ID: 3,4,5)
212-
DAI_CONFIG(HDA, 0, 3, iDisp1)
213-
DAI_CONFIG(HDA, 1, 4, iDisp2)
214-
DAI_CONFIG(HDA, 2, 5, iDisp3)
213+
DAI_CONFIG(HDA, 0, 3, iDisp1,
214+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2)))
215+
DAI_CONFIG(HDA, 1, 4, iDisp2,
216+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2)))
217+
DAI_CONFIG(HDA, 2, 5, iDisp3,
218+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2)))
215219

216220
DEBUG_END

tools/topology/sof-cml-rt5682.m4

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ include(`utils.m4')
77
include(`dai.m4')
88
include(`pipeline.m4')
99
include(`ssp.m4')
10+
include(`hda.m4')
1011

1112
# Include TLV library
1213
include(`common/tlv.m4')
@@ -185,8 +186,11 @@ DAI_CONFIG(DMIC, 1, 2, dmic16k,
185186
PDM_CONFIG(DMIC, 1, STEREO_PDM0)))
186187

187188
# 3 HDMI/DP outputs (ID: 3,4,5)
188-
DAI_CONFIG(HDA, 0, 3, iDisp1)
189-
DAI_CONFIG(HDA, 1, 4, iDisp2)
190-
DAI_CONFIG(HDA, 2, 5, iDisp3)
189+
DAI_CONFIG(HDA, 0, 3, iDisp1,
190+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2)))
191+
DAI_CONFIG(HDA, 1, 4, iDisp2,
192+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2)))
193+
DAI_CONFIG(HDA, 2, 5, iDisp3,
194+
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2)))
191195

192196
DEBUG_END

0 commit comments

Comments
 (0)