1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 27e978fa3SLiam Girdwoodconfig SND_SOC_SOF_TOPLEVEL 37e978fa3SLiam Girdwood bool "Sound Open Firmware Support" 47e978fa3SLiam Girdwood help 57e978fa3SLiam Girdwood This adds support for Sound Open Firmware (SOF). SOF is a free and 67e978fa3SLiam Girdwood generic open source audio DSP firmware for multiple devices. 77e978fa3SLiam Girdwood Say Y if you have such a device that is supported by SOF. 87e978fa3SLiam Girdwood If unsure select "N". 97e978fa3SLiam Girdwood 107e978fa3SLiam Girdwoodif SND_SOC_SOF_TOPLEVEL 117e978fa3SLiam Girdwood 127e978fa3SLiam Girdwoodconfig SND_SOC_SOF_PCI 137e978fa3SLiam Girdwood tristate "SOF PCI enumeration support" 149de7eaddSArnd Bergmann depends on PCI 157e978fa3SLiam Girdwood select SND_SOC_SOF 167e978fa3SLiam Girdwood select SND_SOC_ACPI if ACPI 177e978fa3SLiam Girdwood help 187e978fa3SLiam Girdwood This adds support for PCI enumeration. This option is 197e978fa3SLiam Girdwood required to enable Intel Skylake+ devices 207e978fa3SLiam Girdwood Say Y if you need this option 217e978fa3SLiam Girdwood If unsure select "N". 227e978fa3SLiam Girdwood 237e978fa3SLiam Girdwoodconfig SND_SOC_SOF_ACPI 247e978fa3SLiam Girdwood tristate "SOF ACPI enumeration support" 257e978fa3SLiam Girdwood depends on ACPI || COMPILE_TEST 267e978fa3SLiam Girdwood select SND_SOC_SOF 277e978fa3SLiam Girdwood select SND_SOC_ACPI if ACPI 284c885191SRandy Dunlap select IOSF_MBI if X86 && PCI 297e978fa3SLiam Girdwood help 307e978fa3SLiam Girdwood This adds support for ACPI enumeration. This option is required 31*1fa44098SPierre-Louis Bossart to enable Intel Broadwell/Baytrail/Cherrytrail devices 327e978fa3SLiam Girdwood Say Y if you need this option 337e978fa3SLiam Girdwood If unsure select "N". 347e978fa3SLiam Girdwood 35b9132b89SDaniel Balutaconfig SND_SOC_SOF_OF 36b9132b89SDaniel Baluta tristate "SOF OF enumeration support" 37b9132b89SDaniel Baluta depends on OF || COMPILE_TEST 38b9132b89SDaniel Baluta select SND_SOC_SOF 39b9132b89SDaniel Baluta help 40b9132b89SDaniel Baluta This adds support for Device Tree enumeration. This option is 41b9132b89SDaniel Baluta required to enable i.MX8 devices. 42b9132b89SDaniel Baluta Say Y if you need this option. If unsure select "N". 43b9132b89SDaniel Baluta 4470ae4eb5SPierre-Louis Bossartconfig SND_SOC_SOF_DEVELOPER_SUPPORT 4570ae4eb5SPierre-Louis Bossart bool "SOF developer options support" 4670ae4eb5SPierre-Louis Bossart depends on EXPERT 477e978fa3SLiam Girdwood help 4870ae4eb5SPierre-Louis Bossart This option unlock SOF developer options for debug/performance/ 4970ae4eb5SPierre-Louis Bossart code hardening. 5070ae4eb5SPierre-Louis Bossart Distributions should not select this option, only SOF development 5170ae4eb5SPierre-Louis Bossart teams should select it. 5270ae4eb5SPierre-Louis Bossart Say Y if you are involved in SOF development and need this option 5370ae4eb5SPierre-Louis Bossart If not, select N 547e978fa3SLiam Girdwood 5570ae4eb5SPierre-Louis Bossartif SND_SOC_SOF_DEVELOPER_SUPPORT 567e978fa3SLiam Girdwood 577e978fa3SLiam Girdwoodconfig SND_SOC_SOF_NOCODEC 588d01c3c7SPierre-Louis Bossart tristate 598d01c3c7SPierre-Louis Bossart 608d01c3c7SPierre-Louis Bossartconfig SND_SOC_SOF_NOCODEC_SUPPORT 618d01c3c7SPierre-Louis Bossart bool "SOF nocodec mode support" 627e978fa3SLiam Girdwood help 637e978fa3SLiam Girdwood This adds support for a dummy/nocodec machine driver fallback 647e978fa3SLiam Girdwood option if no known codec is detected. This is typically only 657e978fa3SLiam Girdwood enabled for developers or devices where the sound card is 667e978fa3SLiam Girdwood controlled externally 6770ae4eb5SPierre-Louis Bossart This option is mutually exclusive with the Intel HDaudio support, 6870ae4eb5SPierre-Louis Bossart selecting it may have negative impacts and prevent e.g. microphone 6970ae4eb5SPierre-Louis Bossart functionality from being enabled on Intel CoffeeLake and later 7070ae4eb5SPierre-Louis Bossart platforms. 7170ae4eb5SPierre-Louis Bossart Distributions should not select this option! 727e978fa3SLiam Girdwood Say Y if you need this nocodec fallback option 737e978fa3SLiam Girdwood If unsure select "N". 747e978fa3SLiam Girdwood 7573affae2SPierre-Louis Bossartconfig SND_SOC_SOF_STRICT_ABI_CHECKS 7673affae2SPierre-Louis Bossart bool "SOF strict ABI checks" 7773affae2SPierre-Louis Bossart help 7873affae2SPierre-Louis Bossart This option enables strict ABI checks for firmware and topology 7973affae2SPierre-Louis Bossart files. 8073affae2SPierre-Louis Bossart When these files are more recent than the kernel, the kernel 8173affae2SPierre-Louis Bossart will handle the functionality it supports and may report errors 8273affae2SPierre-Louis Bossart during topology creation or run-time usage if new functionality 8373affae2SPierre-Louis Bossart is invoked. 8473affae2SPierre-Louis Bossart This option will stop topology creation and firmware load upfront. 8573affae2SPierre-Louis Bossart It is intended for SOF CI/releases and not for users or distros. 8673affae2SPierre-Louis Bossart Say Y if you want strict ABI checks for an SOF release 8773affae2SPierre-Louis Bossart If you are not involved in SOF releases and CI development 8873affae2SPierre-Louis Bossart select "N". 8973affae2SPierre-Louis Bossart 907e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG 917e978fa3SLiam Girdwood bool "SOF debugging features" 927e978fa3SLiam Girdwood help 937e978fa3SLiam Girdwood This option can be used to enable or disable individual SOF firmware 947e978fa3SLiam Girdwood and driver debugging options. 957e978fa3SLiam Girdwood Say Y if you are debugging SOF FW or drivers. 967e978fa3SLiam Girdwood If unsure select "N". 977e978fa3SLiam Girdwood 987e978fa3SLiam Girdwoodif SND_SOC_SOF_DEBUG 997e978fa3SLiam Girdwood 1007e978fa3SLiam Girdwoodconfig SND_SOC_SOF_FORCE_NOCODEC_MODE 1017e978fa3SLiam Girdwood bool "SOF force nocodec Mode" 1028d01c3c7SPierre-Louis Bossart depends on SND_SOC_SOF_NOCODEC_SUPPORT 1037e978fa3SLiam Girdwood help 1047e978fa3SLiam Girdwood This forces SOF to use dummy/nocodec as machine driver, even 1057e978fa3SLiam Girdwood though there is a codec detected on the real platform. This is 1067e978fa3SLiam Girdwood typically only enabled for developers for debug purposes, before 1077e978fa3SLiam Girdwood codec/machine driver is ready, or to exclude the impact of those 1087e978fa3SLiam Girdwood drivers 1097e978fa3SLiam Girdwood Say Y if you need this force nocodec mode option 1107e978fa3SLiam Girdwood If unsure select "N". 1117e978fa3SLiam Girdwood 1127e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_XRUN_STOP 1137e978fa3SLiam Girdwood bool "SOF stop on XRUN" 1147e978fa3SLiam Girdwood help 1157e978fa3SLiam Girdwood This option forces PCMs to stop on any XRUN event. This is useful to 1167e978fa3SLiam Girdwood preserve any trace data ond pipeline status prior to the XRUN. 1177e978fa3SLiam Girdwood Say Y if you are debugging SOF FW pipeline XRUNs. 1187e978fa3SLiam Girdwood If unsure select "N". 1197e978fa3SLiam Girdwood 1207e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_VERBOSE_IPC 1217e978fa3SLiam Girdwood bool "SOF verbose IPC logs" 1227e978fa3SLiam Girdwood help 1237e978fa3SLiam Girdwood This option enables more verbose IPC logs, with command types in 1247e978fa3SLiam Girdwood human-readable form instead of just 32-bit hex dumps. This is useful 1257e978fa3SLiam Girdwood if you are trying to debug IPC with the DSP firmware. 1267e978fa3SLiam Girdwood If unsure select "N". 1277e978fa3SLiam Girdwood 1287e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_FORCE_IPC_POSITION 1297e978fa3SLiam Girdwood bool "SOF force to use IPC for position update on SKL+" 1307e978fa3SLiam Girdwood help 1317e978fa3SLiam Girdwood This option force to handle stream position update IPCs and run pcm 1327e978fa3SLiam Girdwood elapse to inform ALSA about that, on platforms (e.g. Intel SKL+) that 1337e978fa3SLiam Girdwood with other approach (e.g. HDAC DPIB/posbuf) to elapse PCM. 1347e978fa3SLiam Girdwood On platforms (e.g. Intel SKL-) where position update IPC is the only 1357e978fa3SLiam Girdwood one choice, this setting won't impact anything. 1367e978fa3SLiam Girdwood if you are trying to debug pointer update with position IPCs or where 1377e978fa3SLiam Girdwood DPIB/posbuf is not ready, select "Y". 1387e978fa3SLiam Girdwood If unsure select "N". 1397e978fa3SLiam Girdwood 1407e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE 1417e978fa3SLiam Girdwood bool "SOF enable debugfs caching" 1427e978fa3SLiam Girdwood help 1437e978fa3SLiam Girdwood This option enables caching of debugfs 1447e978fa3SLiam Girdwood memory -> DSP resource (memory, register, etc) 1457e978fa3SLiam Girdwood before the audio DSP is suspended. This will increase the suspend 1467e978fa3SLiam Girdwood latency and therefore should be used for debug purposes only. 1477e978fa3SLiam Girdwood Say Y if you want to enable caching the memory windows. 1487e978fa3SLiam Girdwood If unsure, select "N". 1497e978fa3SLiam Girdwood 1502ab4c50fSPierre-Louis Bossartconfig SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE 1512ab4c50fSPierre-Louis Bossart bool "SOF enable firmware trace" 1522ab4c50fSPierre-Louis Bossart help 1532ab4c50fSPierre-Louis Bossart The firmware trace can be enabled either at build-time with 1542ab4c50fSPierre-Louis Bossart this option, or dynamically by setting flags in the SOF core 1552ab4c50fSPierre-Louis Bossart module parameter (similar to dynamic debug) 1562ab4c50fSPierre-Louis Bossart If unsure, select "N". 1572ab4c50fSPierre-Louis Bossart 158091c12e1SRanjani Sridharanconfig SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST 159091c12e1SRanjani Sridharan bool "SOF enable IPC flood test" 160091c12e1SRanjani Sridharan help 161091c12e1SRanjani Sridharan This option enables the IPC flood test which can be used to flood 162091c12e1SRanjani Sridharan the DSP with test IPCs and gather stats about response times. 163091c12e1SRanjani Sridharan Say Y if you want to enable IPC flood test. 164091c12e1SRanjani Sridharan If unsure, select "N". 165091c12e1SRanjani Sridharan 1669a06508bSLiam Girdwoodconfig SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT 1679a06508bSLiam Girdwood bool "SOF retain DSP context on any FW exceptions" 1689a06508bSLiam Girdwood help 1699a06508bSLiam Girdwood This option keeps the DSP in D0 state so that firmware debug 1709a06508bSLiam Girdwood information can be retained and dumped to userspace. 1719a06508bSLiam Girdwood Say Y if you want to retain DSP context for FW exceptions. 1729a06508bSLiam Girdwood If unsure, select "N". 1739a06508bSLiam Girdwood 1747e978fa3SLiam Girdwoodendif ## SND_SOC_SOF_DEBUG 1757e978fa3SLiam Girdwood 17670ae4eb5SPierre-Louis Bossartendif ## SND_SOC_SOF_DEVELOPER_SUPPORT 1777e978fa3SLiam Girdwood 1787e978fa3SLiam Girdwoodconfig SND_SOC_SOF 1797e978fa3SLiam Girdwood tristate 1807e978fa3SLiam Girdwood select SND_SOC_TOPOLOGY 1818d01c3c7SPierre-Louis Bossart select SND_SOC_SOF_NOCODEC if SND_SOC_SOF_NOCODEC_SUPPORT 1827e978fa3SLiam Girdwood help 1837e978fa3SLiam Girdwood This option is not user-selectable but automagically handled by 1847e978fa3SLiam Girdwood 'select' statements at a higher level 1857e978fa3SLiam Girdwood The selection is made at the top level and does not exactly follow 1867e978fa3SLiam Girdwood module dependencies but since the module or built-in type is decided 1877e978fa3SLiam Girdwood at the top level it doesn't matter. 1887e978fa3SLiam Girdwood 1897e978fa3SLiam Girdwoodconfig SND_SOC_SOF_PROBE_WORK_QUEUE 1907e978fa3SLiam Girdwood bool 1917e978fa3SLiam Girdwood help 1927e978fa3SLiam Girdwood This option is not user-selectable but automagically handled by 1937e978fa3SLiam Girdwood 'select' statements at a higher level 1947e978fa3SLiam Girdwood When selected, the probe is handled in two steps, for example to 1957e978fa3SLiam Girdwood avoid lockdeps if request_module is used in the probe. 1967e978fa3SLiam Girdwood 197202acc56SDaniel Balutasource "sound/soc/sof/imx/Kconfig" 1987e978fa3SLiam Girdwoodsource "sound/soc/sof/intel/Kconfig" 1997e978fa3SLiam Girdwoodsource "sound/soc/sof/xtensa/Kconfig" 2007e978fa3SLiam Girdwood 2017e978fa3SLiam Girdwoodendif 202