Path: blob/master/sound/soc/amd/acp/amd-acp70-acpi-match.c
26481 views
// SPDX-License-Identifier: GPL-2.0-only1/*2* amd-acp70-acpi-match.c - tables and support for ACP 7.0 & ACP7.13* ACPI enumeration.4*5* Copyright 2025 Advanced Micro Devices, Inc.6*/78#include <sound/soc-acpi.h>9#include "../mach-config.h"1011static const struct snd_soc_acpi_endpoint single_endpoint = {12.num = 0,13.aggregated = 0,14.group_position = 0,15.group_id = 016};1718static const struct snd_soc_acpi_endpoint spk_l_endpoint = {19.num = 0,20.aggregated = 1,21.group_position = 0,22.group_id = 123};2425static const struct snd_soc_acpi_endpoint spk_r_endpoint = {26.num = 0,27.aggregated = 1,28.group_position = 1,29.group_id = 130};3132static const struct snd_soc_acpi_adr_device rt711_rt1316_group_adr[] = {33{34.adr = 0x000030025D071101ull,35.num_endpoints = 1,36.endpoints = &single_endpoint,37.name_prefix = "rt711"38},39{40.adr = 0x000030025D131601ull,41.num_endpoints = 1,42.endpoints = &spk_l_endpoint,43.name_prefix = "rt1316-1"44},45{46.adr = 0x000032025D131601ull,47.num_endpoints = 1,48.endpoints = &spk_r_endpoint,49.name_prefix = "rt1316-2"50},51};5253static const struct snd_soc_acpi_adr_device rt714_adr[] = {54{55.adr = 0x130025d071401ull,56.num_endpoints = 1,57.endpoints = &single_endpoint,58.name_prefix = "rt714"59}60};6162static const struct snd_soc_acpi_link_adr acp70_4_in_1_sdca[] = {63{ .mask = BIT(0),64.num_adr = ARRAY_SIZE(rt711_rt1316_group_adr),65.adr_d = rt711_rt1316_group_adr,66},67{68.mask = BIT(1),69.num_adr = ARRAY_SIZE(rt714_adr),70.adr_d = rt714_adr,71},72{}73};7475static const struct snd_soc_acpi_endpoint rt722_endpoints[] = {76{77.num = 0,78.aggregated = 0,79.group_position = 0,80.group_id = 0,81},82{83.num = 1,84.aggregated = 0,85.group_position = 0,86.group_id = 0,87},88{89.num = 2,90.aggregated = 0,91.group_position = 0,92.group_id = 0,93},94};9596static const struct snd_soc_acpi_adr_device rt722_0_single_adr[] = {97{98.adr = 0x000030025d072201ull,99.num_endpoints = ARRAY_SIZE(rt722_endpoints),100.endpoints = rt722_endpoints,101.name_prefix = "rt722"102}103};104105static const struct snd_soc_acpi_adr_device rt1320_1_single_adr[] = {106{107.adr = 0x000130025D132001ull,108.num_endpoints = 1,109.endpoints = &single_endpoint,110.name_prefix = "rt1320-1"111}112};113114static const struct snd_soc_acpi_link_adr acp70_rt722_only[] = {115{116.mask = BIT(0),117.num_adr = ARRAY_SIZE(rt722_0_single_adr),118.adr_d = rt722_0_single_adr,119},120{}121};122123static const struct snd_soc_acpi_link_adr acp70_rt722_l0_rt1320_l1[] = {124{125.mask = BIT(0),126.num_adr = ARRAY_SIZE(rt722_0_single_adr),127.adr_d = rt722_0_single_adr,128},129{130.mask = BIT(1),131.num_adr = ARRAY_SIZE(rt1320_1_single_adr),132.adr_d = rt1320_1_single_adr,133},134{}135};136137struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sdw_machines[] = {138{139.link_mask = BIT(0) | BIT(1),140.links = acp70_rt722_l0_rt1320_l1,141.drv_name = "amd_sdw",142},143{144.link_mask = BIT(0),145.links = acp70_rt722_only,146.drv_name = "amd_sdw",147},148{149.link_mask = BIT(0) | BIT(1),150.links = acp70_4_in_1_sdca,151.drv_name = "amd_sdw",152},153{},154};155EXPORT_SYMBOL(snd_soc_acpi_amd_acp70_sdw_machines);156157struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sof_sdw_machines[] = {158{159.link_mask = BIT(0),160.links = acp70_rt722_only,161.drv_name = "amd_sof_sdw",162.sof_tplg_filename = "sof-acp_7_0-rt722-l0.tplg",163.fw_filename = "sof-acp_7_0.ri",164},165{},166};167EXPORT_SYMBOL(snd_soc_acpi_amd_acp70_sof_sdw_machines);168169MODULE_DESCRIPTION("AMD ACP7.0 & ACP7.1 tables and support for ACPI enumeration");170MODULE_LICENSE("GPL");171MODULE_AUTHOR("[email protected]");172173174