Path: blob/master/sound/soc/amd/acp/amd-acp63-acpi-match.c
26481 views
// SPDX-License-Identifier: GPL-2.0-only1/*2* amd-acp63-acpi-match.c - tables and support for ACP 6.3 platform3* ACPI enumeration.4*5* Copyright 2024 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 acp63_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_link_adr acp63_rt722_only[] = {106{107.mask = BIT(0),108.num_adr = ARRAY_SIZE(rt722_0_single_adr),109.adr_d = rt722_0_single_adr,110},111{}112};113114struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sof_sdw_machines[] = {115{116.link_mask = BIT(0) | BIT(1),117.links = acp63_4_in_1_sdca,118.drv_name = "amd_sof_sdw",119.sof_tplg_filename = "sof-acp_6_3-rt711-l0-rt1316-l0-rt714-l1.tplg",120.fw_filename = "sof-acp_6_3.ri",121},122{},123};124EXPORT_SYMBOL(snd_soc_acpi_amd_acp63_sof_sdw_machines);125126struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sdw_machines[] = {127{128.link_mask = BIT(0),129.links = acp63_rt722_only,130.drv_name = "amd_sdw",131},132{133.link_mask = BIT(0) | BIT(1),134.links = acp63_4_in_1_sdca,135.drv_name = "amd_sdw",136},137{},138};139EXPORT_SYMBOL(snd_soc_acpi_amd_acp63_sdw_machines);140141MODULE_DESCRIPTION("AMD ACP6.3 tables and support for ACPI enumeration");142MODULE_LICENSE("GPL");143MODULE_AUTHOR("[email protected]");144145146