0001
0002
0003
0004
0005
0006
0007
0008
0009 #include <sound/soc-acpi.h>
0010 #include <sound/soc-acpi-intel-match.h>
0011 #include "soc-acpi-intel-sdw-mockup-match.h"
0012
0013 static const struct snd_soc_acpi_endpoint sdw_mockup_single_endpoint = {
0014 .num = 0,
0015 .aggregated = 0,
0016 .group_position = 0,
0017 .group_id = 0,
0018 };
0019
0020 static const struct snd_soc_acpi_endpoint sdw_mockup_l_endpoint = {
0021 .num = 0,
0022 .aggregated = 1,
0023 .group_position = 0,
0024 .group_id = 1,
0025 };
0026
0027 static const struct snd_soc_acpi_endpoint sdw_mockup_r_endpoint = {
0028 .num = 0,
0029 .aggregated = 1,
0030 .group_position = 1,
0031 .group_id = 1,
0032 };
0033
0034 static const struct snd_soc_acpi_adr_device sdw_mockup_headset_0_adr[] = {
0035 {
0036 .adr = 0x0000000105AA5500ull,
0037 .num_endpoints = 1,
0038 .endpoints = &sdw_mockup_single_endpoint,
0039 .name_prefix = "sdw_mockup_headset0"
0040 }
0041 };
0042
0043 static const struct snd_soc_acpi_adr_device sdw_mockup_headset_1_adr[] = {
0044 {
0045 .adr = 0x0001000105AA5500ull,
0046 .num_endpoints = 1,
0047 .endpoints = &sdw_mockup_single_endpoint,
0048 .name_prefix = "sdw_mockup_headset1"
0049 }
0050 };
0051
0052 static const struct snd_soc_acpi_adr_device sdw_mockup_amp_1_adr[] = {
0053 {
0054 .adr = 0x000100010555AA00ull,
0055 .num_endpoints = 1,
0056 .endpoints = &sdw_mockup_single_endpoint,
0057 .name_prefix = "sdw_mockup_amp1"
0058 }
0059 };
0060
0061 static const struct snd_soc_acpi_adr_device sdw_mockup_amp_2_adr[] = {
0062 {
0063 .adr = 0x000200010555AA00ull,
0064 .num_endpoints = 1,
0065 .endpoints = &sdw_mockup_single_endpoint,
0066 .name_prefix = "sdw_mockup_amp2"
0067 }
0068 };
0069
0070 static const struct snd_soc_acpi_adr_device sdw_mockup_mic_0_adr[] = {
0071 {
0072 .adr = 0x0000000105555500ull,
0073 .num_endpoints = 1,
0074 .endpoints = &sdw_mockup_single_endpoint,
0075 .name_prefix = "sdw_mockup_mic0"
0076 }
0077 };
0078
0079 static const struct snd_soc_acpi_adr_device sdw_mockup_mic_3_adr[] = {
0080 {
0081 .adr = 0x0003000105555500ull,
0082 .num_endpoints = 1,
0083 .endpoints = &sdw_mockup_single_endpoint,
0084 .name_prefix = "sdw_mockup_mic3"
0085 }
0086 };
0087
0088 static const struct snd_soc_acpi_adr_device sdw_mockup_amp_1_group1_adr[] = {
0089 {
0090 .adr = 0x000100010555AA00ull,
0091 .num_endpoints = 1,
0092 .endpoints = &sdw_mockup_l_endpoint,
0093 .name_prefix = "sdw_mockup_amp1_l"
0094 }
0095 };
0096
0097 static const struct snd_soc_acpi_adr_device sdw_mockup_amp_2_group1_adr[] = {
0098 {
0099 .adr = 0x000200010555AA00ull,
0100 .num_endpoints = 1,
0101 .endpoints = &sdw_mockup_r_endpoint,
0102 .name_prefix = "sdw_mockup_amp2_r"
0103 }
0104 };
0105
0106 const struct snd_soc_acpi_link_adr sdw_mockup_headset_1amp_mic[] = {
0107 {
0108 .mask = BIT(0),
0109 .num_adr = ARRAY_SIZE(sdw_mockup_headset_0_adr),
0110 .adr_d = sdw_mockup_headset_0_adr,
0111 },
0112 {
0113 .mask = BIT(1),
0114 .num_adr = ARRAY_SIZE(sdw_mockup_amp_1_adr),
0115 .adr_d = sdw_mockup_amp_1_adr,
0116 },
0117 {
0118 .mask = BIT(3),
0119 .num_adr = ARRAY_SIZE(sdw_mockup_mic_3_adr),
0120 .adr_d = sdw_mockup_mic_3_adr,
0121 },
0122 {}
0123 };
0124
0125 const struct snd_soc_acpi_link_adr sdw_mockup_headset_2amps_mic[] = {
0126 {
0127 .mask = BIT(0),
0128 .num_adr = ARRAY_SIZE(sdw_mockup_headset_0_adr),
0129 .adr_d = sdw_mockup_headset_0_adr,
0130 },
0131 {
0132 .mask = BIT(1),
0133 .num_adr = ARRAY_SIZE(sdw_mockup_amp_1_group1_adr),
0134 .adr_d = sdw_mockup_amp_1_group1_adr,
0135 },
0136 {
0137 .mask = BIT(2),
0138 .num_adr = ARRAY_SIZE(sdw_mockup_amp_2_group1_adr),
0139 .adr_d = sdw_mockup_amp_2_group1_adr,
0140 },
0141 {
0142 .mask = BIT(3),
0143 .num_adr = ARRAY_SIZE(sdw_mockup_mic_3_adr),
0144 .adr_d = sdw_mockup_mic_3_adr,
0145 },
0146 {}
0147 };
0148
0149 const struct snd_soc_acpi_link_adr sdw_mockup_mic_headset_1amp[] = {
0150 {
0151 .mask = BIT(1),
0152 .num_adr = ARRAY_SIZE(sdw_mockup_headset_1_adr),
0153 .adr_d = sdw_mockup_headset_1_adr,
0154 },
0155 {
0156 .mask = BIT(2),
0157 .num_adr = ARRAY_SIZE(sdw_mockup_amp_2_adr),
0158 .adr_d = sdw_mockup_amp_2_adr,
0159 },
0160 {
0161 .mask = BIT(0),
0162 .num_adr = ARRAY_SIZE(sdw_mockup_mic_0_adr),
0163 .adr_d = sdw_mockup_mic_0_adr,
0164 },
0165 {}
0166 };