soc-acpi-intel-jsl-match.c 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * soc-apci-intel-jsl-match.c - tables and support for JSL ACPI enumeration.
  4. *
  5. * Copyright (c) 2019-2020, Intel Corporation.
  6. *
  7. */
  8. #include <sound/soc-acpi.h>
  9. #include <sound/soc-acpi-intel-match.h>
  10. static const struct snd_soc_acpi_codecs essx_83x6 = {
  11. .num_codecs = 3,
  12. .codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
  13. };
  14. static const struct snd_soc_acpi_codecs jsl_7219_98373_codecs = {
  15. .num_codecs = 1,
  16. .codecs = {"MX98373"}
  17. };
  18. static const struct snd_soc_acpi_codecs rt1015_spk = {
  19. .num_codecs = 1,
  20. .codecs = {"10EC1015"}
  21. };
  22. static const struct snd_soc_acpi_codecs rt1015p_spk = {
  23. .num_codecs = 1,
  24. .codecs = {"RTL1015"}
  25. };
  26. static const struct snd_soc_acpi_codecs mx98360a_spk = {
  27. .num_codecs = 1,
  28. .codecs = {"MX98360A"}
  29. };
  30. static const struct snd_soc_acpi_codecs rt5682_rt5682s_hp = {
  31. .num_codecs = 2,
  32. .codecs = {"10EC5682", "RTL5682"},
  33. };
  34. /*
  35. * When adding new entry to the snd_soc_acpi_intel_jsl_machines array,
  36. * use .quirk_data member to distinguish different machine driver,
  37. * and keep ACPI .id field unchanged for the common codec.
  38. */
  39. struct snd_soc_acpi_mach snd_soc_acpi_intel_jsl_machines[] = {
  40. {
  41. .id = "DLGS7219",
  42. .drv_name = "sof_da7219_mx98373",
  43. .sof_tplg_filename = "sof-jsl-da7219.tplg",
  44. .machine_quirk = snd_soc_acpi_codec_list,
  45. .quirk_data = &jsl_7219_98373_codecs,
  46. },
  47. {
  48. .id = "DLGS7219",
  49. .drv_name = "sof_da7219_mx98360a",
  50. .sof_tplg_filename = "sof-jsl-da7219-mx98360a.tplg",
  51. },
  52. {
  53. .comp_ids = &rt5682_rt5682s_hp,
  54. .drv_name = "jsl_rt5682_rt1015",
  55. .machine_quirk = snd_soc_acpi_codec_list,
  56. .quirk_data = &rt1015_spk,
  57. .sof_tplg_filename = "sof-jsl-rt5682-rt1015.tplg",
  58. },
  59. {
  60. .comp_ids = &rt5682_rt5682s_hp,
  61. .drv_name = "jsl_rt5682_rt1015p",
  62. .machine_quirk = snd_soc_acpi_codec_list,
  63. .quirk_data = &rt1015p_spk,
  64. .sof_tplg_filename = "sof-jsl-rt5682-rt1015.tplg",
  65. },
  66. {
  67. .comp_ids = &rt5682_rt5682s_hp,
  68. .drv_name = "jsl_rt5682_mx98360",
  69. .machine_quirk = snd_soc_acpi_codec_list,
  70. .quirk_data = &mx98360a_spk,
  71. .sof_tplg_filename = "sof-jsl-rt5682-mx98360a.tplg",
  72. },
  73. {
  74. .id = "10134242",
  75. .drv_name = "jsl_cs4242_mx98360a",
  76. .machine_quirk = snd_soc_acpi_codec_list,
  77. .quirk_data = &mx98360a_spk,
  78. .sof_tplg_filename = "sof-jsl-cs42l42-mx98360a.tplg",
  79. },
  80. {
  81. .comp_ids = &essx_83x6,
  82. .drv_name = "sof-essx8336",
  83. .sof_tplg_filename = "sof-jsl-es8336", /* the tplg suffix is added at run time */
  84. .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
  85. SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
  86. SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
  87. },
  88. {},
  89. };
  90. EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_jsl_machines);