1# SPDX-License-Identifier: BSD-3-Clause 2 3config INTEL_HDA 4 bool "Intel HDA driver" 5 depends on CAVS 6 default n 7 help 8 Select this to enable Intel HDA driver. The HDA driver provides 9 interface for host and HD-Audio data transfers. 10 11config INTEL_MN 12 bool 13 depends on CAVS 14 default n 15 help 16 Select this if the platform supports M/N dividers. 17 18config INTEL_MCLK 19 bool 20 depends on CAVS 21 default n 22 help 23 Select this to enable driver for Intel MCLK and M/N dividers. 24 25config INTEL_SSP 26 bool "Intel SSP driver" 27 depends on CAVS 28 select INTEL_MCLK 29 default n 30 help 31 Select this to enable Intel Synchronous Serial Port (SSP) driver. 32 33config INTEL_ALH 34 bool "Intel ALH driver" 35 depends on CAVS 36 default n 37 help 38 Select this to enable Intel ALH driver. 39 The ALH is an intermediary device, which acts as a hub and provides an 40 abstracted support for numerous sound interfaces (e.g. SoundWire). 41 42config INTEL_DMIC 43 bool "Intel DMIC driver" 44 depends on CAVS 45 default n 46 help 47 Select this to enable Intel DMIC driver. The DMIC driver provides 48 as DAI the SoC direct attach digital microphones interface. 49 50if INTEL_DMIC 51 52choice 53 prompt "Driver operation mode" 54 default INTEL_DMIC_TPLG_PARAMS 55 help 56 The driver can support two operation modes. 57 - A HW registers dump blob that is passed via IPC 58 - DAI tokens those describe the use case PCM format 59 and PDM bus and microphone parameters 60 61config INTEL_DMIC_NHLT 62 bool "Use NHLT DMIC blob" 63 help 64 All registers configuration is retrieved from blob. The 65 number of channels, sample rate, and PCM format are 66 defined in the blob and there are no runtime made 67 configuration choices. 68 69config INTEL_DMIC_TPLG_PARAMS 70 bool "Use parameters from topology" 71 help 72 All registers confifguration is computed on the fly 73 based on use case and microphone datasheet parameters 74 and topology defined PCM format. The parameters are 75 easy to to customize in the topology. 76 77endchoice 78 79if INTEL_DMIC_TPLG_PARAMS 80 81choice 82 prompt "FIR decimation coefficients set" 83 default INTEL_DMIC_FIR_FULL 84 85config INTEL_DMIC_FIR_FULL 86 bool "Full set" 87 select INTEL_DMIC_FIR_DECIMATE_BY_2 88 select INTEL_DMIC_FIR_DECIMATE_BY_3 89 select INTEL_DMIC_FIR_DECIMATE_BY_4 90 select INTEL_DMIC_FIR_DECIMATE_BY_5 91 select INTEL_DMIC_FIR_DECIMATE_BY_6 92 select INTEL_DMIC_FIR_DECIMATE_BY_8 93 select INTEL_DMIC_FIR_DECIMATE_BY_10 94 select INTEL_DMIC_FIR_DECIMATE_BY_12 95 help 96 This option adds to previous all currently defined FIR 97 coefficients sets to support sample rates 8 - 96 kHz with 98 several microphone clock rates. The tables increase the size 99 of the driver so this option should not be used in minimal 100 systems. 101 102config INTEL_DMIC_FIR_LOW_MEMORY 103 bool "Small set" 104 select INTEL_DMIC_FIR_DECIMATE_BY_2 105 select INTEL_DMIC_FIR_DECIMATE_BY_6 106 help 107 This option is used to minimize driver footprint but 108 preserve support for 48 kHz and 16 kHz sample rates 109 at typical 2.4 MHz microphone clock rate. The option 110 enables decimation factors 2 and 6. 111 112config INTEL_DMIC_FIR_CUSTOM 113 bool "Custom set" 114 help 115 This option is used to select each supported decimation 116 factor. 117 118endchoice 119 120menu "Decimation factors" 121 visible if INTEL_DMIC_FIR_CUSTOM 122 123config INTEL_DMIC_FIR_DECIMATE_BY_2 124 bool "FIR decimate by 2" 125 default n 126 help 127 This includes FIR coefficients to decimate by 2 into the build. It 128 is commonly used for 48 kHz capture with 2.4 MHz microphone clock. 129 Decimate by 2 in FIR gives good bandwidth vs. Nyquist and narrow 130 transition region due to lower FIR order need compared to higher 131 decimation factors. 132 133config INTEL_DMIC_FIR_DECIMATE_BY_3 134 bool "FIR decimate by 3" 135 default n 136 help 137 This includes FIR coefficients to decimate by 3 into the build. 138 Decimation by 3 in FIR is useful with microphone clock and sample 139 rate combinations where a 3 is the lowest factor of the oversampling 140 ratio. Having this low prime decimation factor for FIR enabled is 141 useful when decimation by 2 is not possible. 142 143config INTEL_DMIC_FIR_DECIMATE_BY_4 144 bool "FIR decimate by 4" 145 default n 146 help 147 This includes FIR coefficients to decimate by 4 into the build. 148 Decimation by 4 in FIR is useful in some cases with high microphone 149 clock rates due to max. decimation factor limit of CIC. In such 150 cases decimation by 2 may not be usable. 151 152config INTEL_DMIC_FIR_DECIMATE_BY_5 153 bool "FIR decimate by 5" 154 default n 155 help 156 This includes FIR coefficients to decimate by 5 into the build. 157 Decimation by 5 in FIR is useful with microphone clock and sample 158 rate combinations where a 5 is the lowest factor of the oversampling 159 ratio. 160 161config INTEL_DMIC_FIR_DECIMATE_BY_6 162 bool "FIR decimate by 6" 163 default n 164 help 165 This includes FIR coefficients to decimate by 6 into the build. It 166 is commonly used for 16 kHz capture from secondary FIFO while 167 primary FIFO is configured for 48 kHz rate. 168 169config INTEL_DMIC_FIR_DECIMATE_BY_8 170 bool "FIR decimate by 8" 171 default n 172 help 173 This includes FIR coefficients to decimate by 8 into the build. 174 The high FIR decimation factors are needed for high microphone clock 175 rates due to max. decimation factor limitation of CIC. Also dual 176 FIFO configurations may need for one FIR decimation such high 177 decimation factor. 178 179config INTEL_DMIC_FIR_DECIMATE_BY_10 180 bool "FIR decimate by 10" 181 default n 182 help 183 This includes FIR coefficients to decimate by 10 into the build. 184 The high FIR decimation factors are needed for high microphone clock 185 rates due to max. decimation factor limitation of CIC. Also dual 186 FIFO configurations may need for one FIR decimation such high 187 decimation factor. 188 189config INTEL_DMIC_FIR_DECIMATE_BY_12 190 bool "FIR decimate by 12" 191 default n 192 help 193 This includes FIR coefficients to decimate by 12 into the build. It 194 is used for 16 kHz capture for secondary FIFO while the primary 195 FIFO is configured for 96 kHz. 196 197endmenu # "Decimation factors" 198 199endif 200 201endif # INTEL_DMIC 202