Skip to content

Commit 11ea647

Browse files
Cyril Chaolgirdwood
authored andcommitted
audio: register MediaTek AFE in SOF Zephyr DAI layer
Add SOF_DAI_MEDIATEK_AFE handling in dai_set_config() and dai_set_device_params(), and expose mediatek_afe devices to dai_get(). Signed-off-by: Cyril Chao <cyril.chao@mediatek.corp-partner.google.com>
1 parent 2366ca8 commit 11ea647

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

src/audio/dai-zephyr.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,10 @@ __cold int dai_set_config(struct dai *dai, struct ipc_config_dai *common_config,
208208
cfg_params = spec_config;
209209
dai_set_link_hda_config(&cfg.link_config, common_config, spec_config);
210210
break;
211+
case SOF_DAI_MEDIATEK_AFE:
212+
cfg.type = DAI_MEDIATEK_AFE;
213+
cfg_params = &sof_cfg->afe;
214+
break;
211215
default:
212216
return -EINVAL;
213217
}

src/lib/dai.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,9 @@ const struct device *zephyr_dev[] = {
191191
#if CONFIG_DAI_INTEL_UAOL
192192
DT_FOREACH_STATUS_OKAY(intel_uaol_dai, GET_DEVICE_LIST)
193193
#endif
194+
#if DT_HAS_COMPAT_STATUS_OKAY(mediatek_afe)
195+
DT_FOREACH_STATUS_OKAY(mediatek_afe, GET_DEVICE_LIST)
196+
#endif
194197
};
195198

196199
const struct device **dai_get_device_list(size_t *count)
@@ -301,6 +304,9 @@ static void dai_set_device_params(struct dai *d)
301304
d->dma_dev = SOF_DMA_DEV_SW;
302305
d->dma_caps = SOF_DMA_CAP_SW;
303306
break;
307+
case SOF_DAI_MEDIATEK_AFE:
308+
d->dma_dev = SOF_DMA_DEV_AFE_MEMIF;
309+
break;
304310
default:
305311
break;
306312
}

0 commit comments

Comments
 (0)