~ [ 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 ] ~

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