Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/sound/soc/intel/common/soc-acpi-intel-ptl-match.c
29268 views
1
// SPDX-License-Identifier: GPL-2.0-only
2
/*
3
* soc-acpi-intel-ptl-match.c - tables and support for PTL ACPI enumeration.
4
*
5
* Copyright (c) 2024, Intel Corporation.
6
*
7
* Order of entries in snd_soc_acpi_intel_ptl_sdw_machines[] matters.
8
* Check subset of link mask when matching the machine driver, rule is
9
* superset match should be ordered before subset matches.
10
*/
11
12
#include <sound/soc-acpi.h>
13
#include <sound/soc-acpi-intel-match.h>
14
#include "sof-function-topology-lib.h"
15
#include "soc-acpi-intel-sdca-quirks.h"
16
#include "soc-acpi-intel-sdw-mockup-match.h"
17
#include <sound/soc-acpi-intel-ssp-common.h>
18
19
static const struct snd_soc_acpi_codecs ptl_rt5682_rt5682s_hp = {
20
.num_codecs = 2,
21
.codecs = {RT5682_ACPI_HID, RT5682S_ACPI_HID},
22
};
23
24
static const struct snd_soc_acpi_codecs ptl_essx_83x6 = {
25
.num_codecs = 3,
26
.codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
27
};
28
29
static const struct snd_soc_acpi_codecs ptl_lt6911_hdmi = {
30
.num_codecs = 1,
31
.codecs = {"INTC10B0"}
32
};
33
34
struct snd_soc_acpi_mach snd_soc_acpi_intel_ptl_machines[] = {
35
{
36
.comp_ids = &ptl_rt5682_rt5682s_hp,
37
.drv_name = "ptl_rt5682_c1_h02",
38
.machine_quirk = snd_soc_acpi_codec_list,
39
.quirk_data = &ptl_lt6911_hdmi,
40
.sof_tplg_filename = "sof-ptl-rt5682-ssp1-hdmi-ssp02.tplg",
41
},
42
{
43
.comp_ids = &ptl_rt5682_rt5682s_hp,
44
.drv_name = "ptl_rt5682_def",
45
.sof_tplg_filename = "sof-ptl", /* the tplg suffix is added at run time */
46
.tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_AMP_NAME |
47
SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME,
48
},
49
{
50
.comp_ids = &ptl_essx_83x6,
51
.drv_name = "ptl_es83x6_c1_h02",
52
.machine_quirk = snd_soc_acpi_codec_list,
53
.quirk_data = &ptl_lt6911_hdmi,
54
.sof_tplg_filename = "sof-ptl-es83x6-ssp1-hdmi-ssp02.tplg",
55
},
56
{
57
.comp_ids = &ptl_essx_83x6,
58
.drv_name = "sof-essx8336",
59
.sof_tplg_filename = "sof-ptl-es8336", /* the tplg suffix is added at run time */
60
.tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
61
SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
62
SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
63
},
64
/* place amp-only boards in the end of table */
65
{
66
.id = "INTC10B0",
67
.drv_name = "ptl_lt6911_hdmi_ssp",
68
.sof_tplg_filename = "sof-ptl-hdmi-ssp02.tplg",
69
},
70
{},
71
};
72
EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_ptl_machines);
73
74
static const struct snd_soc_acpi_endpoint single_endpoint = {
75
.num = 0,
76
.aggregated = 0,
77
.group_position = 0,
78
.group_id = 0,
79
};
80
81
static const struct snd_soc_acpi_endpoint spk_l_endpoint = {
82
.num = 0,
83
.aggregated = 1,
84
.group_position = 0,
85
.group_id = 1,
86
};
87
88
static const struct snd_soc_acpi_endpoint spk_r_endpoint = {
89
.num = 0,
90
.aggregated = 1,
91
.group_position = 1,
92
.group_id = 1,
93
};
94
95
static const struct snd_soc_acpi_endpoint spk_1_endpoint = {
96
.num = 0,
97
.aggregated = 1,
98
.group_position = 1,
99
.group_id = 1,
100
};
101
102
static const struct snd_soc_acpi_endpoint spk_2_endpoint = {
103
.num = 0,
104
.aggregated = 1,
105
.group_position = 2,
106
.group_id = 1,
107
};
108
109
static const struct snd_soc_acpi_endpoint spk_3_endpoint = {
110
.num = 0,
111
.aggregated = 1,
112
.group_position = 3,
113
.group_id = 1,
114
};
115
116
static const struct snd_soc_acpi_endpoint spk_4_endpoint = {
117
.num = 0,
118
.aggregated = 1,
119
.group_position = 4,
120
.group_id = 1,
121
};
122
123
static const struct snd_soc_acpi_endpoint spk_5_endpoint = {
124
.num = 0,
125
.aggregated = 1,
126
.group_position = 5,
127
.group_id = 1,
128
};
129
130
static const struct snd_soc_acpi_endpoint spk_6_endpoint = {
131
.num = 0,
132
.aggregated = 1,
133
.group_position = 6,
134
.group_id = 1,
135
};
136
137
/*
138
* Multi-function codecs with three endpoints created for
139
* headset, amp and dmic functions.
140
*/
141
static const struct snd_soc_acpi_endpoint rt_mf_endpoints[] = {
142
{
143
.num = 0,
144
.aggregated = 0,
145
.group_position = 0,
146
.group_id = 0,
147
},
148
{
149
.num = 1,
150
.aggregated = 0,
151
.group_position = 0,
152
.group_id = 0,
153
},
154
{
155
.num = 2,
156
.aggregated = 0,
157
.group_position = 0,
158
.group_id = 0,
159
},
160
};
161
162
static const struct snd_soc_acpi_endpoint jack_dmic_endpoints[] = {
163
/* Jack Endpoint */
164
{
165
.num = 0,
166
.aggregated = 0,
167
.group_position = 0,
168
.group_id = 0,
169
},
170
/* DMIC Endpoint */
171
{
172
.num = 1,
173
.aggregated = 0,
174
.group_position = 0,
175
.group_id = 0,
176
},
177
};
178
179
static const struct snd_soc_acpi_endpoint jack_amp_g1_dmic_endpoints[] = {
180
/* Jack Endpoint */
181
{
182
.num = 0,
183
.aggregated = 0,
184
.group_position = 0,
185
.group_id = 0,
186
},
187
/* Amp Endpoint, work as spk_l_endpoint */
188
{
189
.num = 1,
190
.aggregated = 1,
191
.group_position = 0,
192
.group_id = 1,
193
},
194
/* DMIC Endpoint */
195
{
196
.num = 2,
197
.aggregated = 0,
198
.group_position = 0,
199
.group_id = 0,
200
},
201
};
202
203
static const struct snd_soc_acpi_endpoint cs42l43_amp_spkagg_endpoints[] = {
204
{ /* Jack Playback Endpoint */
205
.num = 0,
206
.aggregated = 0,
207
.group_position = 0,
208
.group_id = 0,
209
},
210
{ /* DMIC Capture Endpoint */
211
.num = 1,
212
.aggregated = 0,
213
.group_position = 0,
214
.group_id = 0,
215
},
216
{ /* Jack Capture Endpoint */
217
.num = 2,
218
.aggregated = 0,
219
.group_position = 0,
220
.group_id = 0,
221
},
222
{ /* Speaker Playback Endpoint */
223
.num = 3,
224
.aggregated = 1,
225
.group_position = 0,
226
.group_id = 1,
227
},
228
};
229
230
static const struct snd_soc_acpi_endpoint cs42l43_endpoints[] = {
231
{ /* Jack Playback Endpoint */
232
.num = 0,
233
.aggregated = 0,
234
.group_position = 0,
235
.group_id = 0,
236
},
237
{ /* DMIC Capture Endpoint */
238
.num = 1,
239
.aggregated = 0,
240
.group_position = 0,
241
.group_id = 0,
242
},
243
{ /* Jack Capture Endpoint */
244
.num = 2,
245
.aggregated = 0,
246
.group_position = 0,
247
.group_id = 0,
248
},
249
{ /* Speaker Playback Endpoint */
250
.num = 3,
251
.aggregated = 0,
252
.group_position = 0,
253
.group_id = 0,
254
},
255
};
256
257
static const struct snd_soc_acpi_adr_device cs42l43_2_adr[] = {
258
{
259
.adr = 0x00023001fa424301ull,
260
.num_endpoints = ARRAY_SIZE(cs42l43_amp_spkagg_endpoints),
261
.endpoints = cs42l43_amp_spkagg_endpoints,
262
.name_prefix = "cs42l43"
263
}
264
};
265
266
static const struct snd_soc_acpi_adr_device cs35l56_1_3amp_adr[] = {
267
{
268
.adr = 0x00013001fa355601ull,
269
.num_endpoints = 1,
270
.endpoints = &spk_1_endpoint,
271
.name_prefix = "AMP1"
272
},
273
{
274
.adr = 0x00013101fa355601ull,
275
.num_endpoints = 1,
276
.endpoints = &spk_2_endpoint,
277
.name_prefix = "AMP2"
278
},
279
{
280
.adr = 0x00013201fa355601ull,
281
.num_endpoints = 1,
282
.endpoints = &spk_3_endpoint,
283
.name_prefix = "AMP3"
284
}
285
};
286
287
static const struct snd_soc_acpi_adr_device cs35l56_3_3amp_adr[] = {
288
{
289
.adr = 0x00033301fa355601ull,
290
.num_endpoints = 1,
291
.endpoints = &spk_4_endpoint,
292
.name_prefix = "AMP4"
293
},
294
{
295
.adr = 0x00033401fa355601ull,
296
.num_endpoints = 1,
297
.endpoints = &spk_5_endpoint,
298
.name_prefix = "AMP5"
299
},
300
{
301
.adr = 0x00033501fa355601ull,
302
.num_endpoints = 1,
303
.endpoints = &spk_6_endpoint,
304
.name_prefix = "AMP6"
305
}
306
};
307
308
static const struct snd_soc_acpi_adr_device cs42l43_3_adr[] = {
309
{
310
.adr = 0x00033001FA424301ull,
311
.num_endpoints = ARRAY_SIZE(cs42l43_endpoints),
312
.endpoints = cs42l43_endpoints,
313
.name_prefix = "cs42l43"
314
}
315
};
316
317
static const struct snd_soc_acpi_adr_device rt711_sdca_0_adr[] = {
318
{
319
.adr = 0x000030025D071101ull,
320
.num_endpoints = 1,
321
.endpoints = &single_endpoint,
322
.name_prefix = "rt711"
323
}
324
};
325
326
static const struct snd_soc_acpi_adr_device rt712_vb_2_group1_adr[] = {
327
{
328
.adr = 0x000230025D071201ull,
329
.num_endpoints = ARRAY_SIZE(jack_amp_g1_dmic_endpoints),
330
.endpoints = jack_amp_g1_dmic_endpoints,
331
.name_prefix = "rt712"
332
}
333
};
334
335
static const struct snd_soc_acpi_adr_device rt712_vb_3_group1_adr[] = {
336
{
337
.adr = 0x000330025D071201ull,
338
.num_endpoints = ARRAY_SIZE(jack_amp_g1_dmic_endpoints),
339
.endpoints = jack_amp_g1_dmic_endpoints,
340
.name_prefix = "rt712"
341
}
342
};
343
344
static const struct snd_soc_acpi_adr_device rt713_vb_2_adr[] = {
345
{
346
.adr = 0x000230025d071301ull,
347
.num_endpoints = ARRAY_SIZE(jack_dmic_endpoints),
348
.endpoints = jack_dmic_endpoints,
349
.name_prefix = "rt713"
350
}
351
};
352
353
static const struct snd_soc_acpi_adr_device rt713_vb_3_adr[] = {
354
{
355
.adr = 0x000330025D071301ull,
356
.num_endpoints = ARRAY_SIZE(jack_dmic_endpoints),
357
.endpoints = jack_dmic_endpoints,
358
.name_prefix = "rt713"
359
}
360
};
361
362
static const struct snd_soc_acpi_adr_device rt1320_3_group1_adr[] = {
363
{
364
.adr = 0x000330025D132001ull,
365
.num_endpoints = 1,
366
.endpoints = &spk_r_endpoint,
367
.name_prefix = "rt1320-1"
368
}
369
};
370
371
static const struct snd_soc_acpi_adr_device rt721_0_single_adr[] = {
372
{
373
.adr = 0x000030025d072101ull,
374
.num_endpoints = ARRAY_SIZE(rt_mf_endpoints),
375
.endpoints = rt_mf_endpoints,
376
.name_prefix = "rt721"
377
}
378
};
379
380
static const struct snd_soc_acpi_adr_device rt721_3_single_adr[] = {
381
{
382
.adr = 0x000330025d072101ull,
383
.num_endpoints = ARRAY_SIZE(rt_mf_endpoints),
384
.endpoints = rt_mf_endpoints,
385
.name_prefix = "rt721"
386
}
387
};
388
389
static const struct snd_soc_acpi_link_adr ptl_rt721_l3[] = {
390
{
391
.mask = BIT(3),
392
.num_adr = ARRAY_SIZE(rt721_3_single_adr),
393
.adr_d = rt721_3_single_adr,
394
},
395
{},
396
};
397
398
static const struct snd_soc_acpi_adr_device rt722_0_single_adr[] = {
399
{
400
.adr = 0x000030025d072201ull,
401
.num_endpoints = ARRAY_SIZE(rt_mf_endpoints),
402
.endpoints = rt_mf_endpoints,
403
.name_prefix = "rt722"
404
}
405
};
406
407
static const struct snd_soc_acpi_adr_device rt722_1_single_adr[] = {
408
{
409
.adr = 0x000130025d072201ull,
410
.num_endpoints = ARRAY_SIZE(rt_mf_endpoints),
411
.endpoints = rt_mf_endpoints,
412
.name_prefix = "rt722"
413
}
414
};
415
416
static const struct snd_soc_acpi_adr_device rt722_3_single_adr[] = {
417
{
418
.adr = 0x000330025d072201ull,
419
.num_endpoints = ARRAY_SIZE(rt_mf_endpoints),
420
.endpoints = rt_mf_endpoints,
421
.name_prefix = "rt722"
422
}
423
};
424
425
static const struct snd_soc_acpi_adr_device rt1320_1_group1_adr[] = {
426
{
427
.adr = 0x000130025D132001ull,
428
.num_endpoints = 1,
429
.endpoints = &spk_r_endpoint,
430
.name_prefix = "rt1320-1"
431
}
432
};
433
434
static const struct snd_soc_acpi_adr_device rt1320_1_group2_adr[] = {
435
{
436
.adr = 0x000130025D132001ull,
437
.num_endpoints = 1,
438
.endpoints = &spk_l_endpoint,
439
.name_prefix = "rt1320-1"
440
}
441
};
442
443
static const struct snd_soc_acpi_adr_device rt1320_2_group1_adr[] = {
444
{
445
.adr = 0x000230025D132001ull,
446
.num_endpoints = 1,
447
.endpoints = &spk_r_endpoint,
448
.name_prefix = "rt1320-1"
449
}
450
};
451
452
static const struct snd_soc_acpi_adr_device rt1320_2_group2_adr[] = {
453
{
454
.adr = 0x000230025D132001ull,
455
.num_endpoints = 1,
456
.endpoints = &spk_r_endpoint,
457
.name_prefix = "rt1320-1"
458
}
459
};
460
461
static const struct snd_soc_acpi_adr_device rt1320_3_group2_adr[] = {
462
{
463
.adr = 0x000330025D132001ull,
464
.num_endpoints = 1,
465
.endpoints = &spk_r_endpoint,
466
.name_prefix = "rt1320-2"
467
}
468
};
469
470
static const struct snd_soc_acpi_link_adr ptl_cs42l43_l2_cs35l56x6_l13[] = {
471
{
472
.mask = BIT(2),
473
.num_adr = ARRAY_SIZE(cs42l43_2_adr),
474
.adr_d = cs42l43_2_adr,
475
},
476
{
477
.mask = BIT(1),
478
.num_adr = ARRAY_SIZE(cs35l56_1_3amp_adr),
479
.adr_d = cs35l56_1_3amp_adr,
480
},
481
{
482
.mask = BIT(3),
483
.num_adr = ARRAY_SIZE(cs35l56_3_3amp_adr),
484
.adr_d = cs35l56_3_3amp_adr,
485
},
486
{}
487
};
488
489
static const struct snd_soc_acpi_link_adr ptl_cs42l43_l3[] = {
490
{
491
.mask = BIT(3),
492
.num_adr = ARRAY_SIZE(cs42l43_3_adr),
493
.adr_d = cs42l43_3_adr,
494
},
495
{}
496
};
497
498
static const struct snd_soc_acpi_link_adr ptl_rt721_l0[] = {
499
{
500
.mask = BIT(0),
501
.num_adr = ARRAY_SIZE(rt721_0_single_adr),
502
.adr_d = rt721_0_single_adr,
503
},
504
{}
505
};
506
507
static const struct snd_soc_acpi_link_adr ptl_rt722_only[] = {
508
{
509
.mask = BIT(0),
510
.num_adr = ARRAY_SIZE(rt722_0_single_adr),
511
.adr_d = rt722_0_single_adr,
512
},
513
{}
514
};
515
516
static const struct snd_soc_acpi_link_adr ptl_rt722_l1[] = {
517
{
518
.mask = BIT(1),
519
.num_adr = ARRAY_SIZE(rt722_1_single_adr),
520
.adr_d = rt722_1_single_adr,
521
},
522
{}
523
};
524
525
static const struct snd_soc_acpi_link_adr ptl_rt722_l3[] = {
526
{
527
.mask = BIT(3),
528
.num_adr = ARRAY_SIZE(rt722_3_single_adr),
529
.adr_d = rt722_3_single_adr,
530
},
531
{}
532
};
533
534
static const struct snd_soc_acpi_link_adr ptl_rvp[] = {
535
{
536
.mask = BIT(0),
537
.num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
538
.adr_d = rt711_sdca_0_adr,
539
},
540
{}
541
};
542
543
static const struct snd_soc_acpi_link_adr ptl_sdw_rt713_vb_l2_rt1320_l13[] = {
544
{
545
.mask = BIT(2),
546
.num_adr = ARRAY_SIZE(rt713_vb_2_adr),
547
.adr_d = rt713_vb_2_adr,
548
},
549
{
550
.mask = BIT(1),
551
.num_adr = ARRAY_SIZE(rt1320_1_group2_adr),
552
.adr_d = rt1320_1_group2_adr,
553
},
554
{
555
.mask = BIT(3),
556
.num_adr = ARRAY_SIZE(rt1320_3_group2_adr),
557
.adr_d = rt1320_3_group2_adr,
558
},
559
{}
560
};
561
562
static const struct snd_soc_acpi_link_adr ptl_sdw_rt713_vb_l3_rt1320_l12[] = {
563
{
564
.mask = BIT(3),
565
.num_adr = ARRAY_SIZE(rt713_vb_3_adr),
566
.adr_d = rt713_vb_3_adr,
567
},
568
{
569
.mask = BIT(1),
570
.num_adr = ARRAY_SIZE(rt1320_1_group2_adr),
571
.adr_d = rt1320_1_group2_adr,
572
},
573
{
574
.mask = BIT(2),
575
.num_adr = ARRAY_SIZE(rt1320_2_group2_adr),
576
.adr_d = rt1320_2_group2_adr,
577
},
578
{}
579
};
580
581
static const struct snd_soc_acpi_link_adr ptl_sdw_rt712_vb_l2_rt1320_l1[] = {
582
{
583
.mask = BIT(2),
584
.num_adr = ARRAY_SIZE(rt712_vb_2_group1_adr),
585
.adr_d = rt712_vb_2_group1_adr,
586
},
587
{
588
.mask = BIT(1),
589
.num_adr = ARRAY_SIZE(rt1320_1_group1_adr),
590
.adr_d = rt1320_1_group1_adr,
591
},
592
{}
593
};
594
595
static const struct snd_soc_acpi_link_adr ptl_sdw_rt712_vb_l3_rt1320_l2[] = {
596
{
597
.mask = BIT(3),
598
.num_adr = ARRAY_SIZE(rt712_vb_3_group1_adr),
599
.adr_d = rt712_vb_3_group1_adr,
600
},
601
{
602
.mask = BIT(2),
603
.num_adr = ARRAY_SIZE(rt1320_2_group1_adr),
604
.adr_d = rt1320_2_group1_adr,
605
},
606
{}
607
};
608
609
static const struct snd_soc_acpi_link_adr ptl_sdw_rt712_vb_l3_rt1320_l3[] = {
610
{
611
.mask = BIT(3),
612
.num_adr = ARRAY_SIZE(rt712_vb_3_group1_adr),
613
.adr_d = rt712_vb_3_group1_adr,
614
},
615
{
616
.mask = BIT(3),
617
.num_adr = ARRAY_SIZE(rt1320_3_group1_adr),
618
.adr_d = rt1320_3_group1_adr,
619
},
620
{}
621
};
622
623
/* this table is used when there is no I2S codec present */
624
struct snd_soc_acpi_mach snd_soc_acpi_intel_ptl_sdw_machines[] = {
625
/* Order Priority: mockup > most links > most bit link-mask > alphabetical */
626
{
627
.link_mask = GENMASK(3, 0),
628
.links = sdw_mockup_headset_2amps_mic,
629
.drv_name = "sof_sdw",
630
.sof_tplg_filename = "sof-ptl-rt711-rt1308-rt715.tplg",
631
},
632
{
633
.link_mask = BIT(0) | BIT(1) | BIT(3),
634
.links = sdw_mockup_headset_1amp_mic,
635
.drv_name = "sof_sdw",
636
.sof_tplg_filename = "sof-ptl-rt711-rt1308-mono-rt715.tplg",
637
},
638
{
639
.link_mask = GENMASK(2, 0),
640
.links = sdw_mockup_mic_headset_1amp,
641
.drv_name = "sof_sdw",
642
.sof_tplg_filename = "sof-ptl-rt715-rt711-rt1308-mono.tplg",
643
},
644
{
645
.link_mask = BIT(0),
646
.links = sdw_mockup_multi_func,
647
.drv_name = "sof_sdw",
648
.sof_tplg_filename = "sof-ptl-rt722.tplg", /* Reuse the existing tplg file */
649
},
650
{
651
.link_mask = BIT(1) | BIT(2) | BIT(3),
652
.links = ptl_sdw_rt713_vb_l2_rt1320_l13,
653
.drv_name = "sof_sdw",
654
.machine_check = snd_soc_acpi_intel_sdca_is_device_rt712_vb,
655
.sof_tplg_filename = "sof-ptl-rt713-l2-rt1320-l13.tplg",
656
.get_function_tplg_files = sof_sdw_get_tplg_files,
657
},
658
{
659
.link_mask = BIT(1) | BIT(2) | BIT(3),
660
.links = ptl_sdw_rt713_vb_l3_rt1320_l12,
661
.drv_name = "sof_sdw",
662
.machine_check = snd_soc_acpi_intel_sdca_is_device_rt712_vb,
663
.sof_tplg_filename = "sof-ptl-rt713-l3-rt1320-l12.tplg",
664
.get_function_tplg_files = sof_sdw_get_tplg_files,
665
},
666
{
667
.link_mask = BIT(1) | BIT(2) | BIT(3),
668
.links = ptl_cs42l43_l2_cs35l56x6_l13,
669
.drv_name = "sof_sdw",
670
.sof_tplg_filename = "sof-ptl-cs42l43-l2-cs35l56x6-l13.tplg",
671
},
672
{
673
.link_mask = BIT(1) | BIT(2),
674
.links = ptl_sdw_rt712_vb_l2_rt1320_l1,
675
.drv_name = "sof_sdw",
676
.machine_check = snd_soc_acpi_intel_sdca_is_device_rt712_vb,
677
.sof_tplg_filename = "sof-ptl-rt712-l2-rt1320-l1.tplg",
678
.get_function_tplg_files = sof_sdw_get_tplg_files,
679
},
680
{
681
.link_mask = BIT(2) | BIT(3),
682
.links = ptl_sdw_rt712_vb_l3_rt1320_l2,
683
.drv_name = "sof_sdw",
684
.machine_check = snd_soc_acpi_intel_sdca_is_device_rt712_vb,
685
.sof_tplg_filename = "sof-ptl-rt712-l3-rt1320-l2.tplg",
686
.get_function_tplg_files = sof_sdw_get_tplg_files,
687
},
688
{
689
.link_mask = BIT(0),
690
.links = ptl_rvp,
691
.drv_name = "sof_sdw",
692
.sof_tplg_filename = "sof-ptl-rt711.tplg",
693
},
694
{
695
.link_mask = BIT(0),
696
.links = ptl_rt721_l0,
697
.drv_name = "sof_sdw",
698
.sof_tplg_filename = "sof-ptl-rt721.tplg",
699
.get_function_tplg_files = sof_sdw_get_tplg_files,
700
},
701
{
702
.link_mask = BIT(0),
703
.links = ptl_rt722_only,
704
.drv_name = "sof_sdw",
705
.sof_tplg_filename = "sof-ptl-rt722.tplg",
706
.get_function_tplg_files = sof_sdw_get_tplg_files,
707
},
708
{
709
.link_mask = BIT(1),
710
.links = ptl_rt722_l1,
711
.drv_name = "sof_sdw",
712
.sof_tplg_filename = "sof-ptl-rt722.tplg",
713
.get_function_tplg_files = sof_sdw_get_tplg_files,
714
},
715
{
716
.link_mask = BIT(3),
717
.links = ptl_cs42l43_l3,
718
.drv_name = "sof_sdw",
719
.sof_tplg_filename = "sof-ptl-cs42l43-l3.tplg",
720
.get_function_tplg_files = sof_sdw_get_tplg_files,
721
},
722
{
723
.link_mask = BIT(3),
724
.links = ptl_sdw_rt712_vb_l3_rt1320_l3,
725
.drv_name = "sof_sdw",
726
.machine_check = snd_soc_acpi_intel_sdca_is_device_rt712_vb,
727
.sof_tplg_filename = "sof-ptl-rt712-l3-rt1320-l3.tplg",
728
.get_function_tplg_files = sof_sdw_get_tplg_files,
729
},
730
{
731
.link_mask = BIT(3),
732
.links = ptl_rt721_l3,
733
.drv_name = "sof_sdw",
734
.sof_tplg_filename = "sof-ptl-rt721.tplg",
735
.get_function_tplg_files = sof_sdw_get_tplg_files,
736
},
737
{
738
.link_mask = BIT(3),
739
.links = ptl_rt722_l3,
740
.drv_name = "sof_sdw",
741
.sof_tplg_filename = "sof-ptl-rt722.tplg",
742
.get_function_tplg_files = sof_sdw_get_tplg_files,
743
},
744
{},
745
};
746
EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_ptl_sdw_machines);
747
748