brintos

brintos / linux-shallow public Read only

0
0
Text · 3.7 KiB · a3d3399 Raw
167 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2//3// soc-acpi-intel-sdw-mockup-match.c - tables and support for SoundWire4// mockup device ACPI enumeration.5//6// Copyright (c) 2021, Intel Corporation.7//8 9#include <sound/soc-acpi.h>10#include <sound/soc-acpi-intel-match.h>11#include "soc-acpi-intel-sdw-mockup-match.h"12 13static const struct snd_soc_acpi_endpoint sdw_mockup_single_endpoint = {14	.num = 0,15	.aggregated = 0,16	.group_position = 0,17	.group_id = 0,18};19 20static const struct snd_soc_acpi_endpoint sdw_mockup_l_endpoint = {21	.num = 0,22	.aggregated = 1,23	.group_position = 0,24	.group_id = 1,25};26 27static const struct snd_soc_acpi_endpoint sdw_mockup_r_endpoint = {28	.num = 0,29	.aggregated = 1,30	.group_position = 1,31	.group_id = 1,32};33 34static const struct snd_soc_acpi_adr_device sdw_mockup_headset_0_adr[] = {35	{36		.adr = 0x0000000105AA5500ull,37		.num_endpoints = 1,38		.endpoints = &sdw_mockup_single_endpoint,39		.name_prefix = "sdw_mockup_headset0"40	}41};42 43static const struct snd_soc_acpi_adr_device sdw_mockup_headset_1_adr[] = {44	{45		.adr = 0x0001000105AA5500ull,46		.num_endpoints = 1,47		.endpoints = &sdw_mockup_single_endpoint,48		.name_prefix = "sdw_mockup_headset1"49	}50};51 52static const struct snd_soc_acpi_adr_device sdw_mockup_amp_1_adr[] = {53	{54		.adr = 0x000100010555AA00ull,55		.num_endpoints = 1,56		.endpoints = &sdw_mockup_single_endpoint,57		.name_prefix = "sdw_mockup_amp1"58	}59};60 61static const struct snd_soc_acpi_adr_device sdw_mockup_amp_2_adr[] = {62	{63		.adr = 0x000200010555AA00ull,64		.num_endpoints = 1,65		.endpoints = &sdw_mockup_single_endpoint,66		.name_prefix = "sdw_mockup_amp2"67	}68};69 70static const struct snd_soc_acpi_adr_device sdw_mockup_mic_0_adr[] = {71	{72		.adr = 0x0000000105555500ull,73		.num_endpoints = 1,74		.endpoints = &sdw_mockup_single_endpoint,75		.name_prefix = "sdw_mockup_mic0"76	}77};78 79static const struct snd_soc_acpi_adr_device sdw_mockup_mic_3_adr[] = {80	{81		.adr = 0x0003000105555500ull,82		.num_endpoints = 1,83		.endpoints = &sdw_mockup_single_endpoint,84		.name_prefix = "sdw_mockup_mic3"85	}86};87 88static const struct snd_soc_acpi_adr_device sdw_mockup_amp_1_group1_adr[] = {89	{90		.adr = 0x000100010555AA00ull,91		.num_endpoints = 1,92		.endpoints = &sdw_mockup_l_endpoint,93		.name_prefix = "sdw_mockup_amp1_l"94	}95};96 97static const struct snd_soc_acpi_adr_device sdw_mockup_amp_2_group1_adr[] = {98	{99		.adr = 0x000200010555AA00ull,100		.num_endpoints = 1,101		.endpoints = &sdw_mockup_r_endpoint,102		.name_prefix = "sdw_mockup_amp2_r"103	}104};105 106const struct snd_soc_acpi_link_adr sdw_mockup_headset_1amp_mic[] = {107	{108		.mask = BIT(0),109		.num_adr = ARRAY_SIZE(sdw_mockup_headset_0_adr),110		.adr_d = sdw_mockup_headset_0_adr,111	},112	{113		.mask = BIT(1),114		.num_adr = ARRAY_SIZE(sdw_mockup_amp_1_adr),115		.adr_d = sdw_mockup_amp_1_adr,116	},117	{118		.mask = BIT(3),119		.num_adr = ARRAY_SIZE(sdw_mockup_mic_3_adr),120		.adr_d = sdw_mockup_mic_3_adr,121	},122	{}123};124 125const struct snd_soc_acpi_link_adr sdw_mockup_headset_2amps_mic[] = {126	{127		.mask = BIT(0),128		.num_adr = ARRAY_SIZE(sdw_mockup_headset_0_adr),129		.adr_d = sdw_mockup_headset_0_adr,130	},131	{132		.mask = BIT(1),133		.num_adr = ARRAY_SIZE(sdw_mockup_amp_1_group1_adr),134		.adr_d = sdw_mockup_amp_1_group1_adr,135	},136	{137		.mask = BIT(2),138		.num_adr = ARRAY_SIZE(sdw_mockup_amp_2_group1_adr),139		.adr_d = sdw_mockup_amp_2_group1_adr,140	},141	{142		.mask = BIT(3),143		.num_adr = ARRAY_SIZE(sdw_mockup_mic_3_adr),144		.adr_d = sdw_mockup_mic_3_adr,145	},146	{}147};148 149const struct snd_soc_acpi_link_adr sdw_mockup_mic_headset_1amp[] = {150	{151		.mask = BIT(1),152		.num_adr = ARRAY_SIZE(sdw_mockup_headset_1_adr),153		.adr_d = sdw_mockup_headset_1_adr,154	},155	{156		.mask = BIT(2),157		.num_adr = ARRAY_SIZE(sdw_mockup_amp_2_adr),158		.adr_d = sdw_mockup_amp_2_adr,159	},160	{161		.mask = BIT(0),162		.num_adr = ARRAY_SIZE(sdw_mockup_mic_0_adr),163		.adr_d = sdw_mockup_mic_0_adr,164	},165	{}166};167