| .. | .. |
|---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | config SND_SOC_INTEL_SST_TOPLEVEL |
|---|
| 2 | 3 | bool "Intel ASoC SST drivers" |
|---|
| 3 | 4 | default y |
|---|
| .. | .. |
|---|
| 14 | 15 | |
|---|
| 15 | 16 | if SND_SOC_INTEL_SST_TOPLEVEL |
|---|
| 16 | 17 | |
|---|
| 17 | | -config SND_SST_IPC |
|---|
| 18 | | - tristate |
|---|
| 19 | | - # This option controls the IPC core for HiFi2 platforms |
|---|
| 20 | | - |
|---|
| 21 | | -config SND_SST_IPC_PCI |
|---|
| 22 | | - tristate |
|---|
| 23 | | - select SND_SST_IPC |
|---|
| 24 | | - # This option controls the PCI-based IPC for HiFi2 platforms |
|---|
| 25 | | - # (Medfield, Merrifield). |
|---|
| 26 | | - |
|---|
| 27 | | -config SND_SST_IPC_ACPI |
|---|
| 28 | | - tristate |
|---|
| 29 | | - select SND_SST_IPC |
|---|
| 30 | | - # This option controls the ACPI-based IPC for HiFi2 platforms |
|---|
| 31 | | - # (Baytrail, Cherrytrail) |
|---|
| 32 | | - |
|---|
| 33 | | -config SND_SOC_INTEL_SST_ACPI |
|---|
| 34 | | - tristate |
|---|
| 35 | | - # This option controls ACPI-based probing on |
|---|
| 36 | | - # Haswell/Broadwell/Baytrail legacy and will be set |
|---|
| 37 | | - # when these platforms are enabled |
|---|
| 38 | | - |
|---|
| 39 | 18 | config SND_SOC_INTEL_SST |
|---|
| 40 | 19 | tristate |
|---|
| 41 | 20 | |
|---|
| 42 | | -config SND_SOC_INTEL_SST_FIRMWARE |
|---|
| 43 | | - tristate |
|---|
| 21 | +config SND_SOC_INTEL_CATPT |
|---|
| 22 | + tristate "Haswell and Broadwell" |
|---|
| 23 | + depends on ACPI || COMPILE_TEST |
|---|
| 24 | + depends on DMADEVICES && SND_DMA_SGBUF |
|---|
| 44 | 25 | select DW_DMAC_CORE |
|---|
| 45 | | - # This option controls firmware download on |
|---|
| 46 | | - # Haswell/Broadwell/Baytrail legacy and will be set |
|---|
| 47 | | - # when these platforms are enabled |
|---|
| 26 | + select SND_SOC_ACPI_INTEL_MATCH |
|---|
| 27 | + help |
|---|
| 28 | + Enable support for Intel(R) Haswell and Broadwell platforms |
|---|
| 29 | + with I2S codec present. This is a recommended option. |
|---|
| 30 | + Say Y or m if you have such device. |
|---|
| 31 | + If unsure, say N. |
|---|
| 48 | 32 | |
|---|
| 49 | 33 | config SND_SOC_INTEL_HASWELL |
|---|
| 50 | | - tristate "Haswell/Broadwell Platforms" |
|---|
| 51 | | - depends on SND_DMA_SGBUF |
|---|
| 52 | | - depends on DMADEVICES && ACPI |
|---|
| 53 | | - select SND_SOC_INTEL_SST |
|---|
| 54 | | - select SND_SOC_INTEL_SST_ACPI |
|---|
| 55 | | - select SND_SOC_INTEL_SST_FIRMWARE |
|---|
| 56 | | - select SND_SOC_ACPI_INTEL_MATCH |
|---|
| 57 | | - help |
|---|
| 58 | | - If you have a Intel Haswell or Broadwell platform connected to |
|---|
| 59 | | - an I2S codec, then enable this option by saying Y or m. This is |
|---|
| 60 | | - typically used for Chromebooks. This is a recommended option. |
|---|
| 61 | | - |
|---|
| 62 | | -config SND_SOC_INTEL_BAYTRAIL |
|---|
| 63 | | - tristate "Baytrail (legacy) Platforms" |
|---|
| 64 | | - depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n |
|---|
| 65 | | - select SND_SOC_INTEL_SST |
|---|
| 66 | | - select SND_SOC_INTEL_SST_ACPI |
|---|
| 67 | | - select SND_SOC_INTEL_SST_FIRMWARE |
|---|
| 68 | | - select SND_SOC_ACPI_INTEL_MATCH |
|---|
| 69 | | - help |
|---|
| 70 | | - If you have a Intel Baytrail platform connected to an I2S codec, |
|---|
| 71 | | - then enable this option by saying Y or m. This was typically used |
|---|
| 72 | | - for Baytrail Chromebooks but this option is now deprecated and is |
|---|
| 73 | | - not recommended, use SND_SST_ATOM_HIFI2_PLATFORM instead. |
|---|
| 34 | + tristate |
|---|
| 35 | + select SND_SOC_INTEL_CATPT |
|---|
| 74 | 36 | |
|---|
| 75 | 37 | config SND_SST_ATOM_HIFI2_PLATFORM |
|---|
| 76 | 38 | tristate |
|---|
| .. | .. |
|---|
| 79 | 41 | config SND_SST_ATOM_HIFI2_PLATFORM_PCI |
|---|
| 80 | 42 | tristate "PCI HiFi2 (Merrifield) Platforms" |
|---|
| 81 | 43 | depends on X86 && PCI |
|---|
| 82 | | - select SND_SST_IPC_PCI |
|---|
| 83 | 44 | select SND_SST_ATOM_HIFI2_PLATFORM |
|---|
| 84 | 45 | help |
|---|
| 85 | 46 | If you have a Intel Merrifield/Edison platform, then |
|---|
| .. | .. |
|---|
| 91 | 52 | config SND_SST_ATOM_HIFI2_PLATFORM_ACPI |
|---|
| 92 | 53 | tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms" |
|---|
| 93 | 54 | default ACPI |
|---|
| 94 | | - depends on X86 && ACPI |
|---|
| 95 | | - select SND_SST_IPC_ACPI |
|---|
| 55 | + depends on X86 && ACPI && PCI |
|---|
| 96 | 56 | select SND_SST_ATOM_HIFI2_PLATFORM |
|---|
| 97 | 57 | select SND_SOC_ACPI_INTEL_MATCH |
|---|
| 98 | 58 | select IOSF_MBI |
|---|
| .. | .. |
|---|
| 100 | 60 | If you have a Intel Baytrail or Cherrytrail platform with an I2S |
|---|
| 101 | 61 | codec, then enable this option by saying Y or m. This is a |
|---|
| 102 | 62 | recommended option |
|---|
| 63 | + This option is mutually exclusive with the SOF support on |
|---|
| 64 | + Baytrail/Cherrytrail. If you want to enable SOF on |
|---|
| 65 | + Baytrail/Cherrytrail, you need to deselect this option first. |
|---|
| 66 | + |
|---|
| 67 | +config SND_SOC_INTEL_SKYLAKE |
|---|
| 68 | + tristate "All Skylake/SST Platforms" |
|---|
| 69 | + depends on PCI && ACPI |
|---|
| 70 | + depends on COMMON_CLK |
|---|
| 71 | + select SND_SOC_INTEL_SKL |
|---|
| 72 | + select SND_SOC_INTEL_APL |
|---|
| 73 | + select SND_SOC_INTEL_KBL |
|---|
| 74 | + select SND_SOC_INTEL_GLK |
|---|
| 75 | + select SND_SOC_INTEL_CNL |
|---|
| 76 | + select SND_SOC_INTEL_CFL |
|---|
| 77 | + help |
|---|
| 78 | + This is a backwards-compatible option to select all devices |
|---|
| 79 | + supported by the Intel SST/Skylake driver. This option is no |
|---|
| 80 | + longer recommended and will be deprecated when the SOF |
|---|
| 81 | + driver is introduced. Distributions should explicitly |
|---|
| 82 | + select which platform uses this driver. |
|---|
| 83 | + |
|---|
| 84 | +config SND_SOC_INTEL_SKL |
|---|
| 85 | + tristate "Skylake Platforms" |
|---|
| 86 | + depends on PCI && ACPI |
|---|
| 87 | + depends on COMMON_CLK |
|---|
| 88 | + select SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 89 | + help |
|---|
| 90 | + If you have a Intel Skylake platform with the DSP enabled |
|---|
| 91 | + in the BIOS then enable this option by saying Y or m. |
|---|
| 92 | + |
|---|
| 93 | +config SND_SOC_INTEL_APL |
|---|
| 94 | + tristate "Broxton/ApolloLake Platforms" |
|---|
| 95 | + depends on PCI && ACPI |
|---|
| 96 | + depends on COMMON_CLK |
|---|
| 97 | + select SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 98 | + help |
|---|
| 99 | + If you have a Intel Broxton/ApolloLake platform with the DSP |
|---|
| 100 | + enabled in the BIOS then enable this option by saying Y or m. |
|---|
| 101 | + |
|---|
| 102 | +config SND_SOC_INTEL_KBL |
|---|
| 103 | + tristate "Kabylake Platforms" |
|---|
| 104 | + depends on PCI && ACPI |
|---|
| 105 | + depends on COMMON_CLK |
|---|
| 106 | + select SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 107 | + help |
|---|
| 108 | + If you have a Intel Kabylake platform with the DSP |
|---|
| 109 | + enabled in the BIOS then enable this option by saying Y or m. |
|---|
| 110 | + |
|---|
| 111 | +config SND_SOC_INTEL_GLK |
|---|
| 112 | + tristate "GeminiLake Platforms" |
|---|
| 113 | + depends on PCI && ACPI |
|---|
| 114 | + depends on COMMON_CLK |
|---|
| 115 | + select SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 116 | + help |
|---|
| 117 | + If you have a Intel GeminiLake platform with the DSP |
|---|
| 118 | + enabled in the BIOS then enable this option by saying Y or m. |
|---|
| 119 | + |
|---|
| 120 | +config SND_SOC_INTEL_CNL |
|---|
| 121 | + tristate "CannonLake/WhiskyLake Platforms" |
|---|
| 122 | + depends on PCI && ACPI |
|---|
| 123 | + depends on COMMON_CLK |
|---|
| 124 | + select SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 125 | + help |
|---|
| 126 | + If you have a Intel CNL/WHL platform with the DSP |
|---|
| 127 | + enabled in the BIOS then enable this option by saying Y or m. |
|---|
| 128 | + |
|---|
| 129 | +config SND_SOC_INTEL_CFL |
|---|
| 130 | + tristate "CoffeeLake Platforms" |
|---|
| 131 | + depends on PCI && ACPI |
|---|
| 132 | + depends on COMMON_CLK |
|---|
| 133 | + select SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 134 | + help |
|---|
| 135 | + If you have a Intel CoffeeLake platform with the DSP |
|---|
| 136 | + enabled in the BIOS then enable this option by saying Y or m. |
|---|
| 137 | + |
|---|
| 138 | +config SND_SOC_INTEL_CML_H |
|---|
| 139 | + tristate "CometLake-H Platforms" |
|---|
| 140 | + depends on PCI && ACPI |
|---|
| 141 | + depends on COMMON_CLK |
|---|
| 142 | + select SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 143 | + help |
|---|
| 144 | + If you have a Intel CometLake-H platform with the DSP |
|---|
| 145 | + enabled in the BIOS then enable this option by saying Y or m. |
|---|
| 146 | + |
|---|
| 147 | +config SND_SOC_INTEL_CML_LP |
|---|
| 148 | + tristate "CometLake-LP Platforms" |
|---|
| 149 | + depends on PCI && ACPI |
|---|
| 150 | + depends on COMMON_CLK |
|---|
| 151 | + select SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 152 | + help |
|---|
| 153 | + If you have a Intel CometLake-LP platform with the DSP |
|---|
| 154 | + enabled in the BIOS then enable this option by saying Y or m. |
|---|
| 155 | + |
|---|
| 156 | +config SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 157 | + tristate |
|---|
| 158 | + select SND_SOC_INTEL_SKYLAKE_COMMON |
|---|
| 159 | + |
|---|
| 160 | +if SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 103 | 161 | |
|---|
| 104 | 162 | config SND_SOC_INTEL_SKYLAKE_SSP_CLK |
|---|
| 105 | 163 | tristate |
|---|
| 106 | 164 | |
|---|
| 107 | | -config SND_SOC_INTEL_SKYLAKE |
|---|
| 108 | | - tristate "SKL/BXT/KBL/GLK/CNL... Platforms" |
|---|
| 109 | | - depends on PCI && ACPI |
|---|
| 165 | +config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC |
|---|
| 166 | + bool "HDAudio codec support" |
|---|
| 167 | + help |
|---|
| 168 | + If you have Intel Skylake or Kabylake with HDAudio codec |
|---|
| 169 | + and DMIC present then enable this option by saying Y. |
|---|
| 170 | + |
|---|
| 171 | +config SND_SOC_INTEL_SKYLAKE_COMMON |
|---|
| 172 | + tristate |
|---|
| 110 | 173 | select SND_HDA_EXT_CORE |
|---|
| 111 | 174 | select SND_HDA_DSP_LOADER |
|---|
| 112 | 175 | select SND_SOC_TOPOLOGY |
|---|
| 113 | 176 | select SND_SOC_INTEL_SST |
|---|
| 177 | + select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC |
|---|
| 114 | 178 | select SND_SOC_ACPI_INTEL_MATCH |
|---|
| 179 | + select SND_INTEL_DSP_CONFIG |
|---|
| 115 | 180 | help |
|---|
| 116 | 181 | If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/ |
|---|
| 117 | 182 | GeminiLake or CannonLake platform with the DSP enabled in the BIOS |
|---|
| 118 | 183 | then enable this option by saying Y or m. |
|---|
| 184 | + |
|---|
| 185 | +endif ## SND_SOC_INTEL_SKYLAKE_FAMILY |
|---|
| 186 | + |
|---|
| 187 | +endif ## SND_SOC_INTEL_SST_TOPLEVEL |
|---|
| 188 | + |
|---|
| 189 | +if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL |
|---|
| 119 | 190 | |
|---|
| 120 | 191 | config SND_SOC_ACPI_INTEL_MATCH |
|---|
| 121 | 192 | tristate |
|---|
| .. | .. |
|---|
| 123 | 194 | # this option controls the compilation of ACPI matching tables and |
|---|
| 124 | 195 | # helpers and is not meant to be selected by the user. |
|---|
| 125 | 196 | |
|---|
| 126 | | -endif ## SND_SOC_INTEL_SST_TOPLEVEL |
|---|
| 197 | +endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL |
|---|
| 198 | + |
|---|
| 199 | +config SND_SOC_INTEL_KEEMBAY |
|---|
| 200 | + tristate "Keembay Platforms" |
|---|
| 201 | + depends on ARCH_KEEMBAY || COMPILE_TEST |
|---|
| 202 | + depends on COMMON_CLK |
|---|
| 203 | + help |
|---|
| 204 | + If you have a Intel Keembay platform then enable this option |
|---|
| 205 | + by saying Y or m. |
|---|
| 127 | 206 | |
|---|
| 128 | 207 | # ASoC codec drivers |
|---|
| 129 | 208 | source "sound/soc/intel/boards/Kconfig" |
|---|