hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/sound/soc/intel/boards/sof_sdw.c
....@@ -13,8 +13,9 @@
1313 #include <sound/soc.h>
1414 #include <sound/soc-acpi.h>
1515 #include "sof_sdw_common.h"
16
+#include "../../codecs/rt711.h"
1617
17
-unsigned long sof_sdw_quirk = SOF_RT711_JD_SRC_JD1;
18
+unsigned long sof_sdw_quirk = RT711_JD1;
1819 static int quirk_override = -1;
1920 module_param_named(quirk, quirk_override, int, 0444);
2021 MODULE_PARM_DESC(quirk, "Board-specific quirk override");
....@@ -63,7 +64,7 @@
6364 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
6465 DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "09C6")
6566 },
66
- .driver_data = (void *)(SOF_RT711_JD_SRC_JD2 |
67
+ .driver_data = (void *)(RT711_JD2 |
6768 SOF_RT715_DAI_ID_FIX),
6869 },
6970 {
....@@ -73,7 +74,7 @@
7374 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
7475 DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0983")
7576 },
76
- .driver_data = (void *)(SOF_RT711_JD_SRC_JD2 |
77
+ .driver_data = (void *)(RT711_JD2 |
7778 SOF_RT715_DAI_ID_FIX),
7879 },
7980 {
....@@ -82,7 +83,7 @@
8283 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
8384 DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "098F"),
8485 },
85
- .driver_data = (void *)(SOF_RT711_JD_SRC_JD2 |
86
+ .driver_data = (void *)(RT711_JD2 |
8687 SOF_RT715_DAI_ID_FIX |
8788 SOF_SDW_FOUR_SPK),
8889 },
....@@ -92,7 +93,7 @@
9293 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
9394 DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0990"),
9495 },
95
- .driver_data = (void *)(SOF_RT711_JD_SRC_JD2 |
96
+ .driver_data = (void *)(RT711_JD2 |
9697 SOF_RT715_DAI_ID_FIX |
9798 SOF_SDW_FOUR_SPK),
9899 },
....@@ -114,7 +115,7 @@
114115 "Tiger Lake Client Platform"),
115116 },
116117 .driver_data = (void *)(SOF_SDW_TGL_HDMI |
117
- SOF_RT711_JD_SRC_JD1 |
118
+ RT711_JD1 |
118119 SOF_SDW_PCH_DMIC |
119120 SOF_SSP_PORT(SOF_I2S_SSP2)),
120121 },
....@@ -125,7 +126,7 @@
125126 DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A3E")
126127 },
127128 .driver_data = (void *)(SOF_SDW_TGL_HDMI |
128
- SOF_RT711_JD_SRC_JD2 |
129
+ RT711_JD2 |
129130 SOF_RT715_DAI_ID_FIX),
130131 },
131132 {
....@@ -135,7 +136,7 @@
135136 DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5E")
136137 },
137138 .driver_data = (void *)(SOF_SDW_TGL_HDMI |
138
- SOF_RT711_JD_SRC_JD2 |
139
+ RT711_JD2 |
139140 SOF_RT715_DAI_ID_FIX |
140141 SOF_SDW_FOUR_SPK),
141142 },
....@@ -173,7 +174,7 @@
173174 },
174175 .driver_data = (void *)(SOF_SDW_TGL_HDMI |
175176 SOF_SDW_PCH_DMIC |
176
- SOF_RT711_JD_SRC_JD2),
177
+ RT711_JD2),
177178 },
178179 /* TigerLake-SDCA devices */
179180 {
....@@ -183,7 +184,7 @@
183184 DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A32")
184185 },
185186 .driver_data = (void *)(SOF_SDW_TGL_HDMI |
186
- SOF_RT711_JD_SRC_JD2 |
187
+ RT711_JD2 |
187188 SOF_RT715_DAI_ID_FIX |
188189 SOF_SDW_FOUR_SPK),
189190 },
....@@ -194,11 +195,36 @@
194195 DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
195196 DMI_MATCH(DMI_PRODUCT_NAME, "Alder Lake Client Platform"),
196197 },
197
- .driver_data = (void *)(SOF_RT711_JD_SRC_JD1 |
198
+ .driver_data = (void *)(RT711_JD1 |
198199 SOF_SDW_TGL_HDMI |
199200 SOF_RT715_DAI_ID_FIX |
200201 SOF_SDW_PCH_DMIC),
201202 },
203
+ {
204
+ .callback = sof_sdw_quirk_cb,
205
+ .matches = {
206
+ DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
207
+ DMI_MATCH(DMI_PRODUCT_NAME, "Meteor Lake Client Platform"),
208
+ },
209
+ .driver_data = (void *)(RT711_JD2_100K),
210
+ },
211
+ {
212
+ .callback = sof_sdw_quirk_cb,
213
+ .matches = {
214
+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
215
+ DMI_MATCH(DMI_PRODUCT_NAME, "Rex"),
216
+ },
217
+ .driver_data = (void *)(SOF_SDW_PCH_DMIC),
218
+ },
219
+ /* LunarLake devices */
220
+ {
221
+ .callback = sof_sdw_quirk_cb,
222
+ .matches = {
223
+ DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
224
+ DMI_MATCH(DMI_PRODUCT_NAME, "Lunar Lake Client Platform"),
225
+ },
226
+ .driver_data = (void *)(RT711_JD2_100K),
227
+ },
202228 {}
203229 };
204230