@@ -40,6 +40,37 @@ ifdef(`MIC_LINK',`',
4040# HDMI ID calculated based on the configuraiton
4141define ( HDMI_BE_ID_BASE , `0' )
4242
43+ # SDW Pin as DAIs index starts from 2 on each SDW link
44+ define ( `ALH_PIN2' , `2' )
45+ define ( `ALH_PIN3' , eval ( ALH_PIN2 ) + 1 )
46+ define ( `ALH_PIN4' , eval ( ALH_PIN2 ) )
47+ define ( `ALH_PIN5' , eval ( ALH_PIN2 ) )
48+
49+ define ( `ALH_JACK_OUT_NAME' , `SDW'eval ( UAJ_LINK ) `-Playback' )
50+ define ( `ALH_JACK_IN_NAME' , `SDW'eval ( UAJ_LINK ) `-Capture' )
51+ define ( `ALH_AMP_OUT_NAME' , `SDW'eval ( AMP_1_LINK ) `-Playback' )
52+ define ( `ALH_MIC_IN_NAME' , `SDW'eval ( MIC_LINK ) `-Capture' )
53+
54+ # Reorder to match multi-function codec dai index on single SDW link
55+ ifdef ( `MFC' , `
56+ undefine ( `ALH_PIN3' )
57+ undefine ( `ALH_PIN4' )
58+ undefine ( `ALH_PIN5' )
59+ define ( `ALH_PIN3' , eval ( ALH_PIN2 ) + 2 )
60+ define ( `ALH_PIN4' , eval ( ALH_PIN2 ) + 3 )
61+ define ( `ALH_PIN5' , eval ( ALH_PIN2 ) + 1 )
62+
63+ # align the partial string match of full dai link name
64+ undefine ( `ALH_JACK_OUT_NAME' )
65+ undefine ( `ALH_JACK_IN_NAME' )
66+ undefine ( `ALH_AMP_OUT_NAME' )
67+ undefine ( `ALH_MIC_IN_NAME' )
68+ define ( `ALH_JACK_OUT_NAME' , `Playback-SimpleJack' )
69+ define ( `ALH_JACK_IN_NAME' , `Capture-SimpleJack' )
70+ define ( `ALH_AMP_OUT_NAME' , `Playback-SmartAmp' )
71+ define ( `ALH_MIC_IN_NAME' , `Capture-SmartMic' ) '
72+ )
73+
4374ifdef ( `NO_JACK' , `' ,
4475 `undefine ( `HDMI_BE_ID_BASE' )
4576 define ( HDMI_BE_ID_BASE , `2' ) '
@@ -106,16 +137,16 @@ ifdef(`NOJACK', `',
106137`
107138# PCM0 ---> volume ----> mixer --->ALH 2 BE UAJ_LINK
108139# PCM31 ---> volume ------^
109- # PCM1 <--- volume <---- ALH 3 BE UAJ_LINK
140+ # PCM1 <--- volume <---- ALH 3/4 BE UAJ_LINK
110141' )
111142ifdef ( `NOAMP' , `' ,
112143`
113- # PCM2 ---> volume ----> ALH 2 BE AMP_1_LINK
144+ # PCM2 ---> volume ----> ALH 2/5 BE AMP_1_LINK
114145ifdef ( `MONO' , `' ,
115- `# PCM40 --- > volume ---- > ALH 2 BE AMP_2_LINK' )
146+ `# PCM40 --- > volume ---- > ALH 2/5 BE AMP_2_LINK' )
116147' )
117148ifdef ( `NO_LOCAL_MIC' , `' ,
118- `# PCM4 <--- volume <---- ALH 2 BE MIC_LINK' )
149+ `# PCM4 <--- volume <---- ALH 2/3 BE MIC_LINK' )
119150
120151ifdef ( `NOHDMI' , `' ,
121152`
@@ -215,14 +246,14 @@ ifdef(`NOJACK', `',
215246# The NOT_USED_IGNORED is due to dependencies and is adjusted later with an explicit dapm line.
216247
217248DAI_ADD ( sof/pipe-mixer-volume-dai-playback.m4 ,
218- 1 , ALH , eval ( UAJ_LINK * 256 + 2 ) , `SDW'eval ( UAJ_LINK ) `-Playback' ,
249+ 1 , ALH , eval ( UAJ_LINK * 256 + ALH_PIN2 ) , ALH_JACK_OUT_NAME ,
219250 NOT_USE_IGNORED , 2 , s24le ,
220251 1000 , 0 , 0 , SCHEDULE_TIME_DOMAIN_TIMER , 2 , 48000 )
221252
222253# capture DAI is ALH(UAJ_LINK PIN3) using 2 periods
223254# Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0
224255DAI_ADD ( sof/pipe-dai-capture.m4 ,
225- 2 , ALH , eval ( UAJ_LINK * 256 + 3 ) , `SDW'eval ( UAJ_LINK ) `-Capture' ,
256+ 2 , ALH , eval ( UAJ_LINK * 256 + ALH_PIN3 ) , ALH_JACK_IN_NAME ,
226257 PIPELINE_SINK_2 , 2 , s24le ,
227258 1000 , 0 , 0 , SCHEDULE_TIME_DOMAIN_TIMER )
228259
@@ -271,13 +302,13 @@ ifdef(`NOAMP', `',
271302# playback DAI is ALH(AMP_1_LINK PIN2/AMP_2_LINK PIN2) using 2 periods
272303# Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0
273304DAI_ADD ( sof/pipe-dai-playback.m4 ,
274- 3 , ALH , eval ( AMP_1_LINK * 256 + 2 ) , `SDW'eval ( AMP_1_LINK ) `-Playback' ,
305+ 3 , ALH , eval ( AMP_1_LINK * 256 + ALH_PIN4 ) , ALH_AMP_OUT_NAME ,
275306 PIPELINE_SOURCE_3 , 2 , s24le ,
276307 1000 , 0 , 0 , SCHEDULE_TIME_DOMAIN_TIMER )
277308
278309ifdef ( `MONO' , `' ,
279310`DAI_ADD_SCHED ( sof/pipe-dai-sched-playback.m4 ,
280- 4 , ALH , eval ( AMP_2_LINK * 256 + 2 ) , `SDW'eval ( AMP_1_LINK ) `-Playback' ,
311+ 4 , ALH , eval ( AMP_2_LINK * 256 + ALH_PIN4 ) , ALH_AMP_OUT_NAME ,
281312 PIPELINE_SOURCE_4 , 2 , s24le ,
282313 1000 , 0 , 0 , SCHEDULE_TIME_DOMAIN_TIMER ,
283314 PIPELINE_PLAYBACK_SCHED_COMP_3 )
@@ -299,7 +330,7 @@ ifdef(`NO_LOCAL_MIC', `',
299330# capture DAI is ALH(MIC_LINK PIN2) using 2 periods
300331# Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0
301332DAI_ADD ( sof/pipe-dai-capture.m4 ,
302- 5 , ALH , eval ( MIC_LINK * 256 + 2 ) , `SDW'eval ( MIC_LINK ) `-Capture' ,
333+ 5 , ALH , eval ( MIC_LINK * 256 + ALH_PIN5 ) , ALH_MIC_IN_NAME ,
303334 PIPELINE_SINK_5 , 2 , s24le ,
304335 1000 , 0 , 0 , SCHEDULE_TIME_DOMAIN_TIMER )
305336' )
@@ -362,26 +393,26 @@ ifdef(`NOJACK', `',
362393`
363394# ALH dai index = ((link_id << 8) | PDI id)
364395# ALH UAJ_LINK Pin2 (ID: 0)
365- DAI_CONFIG ( ALH , eval ( UAJ_LINK * 256 + 2 ) , 0 , `SDW'eval ( UAJ_LINK ) `-Playback' ,
366- ALH_CONFIG ( ALH_CONFIG_DATA ( ALH , eval ( UAJ_LINK * 256 + 2 ) , 48000 , 2 )))
396+ DAI_CONFIG ( ALH , eval ( UAJ_LINK * 256 + ALH_PIN2 ) , 0 , ALH_JACK_OUT_NAME ,
397+ ALH_CONFIG ( ALH_CONFIG_DATA ( ALH , eval ( UAJ_LINK * 256 + ALH_PIN2 ) , 48000 , 2 )))
367398
368- # ALH UAJ_LINK Pin3 (ID: 1)
369- DAI_CONFIG ( ALH , eval ( UAJ_LINK * 256 + 3 ) , 1 , `SDW'eval ( UAJ_LINK ) `-Capture' ,
370- ALH_CONFIG ( ALH_CONFIG_DATA ( ALH , eval ( UAJ_LINK * 256 + 3 ) , 48000 , 2 )))
399+ # ALH UAJ_LINK Pin3/4 (ID: 1)
400+ DAI_CONFIG ( ALH , eval ( UAJ_LINK * 256 + ALH_PIN3 ) , 1 , ALH_JACK_IN_NAME ,
401+ ALH_CONFIG ( ALH_CONFIG_DATA ( ALH , eval ( UAJ_LINK * 256 + ALH_PIN3 ) , 48000 , 2 )))
371402' )
372403
373404ifdef ( `NOAMP' , `' ,
374405`
375- # ALH AMP_1_LINK Pin2 (ID: 2)
376- DAI_CONFIG ( ALH , eval ( AMP_1_LINK * 256 + 2 ) , 2 , `SDW'eval ( AMP_1_LINK ) `-Playback' ,
377- ALH_CONFIG ( ALH_CONFIG_DATA ( ALH , eval ( AMP_1_LINK * 256 + 2 ) , 48000 , 2 )))
406+ # ALH AMP_1_LINK Pin2/5 (ID: 2)
407+ DAI_CONFIG ( ALH , eval ( AMP_1_LINK * 256 + ALH_PIN4 ) , 2 , ALH_AMP_OUT_NAME ,
408+ ALH_CONFIG ( ALH_CONFIG_DATA ( ALH , eval ( AMP_1_LINK * 256 + ALH_PIN4 ) , 48000 , 2 )))
378409' )
379410
380411ifdef ( `NO_LOCAL_MIC' , `' ,
381412`
382- # ALH MIC_LINK Pin2 (ID: 4)
383- DAI_CONFIG ( ALH , eval ( MIC_LINK * 256 + 2 ) , 4 , `SDW'eval ( MIC_LINK ) `-Capture' ,
384- ALH_CONFIG ( ALH_CONFIG_DATA ( ALH , eval ( MIC_LINK * 256 + 2 ) , 48000 , 2 )))
413+ # ALH MIC_LINK Pin2/3 (ID: 4)
414+ DAI_CONFIG ( ALH , eval ( MIC_LINK * 256 + ALH_PIN5 ) , 4 , ALH_MIC_IN_NAME ,
415+ ALH_CONFIG ( ALH_CONFIG_DATA ( ALH , eval ( MIC_LINK * 256 + ALH_PIN5 ) , 48000 , 2 )))
385416' )
386417
387418ifdef ( `NOHDMI' , `' ,
0 commit comments