Skip to content

Commit 9ee2666

Browse files
zcwangbardliao
authored andcommitted
ASoC: soc-acpi-intel-arl-match: add rt712_l0_rt1320_l3 support
Add support for using the rt712 multi-function codec on link 0 and the rt1320 amplifier on link 3 on ARL platforms. Signed-off-by: Gary C Wang <gary.c.wang@intel.com> Co-developed-by: Mac Chiang <mac.chiang@intel.com> Signed-off-by: Mac Chiang <mac.chiang@intel.com>
1 parent 8c51bde commit 9ee2666

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

sound/soc/intel/common/soc-acpi-intel-arl-match.c

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <sound/soc-acpi.h>
99
#include <sound/soc-acpi-intel-match.h>
1010
#include <sound/soc-acpi-intel-ssp-common.h>
11+
#include "soc-acpi-intel-sdca-quirks.h"
1112
#include "sof-function-topology-lib.h"
1213

1314
static const struct snd_soc_acpi_endpoint single_endpoint = {
@@ -237,6 +238,15 @@ static const struct snd_soc_acpi_adr_device rt722_0_agg_adr[] = {
237238
}
238239
};
239240

241+
static const struct snd_soc_acpi_adr_device rt712_0_agg_adr[] = {
242+
{
243+
.adr = 0x000030025D071201ull,
244+
.num_endpoints = ARRAY_SIZE(jack_amp_g1_dmic_endpoints),
245+
.endpoints = jack_amp_g1_dmic_endpoints,
246+
.name_prefix = "rt712"
247+
}
248+
};
249+
240250
static const struct snd_soc_acpi_adr_device rt1316_3_single_adr[] = {
241251
{
242252
.adr = 0x000330025D131601ull,
@@ -255,6 +265,15 @@ static const struct snd_soc_acpi_adr_device rt1320_2_single_adr[] = {
255265
}
256266
};
257267

268+
static const struct snd_soc_acpi_adr_device rt1320_3_group1_adr[] = {
269+
{
270+
.adr = 0x000330025D132001ull,
271+
.num_endpoints = 1,
272+
.endpoints = &spk_r_endpoint,
273+
.name_prefix = "rt1320-1"
274+
}
275+
};
276+
258277
static const struct snd_soc_acpi_link_adr arl_cs42l43_l0[] = {
259278
{
260279
.mask = BIT(0),
@@ -404,6 +423,20 @@ static const struct snd_soc_acpi_link_adr arl_rt722_l0_rt1320_l2[] = {
404423
{}
405424
};
406425

426+
static const struct snd_soc_acpi_link_adr arl_rt712_l0_rt1320_l3[] = {
427+
{
428+
.mask = BIT(0),
429+
.num_adr = ARRAY_SIZE(rt712_0_agg_adr),
430+
.adr_d = rt712_0_agg_adr,
431+
},
432+
{
433+
.mask = BIT(3),
434+
.num_adr = ARRAY_SIZE(rt1320_3_group1_adr),
435+
.adr_d = rt1320_3_group1_adr,
436+
},
437+
{}
438+
};
439+
407440
static const struct snd_soc_acpi_codecs arl_essx_83x6 = {
408441
.num_codecs = 3,
409442
.codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
@@ -495,6 +528,14 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
495528
.drv_name = "sof_sdw",
496529
.sof_tplg_filename = "sof-arl-rt711-l0-rt1316-l3.tplg",
497530
},
531+
{
532+
.link_mask = BIT(0) | BIT(3),
533+
.links = arl_rt712_l0_rt1320_l3,
534+
.drv_name = "sof_sdw",
535+
.machine_check = snd_soc_acpi_intel_sdca_is_device_rt712_vb,
536+
.sof_tplg_filename = "sof-arl-rt712-l0-rt1320-l3.tplg",
537+
.get_function_tplg_files = sof_sdw_get_tplg_files,
538+
},
498539
{
499540
.link_mask = BIT(2) | BIT(3),
500541
.links = arl_cs42l43_l2_cs35l56_l3,

0 commit comments

Comments
 (0)