ASoC: SOF: mediatek: add mt8188 audio support

Add mt8188 dai driver and specify of_machine to support mt8188 audio.

Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Yaochun Hung <yc.hung@mediatek.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230523025933.30494-2-trevor.wu@mediatek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Trevor Wu 2023-05-23 10:59:32 +08:00 committed by Mark Brown
parent 13e75f4b03
commit 0f3d5585ad
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -594,7 +594,65 @@ static const struct sof_dev_desc sof_of_mt8186_desc = {
.ops = &sof_mt8186_ops,
};
/*
* DL2, DL3, UL4, UL5 are registered as SOF FE, so creating the corresponding
* SOF BE to complete the pipeline.
*/
static struct snd_soc_dai_driver mt8188_dai[] = {
{
.name = "SOF_DL2",
.playback = {
.channels_min = 1,
.channels_max = 2,
},
},
{
.name = "SOF_DL3",
.playback = {
.channels_min = 1,
.channels_max = 2,
},
},
{
.name = "SOF_UL4",
.capture = {
.channels_min = 1,
.channels_max = 2,
},
},
{
.name = "SOF_UL5",
.capture = {
.channels_min = 1,
.channels_max = 2,
},
},
};
/* mt8188 ops */
static struct snd_sof_dsp_ops sof_mt8188_ops;
static int sof_mt8188_ops_init(struct snd_sof_dev *sdev)
{
/* common defaults */
memcpy(&sof_mt8188_ops, &sof_mt8186_ops, sizeof(sof_mt8188_ops));
sof_mt8188_ops.drv = mt8188_dai;
sof_mt8188_ops.num_drv = ARRAY_SIZE(mt8188_dai);
return 0;
}
static struct snd_sof_of_mach sof_mt8188_machs[] = {
{
.compatible = "mediatek,mt8188",
.sof_tplg_filename = "sof-mt8188.tplg",
},
{}
};
static const struct sof_dev_desc sof_of_mt8188_desc = {
.of_machines = sof_mt8188_machs,
.ipc_supported_mask = BIT(SOF_IPC),
.ipc_default = SOF_IPC,
.default_fw_path = {
@ -607,7 +665,8 @@ static const struct sof_dev_desc sof_of_mt8188_desc = {
[SOF_IPC] = "sof-mt8188.ri",
},
.nocodec_tplg_filename = "sof-mt8188-nocodec.tplg",
.ops = &sof_mt8186_ops,
.ops = &sof_mt8188_ops,
.ops_init = sof_mt8188_ops_init,
};
static const struct of_device_id sof_of_mt8186_ids[] = {