diff options
| author | Marian Postevca <posteuca@mutex.one> | 2023-08-30 01:01:16 +0300 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2023-09-11 01:24:11 +0100 |
| commit | 54fcd9dd44b2c82a0262e29b288c2d0b36c6bba5 (patch) | |
| tree | a0d210d0048a1a00c2c6c5d19f8a99ae3f049612 /sound/soc/amd/acp/acp-legacy-mach.c | |
| parent | c680f57095411559e7605af689c7ce01f2281005 (diff) | |
ASoC: amd: acp: Add machine driver that enables sound for systems with a ES8336 codec
This commit enables sound for a line of Huawei laptops that use
the ES8336 codec which is connected to the ACP3X module.
Signed-off-by: Marian Postevca <posteuca@mutex.one>
Link: https://lore.kernel.org/r/20230829220116.1159-6-posteuca@mutex.one
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/amd/acp/acp-legacy-mach.c')
| -rw-r--r-- | sound/soc/amd/acp/acp-legacy-mach.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/sound/soc/amd/acp/acp-legacy-mach.c b/sound/soc/amd/acp/acp-legacy-mach.c index ba39b4dcdd6d..1ab3edffe0ce 100644 --- a/sound/soc/amd/acp/acp-legacy-mach.c +++ b/sound/soc/amd/acp/acp-legacy-mach.c @@ -20,6 +20,7 @@ #include <linux/module.h> #include "acp-mach.h" +#include "acp3x-es83xx/acp3x-es83xx.h" static struct acp_card_drvdata rt5682_rt1019_data = { .hs_cpu_id = I2S_SP, @@ -51,6 +52,14 @@ static struct acp_card_drvdata rt5682s_rt1019_data = { .tdm_mode = false, }; +static struct acp_card_drvdata es83xx_rn_data = { + .hs_cpu_id = I2S_SP, + .dmic_cpu_id = DMIC, + .hs_codec_id = ES83XX, + .dmic_codec_id = DMIC, + .platform = RENOIR, +}; + static struct acp_card_drvdata max_nau8825_data = { .hs_cpu_id = I2S_HS, .amp_cpu_id = I2S_HS, @@ -77,7 +86,13 @@ static struct acp_card_drvdata rt5682s_rt1019_rmb_data = { static bool acp_asoc_init_ops(struct acp_card_drvdata *priv) { - return false; + bool has_ops = false; + + if (priv->hs_codec_id == ES83XX) { + has_ops = true; + acp3x_es83xx_init_ops(&priv->ops); + } + return has_ops; } static int acp_asoc_suspend_pre(struct snd_soc_card *card) @@ -188,6 +203,10 @@ static const struct platform_device_id board_ids[] = { .driver_data = (kernel_ulong_t)&rt5682s_rt1019_data, }, { + .name = "acp3x-es83xx", + .driver_data = (kernel_ulong_t)&es83xx_rn_data, + }, + { .name = "rmb-nau8825-max", .driver_data = (kernel_ulong_t)&max_nau8825_data, }, @@ -213,6 +232,7 @@ MODULE_DESCRIPTION("ACP chrome audio support"); MODULE_ALIAS("platform:acp3xalc56821019"); MODULE_ALIAS("platform:acp3xalc5682sm98360"); MODULE_ALIAS("platform:acp3xalc5682s1019"); +MODULE_ALIAS("platform:acp3x-es83xx"); MODULE_ALIAS("platform:rmb-nau8825-max"); MODULE_ALIAS("platform:rmb-rt5682s-rt1019"); MODULE_LICENSE("GPL v2"); |
