~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/sound/soc/intel/common/soc-acpi-intel-rpl-match.c

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /sound/soc/intel/common/soc-acpi-intel-rpl-match.c (Architecture sparc) and /sound/soc/intel/common/soc-acpi-intel-rpl-match.c (Architecture mips)


  1 // SPDX-License-Identifier: GPL-2.0-only            1 // SPDX-License-Identifier: GPL-2.0-only
  2 /*                                                  2 /*
  3  * soc-apci-intel-rpl-match.c - tables and sup      3  * soc-apci-intel-rpl-match.c - tables and support for RPL ACPI enumeration.
  4  *                                                  4  *
  5  * Copyright (c) 2022 Intel Corporation.            5  * Copyright (c) 2022 Intel Corporation.
  6  */                                                 6  */
  7                                                     7 
  8 #include <sound/soc-acpi.h>                         8 #include <sound/soc-acpi.h>
  9 #include <sound/soc-acpi-intel-match.h>             9 #include <sound/soc-acpi-intel-match.h>
 10 #include <sound/soc-acpi-intel-ssp-common.h>       10 #include <sound/soc-acpi-intel-ssp-common.h>
 11                                                    11 
 12 static const struct snd_soc_acpi_endpoint sing     12 static const struct snd_soc_acpi_endpoint single_endpoint = {
 13         .num = 0,                                  13         .num = 0,
 14         .aggregated = 0,                           14         .aggregated = 0,
 15         .group_position = 0,                       15         .group_position = 0,
 16         .group_id = 0,                             16         .group_id = 0,
 17 };                                                 17 };
 18                                                    18 
 19 static const struct snd_soc_acpi_endpoint spk_     19 static const struct snd_soc_acpi_endpoint spk_l_endpoint = {
 20         .num = 0,                                  20         .num = 0,
 21         .aggregated = 1,                           21         .aggregated = 1,
 22         .group_position = 0,                       22         .group_position = 0,
 23         .group_id = 1,                             23         .group_id = 1,
 24 };                                                 24 };
 25                                                    25 
 26 static const struct snd_soc_acpi_endpoint spk_     26 static const struct snd_soc_acpi_endpoint spk_r_endpoint = {
 27         .num = 0,                                  27         .num = 0,
 28         .aggregated = 1,                           28         .aggregated = 1,
 29         .group_position = 1,                       29         .group_position = 1,
 30         .group_id = 1,                             30         .group_id = 1,
 31 };                                                 31 };
 32                                                    32 
 33 static const struct snd_soc_acpi_endpoint cs42     33 static const struct snd_soc_acpi_endpoint cs42l43_endpoints[] = {
 34         { /* Jack Playback Endpoint */             34         { /* Jack Playback Endpoint */
 35                 .num = 0,                          35                 .num = 0,
 36                 .aggregated = 0,                   36                 .aggregated = 0,
 37                 .group_position = 0,               37                 .group_position = 0,
 38                 .group_id = 0,                     38                 .group_id = 0,
 39         },                                         39         },
 40         { /* DMIC Capture Endpoint */              40         { /* DMIC Capture Endpoint */
 41                 .num = 1,                          41                 .num = 1,
 42                 .aggregated = 0,                   42                 .aggregated = 0,
 43                 .group_position = 0,               43                 .group_position = 0,
 44                 .group_id = 0,                     44                 .group_id = 0,
 45         },                                         45         },
 46         { /* Jack Capture Endpoint */              46         { /* Jack Capture Endpoint */
 47                 .num = 2,                          47                 .num = 2,
 48                 .aggregated = 0,                   48                 .aggregated = 0,
 49                 .group_position = 0,               49                 .group_position = 0,
 50                 .group_id = 0,                     50                 .group_id = 0,
 51         },                                         51         },
 52         { /* Speaker Playback Endpoint */          52         { /* Speaker Playback Endpoint */
 53                 .num = 3,                          53                 .num = 3,
 54                 .aggregated = 0,                   54                 .aggregated = 0,
 55                 .group_position = 0,               55                 .group_position = 0,
 56                 .group_id = 0,                     56                 .group_id = 0,
 57         },                                         57         },
 58 };                                                 58 };
 59                                                    59 
 60 static const struct snd_soc_acpi_adr_device cs     60 static const struct snd_soc_acpi_adr_device cs42l43_0_adr[] = {
 61         {                                          61         {
 62                 .adr = 0x00003001FA424301ull,      62                 .adr = 0x00003001FA424301ull,
 63                 .num_endpoints = ARRAY_SIZE(cs     63                 .num_endpoints = ARRAY_SIZE(cs42l43_endpoints),
 64                 .endpoints = cs42l43_endpoints     64                 .endpoints = cs42l43_endpoints,
 65                 .name_prefix = "cs42l43"           65                 .name_prefix = "cs42l43"
 66         }                                          66         }
 67 };                                                 67 };
 68                                                    68 
 69 static const struct snd_soc_acpi_adr_device rt     69 static const struct snd_soc_acpi_adr_device rt711_0_adr[] = {
 70         {                                          70         {
 71                 .adr = 0x000020025D071100ull,      71                 .adr = 0x000020025D071100ull,
 72                 .num_endpoints = 1,                72                 .num_endpoints = 1,
 73                 .endpoints = &single_endpoint,     73                 .endpoints = &single_endpoint,
 74                 .name_prefix = "rt711"             74                 .name_prefix = "rt711"
 75         }                                          75         }
 76 };                                                 76 };
 77                                                    77 
 78 static const struct snd_soc_acpi_link_adr rpl_     78 static const struct snd_soc_acpi_link_adr rpl_rvp[] = {
 79         {                                          79         {
 80                 .mask = BIT(0),                    80                 .mask = BIT(0),
 81                 .num_adr = ARRAY_SIZE(rt711_0_     81                 .num_adr = ARRAY_SIZE(rt711_0_adr),
 82                 .adr_d = rt711_0_adr,              82                 .adr_d = rt711_0_adr,
 83         },                                         83         },
 84         {}                                         84         {}
 85 };                                                 85 };
 86                                                    86 
 87 static const struct snd_soc_acpi_adr_device rt     87 static const struct snd_soc_acpi_adr_device rt711_sdca_0_adr[] = {
 88         {                                          88         {
 89                 .adr = 0x000030025D071101ull,      89                 .adr = 0x000030025D071101ull,
 90                 .num_endpoints = 1,                90                 .num_endpoints = 1,
 91                 .endpoints = &single_endpoint,     91                 .endpoints = &single_endpoint,
 92                 .name_prefix = "rt711"             92                 .name_prefix = "rt711"
 93         }                                          93         }
 94 };                                                 94 };
 95                                                    95 
 96 static const struct snd_soc_acpi_adr_device rt     96 static const struct snd_soc_acpi_adr_device rt711_sdca_2_adr[] = {
 97         {                                          97         {
 98                 .adr = 0x000230025D071101ull,      98                 .adr = 0x000230025D071101ull,
 99                 .num_endpoints = 1,                99                 .num_endpoints = 1,
100                 .endpoints = &single_endpoint,    100                 .endpoints = &single_endpoint,
101                 .name_prefix = "rt711"            101                 .name_prefix = "rt711"
102         }                                         102         }
103 };                                                103 };
104                                                   104 
105 static const struct snd_soc_acpi_adr_device rt    105 static const struct snd_soc_acpi_adr_device rt1316_1_group1_adr[] = {
106         {                                         106         {
107                 .adr = 0x000131025D131601ull,     107                 .adr = 0x000131025D131601ull, /* unique ID is set for some reason */
108                 .num_endpoints = 1,               108                 .num_endpoints = 1,
109                 .endpoints = &spk_l_endpoint,     109                 .endpoints = &spk_l_endpoint,
110                 .name_prefix = "rt1316-1"         110                 .name_prefix = "rt1316-1"
111         }                                         111         }
112 };                                                112 };
113                                                   113 
114 static const struct snd_soc_acpi_adr_device rt    114 static const struct snd_soc_acpi_adr_device rt1316_2_group1_adr[] = {
115         {                                         115         {
116                 .adr = 0x000230025D131601ull,     116                 .adr = 0x000230025D131601ull,
117                 .num_endpoints = 1,               117                 .num_endpoints = 1,
118                 .endpoints = &spk_r_endpoint,     118                 .endpoints = &spk_r_endpoint,
119                 .name_prefix = "rt1316-2"         119                 .name_prefix = "rt1316-2"
120         }                                         120         }
121 };                                                121 };
122                                                   122 
123 static const struct snd_soc_acpi_adr_device rt    123 static const struct snd_soc_acpi_adr_device rt1316_3_group1_adr[] = {
124         {                                         124         {
125                 .adr = 0x000330025D131601ull,     125                 .adr = 0x000330025D131601ull,
126                 .num_endpoints = 1,               126                 .num_endpoints = 1,
127                 .endpoints = &spk_r_endpoint,     127                 .endpoints = &spk_r_endpoint,
128                 .name_prefix = "rt1316-2"         128                 .name_prefix = "rt1316-2"
129         }                                         129         }
130 };                                                130 };
131                                                   131 
132 static const struct snd_soc_acpi_adr_device rt    132 static const struct snd_soc_acpi_adr_device rt1316_0_group2_adr[] = {
133         {                                         133         {
134                 .adr = 0x000030025D131601ull,     134                 .adr = 0x000030025D131601ull,
135                 .num_endpoints = 1,               135                 .num_endpoints = 1,
136                 .endpoints = &spk_l_endpoint,     136                 .endpoints = &spk_l_endpoint,
137                 .name_prefix = "rt1316-1"         137                 .name_prefix = "rt1316-1"
138         }                                         138         }
139 };                                                139 };
140                                                   140 
141 static const struct snd_soc_acpi_adr_device rt    141 static const struct snd_soc_acpi_adr_device rt1316_1_group2_adr[] = {
142         {                                         142         {
143                 .adr = 0x000131025D131601ull,     143                 .adr = 0x000131025D131601ull,
144                 .num_endpoints = 1,               144                 .num_endpoints = 1,
145                 .endpoints = &spk_r_endpoint,     145                 .endpoints = &spk_r_endpoint,
146                 .name_prefix = "rt1316-2"         146                 .name_prefix = "rt1316-2"
147         }                                         147         }
148 };                                                148 };
149                                                   149 
150 static const struct snd_soc_acpi_adr_device rt    150 static const struct snd_soc_acpi_adr_device rt1318_1_group1_adr[] = {
151         {                                         151         {
152                 .adr = 0x000132025D131801ull,     152                 .adr = 0x000132025D131801ull,
153                 .num_endpoints = 1,               153                 .num_endpoints = 1,
154                 .endpoints = &spk_l_endpoint,     154                 .endpoints = &spk_l_endpoint,
155                 .name_prefix = "rt1318-1"         155                 .name_prefix = "rt1318-1"
156         }                                         156         }
157 };                                                157 };
158                                                   158 
159 static const struct snd_soc_acpi_adr_device rt    159 static const struct snd_soc_acpi_adr_device rt1318_2_group1_adr[] = {
160         {                                         160         {
161                 .adr = 0x000230025D131801ull,     161                 .adr = 0x000230025D131801ull,
162                 .num_endpoints = 1,               162                 .num_endpoints = 1,
163                 .endpoints = &spk_r_endpoint,     163                 .endpoints = &spk_r_endpoint,
164                 .name_prefix = "rt1318-2"         164                 .name_prefix = "rt1318-2"
165         }                                         165         }
166 };                                                166 };
167                                                   167 
168 static const struct snd_soc_acpi_adr_device rt    168 static const struct snd_soc_acpi_adr_device rt714_0_adr[] = {
169         {                                         169         {
170                 .adr = 0x000030025D071401ull,     170                 .adr = 0x000030025D071401ull,
171                 .num_endpoints = 1,               171                 .num_endpoints = 1,
172                 .endpoints = &single_endpoint,    172                 .endpoints = &single_endpoint,
173                 .name_prefix = "rt714"            173                 .name_prefix = "rt714"
174         }                                         174         }
175 };                                                175 };
176                                                   176 
177 static const struct snd_soc_acpi_adr_device rt    177 static const struct snd_soc_acpi_adr_device rt714_2_adr[] = {
178         {                                         178         {
179                 .adr = 0x000230025D071401ull,     179                 .adr = 0x000230025D071401ull,
180                 .num_endpoints = 1,               180                 .num_endpoints = 1,
181                 .endpoints = &single_endpoint,    181                 .endpoints = &single_endpoint,
182                 .name_prefix = "rt714"            182                 .name_prefix = "rt714"
183         }                                         183         }
184 };                                                184 };
185                                                   185 
186 static const struct snd_soc_acpi_adr_device rt    186 static const struct snd_soc_acpi_adr_device rt714_3_adr[] = {
187         {                                         187         {
188                 .adr = 0x000330025D071401ull,     188                 .adr = 0x000330025D071401ull,
189                 .num_endpoints = 1,               189                 .num_endpoints = 1,
190                 .endpoints = &single_endpoint,    190                 .endpoints = &single_endpoint,
191                 .name_prefix = "rt714"            191                 .name_prefix = "rt714"
192         }                                         192         }
193 };                                                193 };
194                                                   194 
195 static const struct snd_soc_acpi_link_adr rpl_    195 static const struct snd_soc_acpi_link_adr rpl_cs42l43_l0[] = {
196         {                                         196         {
197                 .mask = BIT(0),                   197                 .mask = BIT(0),
198                 .num_adr = ARRAY_SIZE(cs42l43_    198                 .num_adr = ARRAY_SIZE(cs42l43_0_adr),
199                 .adr_d = cs42l43_0_adr,           199                 .adr_d = cs42l43_0_adr,
200         },                                        200         },
201         {}                                        201         {}
202 };                                                202 };
203                                                   203 
204 static const struct snd_soc_acpi_link_adr rpl_    204 static const struct snd_soc_acpi_link_adr rpl_sdca_3_in_1[] = {
205         {                                         205         {
206                 .mask = BIT(0),                   206                 .mask = BIT(0),
207                 .num_adr = ARRAY_SIZE(rt711_sd    207                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
208                 .adr_d = rt711_sdca_0_adr,        208                 .adr_d = rt711_sdca_0_adr,
209         },                                        209         },
210         {                                         210         {
211                 .mask = BIT(1),                   211                 .mask = BIT(1),
212                 .num_adr = ARRAY_SIZE(rt1316_1    212                 .num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
213                 .adr_d = rt1316_1_group1_adr,     213                 .adr_d = rt1316_1_group1_adr,
214         },                                        214         },
215         {                                         215         {
216                 .mask = BIT(2),                   216                 .mask = BIT(2),
217                 .num_adr = ARRAY_SIZE(rt714_2_    217                 .num_adr = ARRAY_SIZE(rt714_2_adr),
218                 .adr_d = rt714_2_adr,             218                 .adr_d = rt714_2_adr,
219         },                                        219         },
220         {                                         220         {
221                 .mask = BIT(3),                   221                 .mask = BIT(3),
222                 .num_adr = ARRAY_SIZE(rt1316_3    222                 .num_adr = ARRAY_SIZE(rt1316_3_group1_adr),
223                 .adr_d = rt1316_3_group1_adr,     223                 .adr_d = rt1316_3_group1_adr,
224         },                                        224         },
225         {}                                        225         {}
226 };                                                226 };
227                                                   227 
228 static const struct snd_soc_acpi_link_adr rpl_    228 static const struct snd_soc_acpi_link_adr rpl_sdw_rt711_link0_rt1316_link12_rt714_link3[] = {
229         {                                         229         {
230                 .mask = BIT(0),                   230                 .mask = BIT(0),
231                 .num_adr = ARRAY_SIZE(rt711_sd    231                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
232                 .adr_d = rt711_sdca_0_adr,        232                 .adr_d = rt711_sdca_0_adr,
233         },                                        233         },
234         {                                         234         {
235                 .mask = BIT(1),                   235                 .mask = BIT(1),
236                 .num_adr = ARRAY_SIZE(rt1316_1    236                 .num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
237                 .adr_d = rt1316_1_group1_adr,     237                 .adr_d = rt1316_1_group1_adr,
238         },                                        238         },
239         {                                         239         {
240                 .mask = BIT(2),                   240                 .mask = BIT(2),
241                 .num_adr = ARRAY_SIZE(rt1316_2    241                 .num_adr = ARRAY_SIZE(rt1316_2_group1_adr),
242                 .adr_d = rt1316_2_group1_adr,     242                 .adr_d = rt1316_2_group1_adr,
243         },                                        243         },
244         {                                         244         {
245                 .mask = BIT(3),                   245                 .mask = BIT(3),
246                 .num_adr = ARRAY_SIZE(rt714_3_    246                 .num_adr = ARRAY_SIZE(rt714_3_adr),
247                 .adr_d = rt714_3_adr,             247                 .adr_d = rt714_3_adr,
248         },                                        248         },
249         {}                                        249         {}
250 };                                                250 };
251                                                   251 
252 static const struct snd_soc_acpi_link_adr rpl_    252 static const struct snd_soc_acpi_link_adr rpl_sdw_rt711_link2_rt1316_link01_rt714_link3[] = {
253         {                                         253         {
254                 .mask = BIT(2),                   254                 .mask = BIT(2),
255                 .num_adr = ARRAY_SIZE(rt711_sd    255                 .num_adr = ARRAY_SIZE(rt711_sdca_2_adr),
256                 .adr_d = rt711_sdca_2_adr,        256                 .adr_d = rt711_sdca_2_adr,
257         },                                        257         },
258         {                                         258         {
259                 .mask = BIT(0),                   259                 .mask = BIT(0),
260                 .num_adr = ARRAY_SIZE(rt1316_0    260                 .num_adr = ARRAY_SIZE(rt1316_0_group2_adr),
261                 .adr_d = rt1316_0_group2_adr,     261                 .adr_d = rt1316_0_group2_adr,
262         },                                        262         },
263         {                                         263         {
264                 .mask = BIT(1),                   264                 .mask = BIT(1),
265                 .num_adr = ARRAY_SIZE(rt1316_1    265                 .num_adr = ARRAY_SIZE(rt1316_1_group2_adr),
266                 .adr_d = rt1316_1_group2_adr,     266                 .adr_d = rt1316_1_group2_adr,
267         },                                        267         },
268         {                                         268         {
269                 .mask = BIT(3),                   269                 .mask = BIT(3),
270                 .num_adr = ARRAY_SIZE(rt714_3_    270                 .num_adr = ARRAY_SIZE(rt714_3_adr),
271                 .adr_d = rt714_3_adr,             271                 .adr_d = rt714_3_adr,
272         },                                        272         },
273         {}                                        273         {}
274 };                                                274 };
275                                                   275 
276 static const struct snd_soc_acpi_link_adr rpl_    276 static const struct snd_soc_acpi_link_adr rpl_sdw_rt711_link2_rt1316_link01[] = {
277         {                                         277         {
278                 .mask = BIT(2),                   278                 .mask = BIT(2),
279                 .num_adr = ARRAY_SIZE(rt711_sd    279                 .num_adr = ARRAY_SIZE(rt711_sdca_2_adr),
280                 .adr_d = rt711_sdca_2_adr,        280                 .adr_d = rt711_sdca_2_adr,
281         },                                        281         },
282         {                                         282         {
283                 .mask = BIT(0),                   283                 .mask = BIT(0),
284                 .num_adr = ARRAY_SIZE(rt1316_0    284                 .num_adr = ARRAY_SIZE(rt1316_0_group2_adr),
285                 .adr_d = rt1316_0_group2_adr,     285                 .adr_d = rt1316_0_group2_adr,
286         },                                        286         },
287         {                                         287         {
288                 .mask = BIT(1),                   288                 .mask = BIT(1),
289                 .num_adr = ARRAY_SIZE(rt1316_1    289                 .num_adr = ARRAY_SIZE(rt1316_1_group2_adr),
290                 .adr_d = rt1316_1_group2_adr,     290                 .adr_d = rt1316_1_group2_adr,
291         },                                        291         },
292         {}                                        292         {}
293 };                                                293 };
294                                                   294 
295 static const struct snd_soc_acpi_link_adr rpl_    295 static const struct snd_soc_acpi_link_adr rpl_sdw_rt711_link0_rt1316_link12[] = {
296         {                                         296         {
297                 .mask = BIT(0),                   297                 .mask = BIT(0),
298                 .num_adr = ARRAY_SIZE(rt711_sd    298                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
299                 .adr_d = rt711_sdca_0_adr,        299                 .adr_d = rt711_sdca_0_adr,
300         },                                        300         },
301         {                                         301         {
302                 .mask = BIT(1),                   302                 .mask = BIT(1),
303                 .num_adr = ARRAY_SIZE(rt1316_1    303                 .num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
304                 .adr_d = rt1316_1_group1_adr,     304                 .adr_d = rt1316_1_group1_adr,
305         },                                        305         },
306         {                                         306         {
307                 .mask = BIT(2),                   307                 .mask = BIT(2),
308                 .num_adr = ARRAY_SIZE(rt1316_2    308                 .num_adr = ARRAY_SIZE(rt1316_2_group1_adr),
309                 .adr_d = rt1316_2_group1_adr,     309                 .adr_d = rt1316_2_group1_adr,
310         },                                        310         },
311         {}                                        311         {}
312 };                                                312 };
313                                                   313 
314 static const struct snd_soc_acpi_link_adr rpl_    314 static const struct snd_soc_acpi_link_adr rpl_sdw_rt711_link0_rt1318_link12_rt714_link3[] = {
315         {                                         315         {
316                 .mask = BIT(0),                   316                 .mask = BIT(0),
317                 .num_adr = ARRAY_SIZE(rt711_sd    317                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
318                 .adr_d = rt711_sdca_0_adr,        318                 .adr_d = rt711_sdca_0_adr,
319         },                                        319         },
320         {                                         320         {
321                 .mask = BIT(1),                   321                 .mask = BIT(1),
322                 .num_adr = ARRAY_SIZE(rt1318_1    322                 .num_adr = ARRAY_SIZE(rt1318_1_group1_adr),
323                 .adr_d = rt1318_1_group1_adr,     323                 .adr_d = rt1318_1_group1_adr,
324         },                                        324         },
325         {                                         325         {
326                 .mask = BIT(2),                   326                 .mask = BIT(2),
327                 .num_adr = ARRAY_SIZE(rt1318_2    327                 .num_adr = ARRAY_SIZE(rt1318_2_group1_adr),
328                 .adr_d = rt1318_2_group1_adr,     328                 .adr_d = rt1318_2_group1_adr,
329         },                                        329         },
330         {                                         330         {
331                 .mask = BIT(3),                   331                 .mask = BIT(3),
332                 .num_adr = ARRAY_SIZE(rt714_3_    332                 .num_adr = ARRAY_SIZE(rt714_3_adr),
333                 .adr_d = rt714_3_adr,             333                 .adr_d = rt714_3_adr,
334         },                                        334         },
335         {}                                        335         {}
336 };                                                336 };
337                                                   337 
338 static const struct snd_soc_acpi_link_adr rpl_    338 static const struct snd_soc_acpi_link_adr rpl_sdw_rt711_link0_rt1318_link12[] = {
339         {                                         339         {
340                 .mask = BIT(0),                   340                 .mask = BIT(0),
341                 .num_adr = ARRAY_SIZE(rt711_sd    341                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
342                 .adr_d = rt711_sdca_0_adr,        342                 .adr_d = rt711_sdca_0_adr,
343         },                                        343         },
344         {                                         344         {
345                 .mask = BIT(1),                   345                 .mask = BIT(1),
346                 .num_adr = ARRAY_SIZE(rt1318_1    346                 .num_adr = ARRAY_SIZE(rt1318_1_group1_adr),
347                 .adr_d = rt1318_1_group1_adr,     347                 .adr_d = rt1318_1_group1_adr,
348         },                                        348         },
349         {                                         349         {
350                 .mask = BIT(2),                   350                 .mask = BIT(2),
351                 .num_adr = ARRAY_SIZE(rt1318_2    351                 .num_adr = ARRAY_SIZE(rt1318_2_group1_adr),
352                 .adr_d = rt1318_2_group1_adr,     352                 .adr_d = rt1318_2_group1_adr,
353         },                                        353         },
354         {}                                        354         {}
355 };                                                355 };
356                                                   356 
357 static const struct snd_soc_acpi_link_adr rpl_    357 static const struct snd_soc_acpi_link_adr rpl_sdw_rt1316_link12_rt714_link0[] = {
358         {                                         358         {
359                 .mask = BIT(1),                   359                 .mask = BIT(1),
360                 .num_adr = ARRAY_SIZE(rt1316_1    360                 .num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
361                 .adr_d = rt1316_1_group1_adr,     361                 .adr_d = rt1316_1_group1_adr,
362         },                                        362         },
363         {                                         363         {
364                 .mask = BIT(2),                   364                 .mask = BIT(2),
365                 .num_adr = ARRAY_SIZE(rt1316_2    365                 .num_adr = ARRAY_SIZE(rt1316_2_group1_adr),
366                 .adr_d = rt1316_2_group1_adr,     366                 .adr_d = rt1316_2_group1_adr,
367         },                                        367         },
368         {                                         368         {
369                 .mask = BIT(0),                   369                 .mask = BIT(0),
370                 .num_adr = ARRAY_SIZE(rt714_0_    370                 .num_adr = ARRAY_SIZE(rt714_0_adr),
371                 .adr_d = rt714_0_adr,             371                 .adr_d = rt714_0_adr,
372         },                                        372         },
373         {}                                        373         {}
374 };                                                374 };
375                                                   375 
376 static const struct snd_soc_acpi_link_adr rpl_    376 static const struct snd_soc_acpi_link_adr rpl_sdca_rvp[] = {
377         {                                         377         {
378                 .mask = BIT(0),                   378                 .mask = BIT(0),
379                 .num_adr = ARRAY_SIZE(rt711_sd    379                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
380                 .adr_d = rt711_sdca_0_adr,        380                 .adr_d = rt711_sdca_0_adr,
381         },                                        381         },
382         {}                                        382         {}
383 };                                                383 };
384                                                   384 
385 static const struct snd_soc_acpi_link_adr rplp    385 static const struct snd_soc_acpi_link_adr rplp_crb[] = {
386         {                                         386         {
387                 .mask = BIT(2),                   387                 .mask = BIT(2),
388                 .num_adr = ARRAY_SIZE(rt711_sd    388                 .num_adr = ARRAY_SIZE(rt711_sdca_2_adr),
389                 .adr_d = rt711_sdca_2_adr,        389                 .adr_d = rt711_sdca_2_adr,
390         },                                        390         },
391         {}                                        391         {}
392 };                                                392 };
393                                                   393 
394 static const struct snd_soc_acpi_codecs rpl_rt    394 static const struct snd_soc_acpi_codecs rpl_rt5682_hp = {
395         .num_codecs = 2,                          395         .num_codecs = 2,
396         .codecs = {RT5682_ACPI_HID, RT5682S_AC    396         .codecs = {RT5682_ACPI_HID, RT5682S_ACPI_HID},
397 };                                                397 };
398                                                   398 
399 static const struct snd_soc_acpi_codecs rpl_es    399 static const struct snd_soc_acpi_codecs rpl_essx_83x6 = {
400         .num_codecs = 3,                          400         .num_codecs = 3,
401         .codecs = { "ESSX8316", "ESSX8326", "E    401         .codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
402 };                                                402 };
403                                                   403 
404 static const struct snd_soc_acpi_codecs rpl_ma    404 static const struct snd_soc_acpi_codecs rpl_max98357a_amp = {
405         .num_codecs = 1,                          405         .num_codecs = 1,
406         .codecs = {"MX98357A"}                    406         .codecs = {"MX98357A"}
407 };                                                407 };
408                                                   408 
409 static const struct snd_soc_acpi_codecs rpl_lt    409 static const struct snd_soc_acpi_codecs rpl_lt6911_hdmi = {
410         .num_codecs = 1,                          410         .num_codecs = 1,
411         .codecs = {"INTC10B0"}                    411         .codecs = {"INTC10B0"}
412 };                                                412 };
413                                                   413 
414 struct snd_soc_acpi_mach snd_soc_acpi_intel_rp    414 struct snd_soc_acpi_mach snd_soc_acpi_intel_rpl_machines[] = {
415         {                                         415         {
416                 .comp_ids = &rpl_rt5682_hp,       416                 .comp_ids = &rpl_rt5682_hp,
417                 .drv_name = "rpl_mx98357_rt568    417                 .drv_name = "rpl_mx98357_rt5682",
418                 .machine_quirk = snd_soc_acpi_    418                 .machine_quirk = snd_soc_acpi_codec_list,
419                 .quirk_data = &rpl_max98357a_a    419                 .quirk_data = &rpl_max98357a_amp,
420                 .sof_tplg_filename = "sof-rpl-    420                 .sof_tplg_filename = "sof-rpl-max98357a-rt5682.tplg",
421         },                                        421         },
422         {                                         422         {
423                 .comp_ids = &rpl_rt5682_hp,       423                 .comp_ids = &rpl_rt5682_hp,
424                 .drv_name = "rpl_rt5682_c1_h02    424                 .drv_name = "rpl_rt5682_c1_h02",
425                 .machine_quirk = snd_soc_acpi_    425                 .machine_quirk = snd_soc_acpi_codec_list,
426                 .quirk_data = &rpl_lt6911_hdmi    426                 .quirk_data = &rpl_lt6911_hdmi,
427                 .sof_tplg_filename = "sof-rpl-    427                 .sof_tplg_filename = "sof-rpl-rt5682-ssp1-hdmi-ssp02.tplg",
428         },                                        428         },
429         {                                         429         {
430                 .comp_ids = &rpl_essx_83x6,       430                 .comp_ids = &rpl_essx_83x6,
431                 .drv_name = "rpl_es83x6_c1_h02    431                 .drv_name = "rpl_es83x6_c1_h02",
432                 .machine_quirk = snd_soc_acpi_    432                 .machine_quirk = snd_soc_acpi_codec_list,
433                 .quirk_data = &rpl_lt6911_hdmi    433                 .quirk_data = &rpl_lt6911_hdmi,
434                 .sof_tplg_filename = "sof-rpl-    434                 .sof_tplg_filename = "sof-rpl-es83x6-ssp1-hdmi-ssp02.tplg",
435         },                                        435         },
436         {                                         436         {
437                 .comp_ids = &rpl_essx_83x6,       437                 .comp_ids = &rpl_essx_83x6,
438                 .drv_name = "sof-essx8336",       438                 .drv_name = "sof-essx8336",
439                 .sof_tplg_filename = "sof-rpl-    439                 .sof_tplg_filename = "sof-rpl-es83x6", /* the tplg suffix is added at run time */
440                 .tplg_quirk_mask = SND_SOC_ACP    440                 .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
441                                         SND_SO    441                                         SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
442                                         SND_SO    442                                         SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
443         },                                        443         },
444         /* place boards for each headphone cod    444         /* place boards for each headphone codec: sof driver will complete the
445          * tplg name and machine driver will d    445          * tplg name and machine driver will detect the amp type
446          */                                       446          */
447         {                                         447         {
448                 .id = CS42L42_ACPI_HID,           448                 .id = CS42L42_ACPI_HID,
449                 .drv_name = "rpl_cs42l42_def",    449                 .drv_name = "rpl_cs42l42_def",
450                 .sof_tplg_filename = "sof-rpl"    450                 .sof_tplg_filename = "sof-rpl", /* the tplg suffix is added at run time */
451                 .tplg_quirk_mask = SND_SOC_ACP    451                 .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_AMP_NAME |
452                                         SND_SO    452                                         SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME,
453         },                                        453         },
454         {                                         454         {
455                 .id = DA7219_ACPI_HID,            455                 .id = DA7219_ACPI_HID,
456                 .drv_name = "rpl_da7219_def",     456                 .drv_name = "rpl_da7219_def",
457                 .sof_tplg_filename = "sof-rpl"    457                 .sof_tplg_filename = "sof-rpl", /* the tplg suffix is added at run time */
458                 .tplg_quirk_mask = SND_SOC_ACP    458                 .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_AMP_NAME |
459                                         SND_SO    459                                         SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME,
460         },                                        460         },
461         {                                         461         {
462                 .id = NAU8825_ACPI_HID,           462                 .id = NAU8825_ACPI_HID,
463                 .drv_name = "rpl_nau8825_def",    463                 .drv_name = "rpl_nau8825_def",
464                 .sof_tplg_filename = "sof-rpl"    464                 .sof_tplg_filename = "sof-rpl", /* the tplg suffix is added at run time */
465                 .tplg_quirk_mask = SND_SOC_ACP    465                 .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_AMP_NAME |
466                                         SND_SO    466                                         SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME,
467         },                                        467         },
468         {                                         468         {
469                 .id = RT5650_ACPI_HID,            469                 .id = RT5650_ACPI_HID,
470                 .drv_name = "rpl_rt5682_def",     470                 .drv_name = "rpl_rt5682_def",
471                 .sof_tplg_filename = "sof-rpl"    471                 .sof_tplg_filename = "sof-rpl", /* the tplg suffix is added at run time */
472                 .tplg_quirk_mask = SND_SOC_ACP    472                 .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_AMP_NAME |
473                                         SND_SO    473                                         SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME,
474         },                                        474         },
475         {                                         475         {
476                 .comp_ids = &rpl_rt5682_hp,       476                 .comp_ids = &rpl_rt5682_hp,
477                 .drv_name = "rpl_rt5682_def",     477                 .drv_name = "rpl_rt5682_def",
478                 .sof_tplg_filename = "sof-rpl"    478                 .sof_tplg_filename = "sof-rpl", /* the tplg suffix is added at run time */
479                 .tplg_quirk_mask = SND_SOC_ACP    479                 .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_AMP_NAME |
480                                         SND_SO    480                                         SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME,
481         },                                        481         },
482         /* place amp-only boards in the end of    482         /* place amp-only boards in the end of table */
483         {                                         483         {
484                 .id = "INTC10B0",                 484                 .id = "INTC10B0",
485                 .drv_name = "rpl_lt6911_hdmi_s    485                 .drv_name = "rpl_lt6911_hdmi_ssp",
486                 .sof_tplg_filename = "sof-rpl-    486                 .sof_tplg_filename = "sof-rpl-nocodec-hdmi-ssp02.tplg"
487         },                                        487         },
488         {},                                       488         {},
489 };                                                489 };
490 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_rpl_machi    490 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_rpl_machines);
491                                                   491 
492 /* this table is used when there is no I2S cod    492 /* this table is used when there is no I2S codec present */
493 struct snd_soc_acpi_mach snd_soc_acpi_intel_rp    493 struct snd_soc_acpi_mach snd_soc_acpi_intel_rpl_sdw_machines[] = {
494         {                                         494         {
495                 .link_mask = BIT(0),              495                 .link_mask = BIT(0),
496                 .links = rpl_cs42l43_l0,          496                 .links = rpl_cs42l43_l0,
497                 .drv_name = "sof_sdw",            497                 .drv_name = "sof_sdw",
498                 .sof_tplg_filename = "sof-rpl-    498                 .sof_tplg_filename = "sof-rpl-cs42l43-l0.tplg",
499         },                                        499         },
500         {                                         500         {
501                 .link_mask = 0xF, /* 4 active     501                 .link_mask = 0xF, /* 4 active links required */
502                 .links = rpl_sdca_3_in_1,         502                 .links = rpl_sdca_3_in_1,
503                 .drv_name = "sof_sdw",            503                 .drv_name = "sof_sdw",
504                 .sof_tplg_filename = "sof-rpl-    504                 .sof_tplg_filename = "sof-rpl-rt711-l0-rt1316-l13-rt714-l2.tplg",
505         },                                        505         },
506         {                                         506         {
507                 .link_mask = 0xF, /* 4 active     507                 .link_mask = 0xF, /* 4 active links required */
508                 .links = rpl_sdw_rt711_link2_r    508                 .links = rpl_sdw_rt711_link2_rt1316_link01_rt714_link3,
509                 .drv_name = "sof_sdw",            509                 .drv_name = "sof_sdw",
510                 .sof_tplg_filename = "sof-rpl-    510                 .sof_tplg_filename = "sof-rpl-rt711-l2-rt1316-l01-rt714-l3.tplg",
511         },                                        511         },
512         {                                         512         {
513                 .link_mask = 0xF, /* 4 active     513                 .link_mask = 0xF, /* 4 active links required */
514                 .links = rpl_sdw_rt711_link0_r    514                 .links = rpl_sdw_rt711_link0_rt1316_link12_rt714_link3,
515                 .drv_name = "sof_sdw",            515                 .drv_name = "sof_sdw",
516                 .sof_tplg_filename = "sof-rpl-    516                 .sof_tplg_filename = "sof-rpl-rt711-l0-rt1316-l12-rt714-l3.tplg",
517         },                                        517         },
518         {                                         518         {
519                 .link_mask = 0xF, /* 4 active     519                 .link_mask = 0xF, /* 4 active links required */
520                 .links = rpl_sdw_rt711_link0_r    520                 .links = rpl_sdw_rt711_link0_rt1318_link12_rt714_link3,
521                 .drv_name = "sof_sdw",            521                 .drv_name = "sof_sdw",
522                 .sof_tplg_filename = "sof-rpl-    522                 .sof_tplg_filename = "sof-rpl-rt711-l0-rt1318-l12-rt714-l3.tplg",
523         },                                        523         },
524         {                                         524         {
525                 .link_mask = 0x7, /* rt711 on     525                 .link_mask = 0x7, /* rt711 on link0 & two rt1316s on link1 and link2 */
526                 .links = rpl_sdw_rt711_link0_r    526                 .links = rpl_sdw_rt711_link0_rt1316_link12,
527                 .drv_name = "sof_sdw",            527                 .drv_name = "sof_sdw",
528                 .sof_tplg_filename = "sof-rpl-    528                 .sof_tplg_filename = "sof-rpl-rt711-l0-rt1316-l12.tplg",
529         },                                        529         },
530         {                                         530         {
531                 .link_mask = 0x7, /* rt711 on     531                 .link_mask = 0x7, /* rt711 on link0 & two rt1318s on link1 and link2 */
532                 .links = rpl_sdw_rt711_link0_r    532                 .links = rpl_sdw_rt711_link0_rt1318_link12,
533                 .drv_name = "sof_sdw",            533                 .drv_name = "sof_sdw",
534                 .sof_tplg_filename = "sof-rpl-    534                 .sof_tplg_filename = "sof-rpl-rt711-l0-rt1318-l12.tplg",
535         },                                        535         },
536         {                                         536         {
537                 .link_mask = 0x7, /* rt714 on     537                 .link_mask = 0x7, /* rt714 on link0 & two rt1316s on link1 and link2 */
538                 .links = rpl_sdw_rt1316_link12    538                 .links = rpl_sdw_rt1316_link12_rt714_link0,
539                 .drv_name = "sof_sdw",            539                 .drv_name = "sof_sdw",
540                 .sof_tplg_filename = "sof-rpl-    540                 .sof_tplg_filename = "sof-rpl-rt1316-l12-rt714-l0.tplg",
541         },                                        541         },
542         {                                         542         {
543                 .link_mask = 0x7, /* rt711 on     543                 .link_mask = 0x7, /* rt711 on link2 & two rt1316s on link0 and link1 */
544                 .links = rpl_sdw_rt711_link2_r    544                 .links = rpl_sdw_rt711_link2_rt1316_link01,
545                 .drv_name = "sof_sdw",            545                 .drv_name = "sof_sdw",
546                 .sof_tplg_filename = "sof-rpl-    546                 .sof_tplg_filename = "sof-rpl-rt711-l2-rt1316-l01.tplg",
547         },                                        547         },
548         {                                         548         {
549                 .link_mask = 0x1, /* link0 req    549                 .link_mask = 0x1, /* link0 required */
550                 .links = rpl_rvp,                 550                 .links = rpl_rvp,
551                 .drv_name = "sof_sdw",            551                 .drv_name = "sof_sdw",
552                 .sof_tplg_filename = "sof-rpl-    552                 .sof_tplg_filename = "sof-rpl-rt711-l0.tplg",
553         },                                        553         },
554         {                                         554         {
555                 .link_mask = 0x1, /* link0 req    555                 .link_mask = 0x1, /* link0 required */
556                 .links = rpl_sdca_rvp,            556                 .links = rpl_sdca_rvp,
557                 .drv_name = "sof_sdw",            557                 .drv_name = "sof_sdw",
558                 .sof_tplg_filename = "sof-rpl-    558                 .sof_tplg_filename = "sof-rpl-rt711-l0.tplg",
559         },                                        559         },
560         {                                         560         {
561                 .link_mask = 0x4, /* link2 req    561                 .link_mask = 0x4, /* link2 required */
562                 .links = rplp_crb,                562                 .links = rplp_crb,
563                 .drv_name = "sof_sdw",            563                 .drv_name = "sof_sdw",
564                 .sof_tplg_filename = "sof-rpl-    564                 .sof_tplg_filename = "sof-rpl-rt711-l2.tplg",
565         },                                        565         },
566         {},                                       566         {},
567 };                                                567 };
568 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_rpl_sdw_m    568 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_rpl_sdw_machines);
569                                                   569 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php