1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2724cd2e4SPeter Ujfalusimenuconfig SND_SOC_SOF_TOPLEVEL 37e978fa3SLiam Girdwood bool "Sound Open Firmware Support" 47e978fa3SLiam Girdwood help 5aff581aeSRandy Dunlap This adds support for Sound Open Firmware (SOF). SOF is 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 128d4ba1beSPierre-Louis Bossartconfig SND_SOC_SOF_PCI_DEV 138d4ba1beSPierre-Louis Bossart tristate 148d4ba1beSPierre-Louis Bossart 157e978fa3SLiam Girdwoodconfig SND_SOC_SOF_PCI 167e978fa3SLiam Girdwood tristate "SOF PCI enumeration support" 179de7eaddSArnd Bergmann depends on PCI 187e978fa3SLiam Girdwood help 197e978fa3SLiam Girdwood This adds support for PCI enumeration. This option is 20aff581aeSRandy Dunlap required to enable Intel Skylake+ devices. 218d4ba1beSPierre-Louis Bossart For backwards-compatibility with previous configurations the selection will 228d4ba1beSPierre-Louis Bossart be used as default for platform-specific drivers. 23aff581aeSRandy Dunlap Say Y if you need this option. 247e978fa3SLiam Girdwood If unsure select "N". 257e978fa3SLiam Girdwood 267e978fa3SLiam Girdwoodconfig SND_SOC_SOF_ACPI 277e978fa3SLiam Girdwood tristate "SOF ACPI enumeration support" 287e978fa3SLiam Girdwood depends on ACPI || COMPILE_TEST 297e978fa3SLiam Girdwood help 307e978fa3SLiam Girdwood This adds support for ACPI enumeration. This option is required 31aff581aeSRandy Dunlap to enable Intel Broadwell/Baytrail/Cherrytrail devices. 328a49cd11SArnd Bergmann For backwards-compatibility with previous configurations the selection will 338a49cd11SArnd Bergmann be used as default for platform-specific drivers. 34aff581aeSRandy Dunlap Say Y if you need this option. 357e978fa3SLiam Girdwood If unsure select "N". 367e978fa3SLiam Girdwood 378a49cd11SArnd Bergmannconfig SND_SOC_SOF_ACPI_DEV 388a49cd11SArnd Bergmann tristate 398a49cd11SArnd Bergmann 40b9132b89SDaniel Balutaconfig SND_SOC_SOF_OF 41b9132b89SDaniel Baluta tristate "SOF OF enumeration support" 42b9132b89SDaniel Baluta depends on OF || COMPILE_TEST 43b9132b89SDaniel Baluta select SND_SOC_SOF 44b9132b89SDaniel Baluta help 45b9132b89SDaniel Baluta This adds support for Device Tree enumeration. This option is 46b9132b89SDaniel Baluta required to enable i.MX8 devices. 47b9132b89SDaniel Baluta Say Y if you need this option. If unsure select "N". 48b9132b89SDaniel Baluta 49*858f7a5cSDaniel Balutaconfig SND_SOC_SOF_COMPRESS 50*858f7a5cSDaniel Baluta tristate 51*858f7a5cSDaniel Baluta select SND_SOC_COMPRESS 52*858f7a5cSDaniel Baluta 53f3b433e4SCezary Rojewskiconfig SND_SOC_SOF_DEBUG_PROBES 54f3b433e4SCezary Rojewski bool "SOF enable data probing" 55e145e9afSCezary Rojewski select SND_SOC_COMPRESS 56f3b433e4SCezary Rojewski help 57f3b433e4SCezary Rojewski This option enables the data probing feature that can be used to 58f3b433e4SCezary Rojewski gather data directly from specific points of the audio pipeline. 59f3b433e4SCezary Rojewski Say Y if you want to enable probes. 60f3b433e4SCezary Rojewski If unsure, select "N". 61f3b433e4SCezary Rojewski 6270ae4eb5SPierre-Louis Bossartconfig SND_SOC_SOF_DEVELOPER_SUPPORT 6370ae4eb5SPierre-Louis Bossart bool "SOF developer options support" 6470ae4eb5SPierre-Louis Bossart depends on EXPERT 657e978fa3SLiam Girdwood help 66aff581aeSRandy Dunlap This option unlocks SOF developer options for debug/performance/ 6770ae4eb5SPierre-Louis Bossart code hardening. 6870ae4eb5SPierre-Louis Bossart Distributions should not select this option, only SOF development 6970ae4eb5SPierre-Louis Bossart teams should select it. 70aff581aeSRandy Dunlap Say Y if you are involved in SOF development and need this option. 71aff581aeSRandy Dunlap If not, select N. 727e978fa3SLiam Girdwood 7370ae4eb5SPierre-Louis Bossartif SND_SOC_SOF_DEVELOPER_SUPPORT 747e978fa3SLiam Girdwood 75e4330caeSPierre-Louis Bossartconfig SND_SOC_SOF_FORCE_PROBE_WORKQUEUE 76e4330caeSPierre-Louis Bossart bool "SOF force probe workqueue" 77e4330caeSPierre-Louis Bossart select SND_SOC_SOF_PROBE_WORK_QUEUE 78e4330caeSPierre-Louis Bossart help 79e4330caeSPierre-Louis Bossart This option forces the use of a probe workqueue, which is only used 80e4330caeSPierre-Louis Bossart when HDaudio is enabled due to module dependencies. Forcing this 81e4330caeSPierre-Louis Bossart option is intended for debug only, but this should not add any 82e4330caeSPierre-Louis Bossart functional issues in nominal cases. 83e4330caeSPierre-Louis Bossart Say Y if you are involved in SOF development and need this option. 84e4330caeSPierre-Louis Bossart If not, select N. 85e4330caeSPierre-Louis Bossart 867e978fa3SLiam Girdwoodconfig SND_SOC_SOF_NOCODEC 878d01c3c7SPierre-Louis Bossart tristate 888d01c3c7SPierre-Louis Bossart 898d01c3c7SPierre-Louis Bossartconfig SND_SOC_SOF_NOCODEC_SUPPORT 908d01c3c7SPierre-Louis Bossart bool "SOF nocodec mode support" 917e978fa3SLiam Girdwood help 927e978fa3SLiam Girdwood This adds support for a dummy/nocodec machine driver fallback 937e978fa3SLiam Girdwood option if no known codec is detected. This is typically only 947e978fa3SLiam Girdwood enabled for developers or devices where the sound card is 95aff581aeSRandy Dunlap controlled externally. 96aff581aeSRandy Dunlap This option is mutually exclusive with the Intel HDAudio support. 97aff581aeSRandy Dunlap Selecting it may have negative impacts and prevent e.g. microphone 9870ae4eb5SPierre-Louis Bossart functionality from being enabled on Intel CoffeeLake and later 9970ae4eb5SPierre-Louis Bossart platforms. 10070ae4eb5SPierre-Louis Bossart Distributions should not select this option! 101aff581aeSRandy Dunlap Say Y if you need this nocodec fallback option. 1027e978fa3SLiam Girdwood If unsure select "N". 1037e978fa3SLiam Girdwood 10473affae2SPierre-Louis Bossartconfig SND_SOC_SOF_STRICT_ABI_CHECKS 10573affae2SPierre-Louis Bossart bool "SOF strict ABI checks" 10673affae2SPierre-Louis Bossart help 10773affae2SPierre-Louis Bossart This option enables strict ABI checks for firmware and topology 10873affae2SPierre-Louis Bossart files. 10973affae2SPierre-Louis Bossart When these files are more recent than the kernel, the kernel 11073affae2SPierre-Louis Bossart will handle the functionality it supports and may report errors 11173affae2SPierre-Louis Bossart during topology creation or run-time usage if new functionality 11273affae2SPierre-Louis Bossart is invoked. 11373affae2SPierre-Louis Bossart This option will stop topology creation and firmware load upfront. 11473affae2SPierre-Louis Bossart It is intended for SOF CI/releases and not for users or distros. 115aff581aeSRandy Dunlap Say Y if you want strict ABI checks for an SOF release. 116aff581aeSRandy Dunlap If you are not involved in SOF releases and CI development, 11773affae2SPierre-Louis Bossart select "N". 11873affae2SPierre-Louis Bossart 1197e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG 1207e978fa3SLiam Girdwood bool "SOF debugging features" 1217e978fa3SLiam Girdwood help 1227e978fa3SLiam Girdwood This option can be used to enable or disable individual SOF firmware 1237e978fa3SLiam Girdwood and driver debugging options. 1247e978fa3SLiam Girdwood Say Y if you are debugging SOF FW or drivers. 1257e978fa3SLiam Girdwood If unsure select "N". 1267e978fa3SLiam Girdwood 1277e978fa3SLiam Girdwoodif SND_SOC_SOF_DEBUG 1287e978fa3SLiam Girdwood 1297e978fa3SLiam Girdwoodconfig SND_SOC_SOF_FORCE_NOCODEC_MODE 1307e978fa3SLiam Girdwood bool "SOF force nocodec Mode" 1318d01c3c7SPierre-Louis Bossart depends on SND_SOC_SOF_NOCODEC_SUPPORT 1327e978fa3SLiam Girdwood help 1337e978fa3SLiam Girdwood This forces SOF to use dummy/nocodec as machine driver, even 1347e978fa3SLiam Girdwood though there is a codec detected on the real platform. This is 1357e978fa3SLiam Girdwood typically only enabled for developers for debug purposes, before 1367e978fa3SLiam Girdwood codec/machine driver is ready, or to exclude the impact of those 137aff581aeSRandy Dunlap drivers. 138aff581aeSRandy Dunlap Say Y if you need this force nocodec mode option. 1397e978fa3SLiam Girdwood If unsure select "N". 1407e978fa3SLiam Girdwood 1417e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_XRUN_STOP 1427e978fa3SLiam Girdwood bool "SOF stop on XRUN" 1437e978fa3SLiam Girdwood help 1447e978fa3SLiam Girdwood This option forces PCMs to stop on any XRUN event. This is useful to 145e49037adSColin Ian King preserve any trace data and pipeline status prior to the XRUN. 1467e978fa3SLiam Girdwood Say Y if you are debugging SOF FW pipeline XRUNs. 1477e978fa3SLiam Girdwood If unsure select "N". 1487e978fa3SLiam Girdwood 1497e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_VERBOSE_IPC 1507e978fa3SLiam Girdwood bool "SOF verbose IPC logs" 1517e978fa3SLiam Girdwood help 1527e978fa3SLiam Girdwood This option enables more verbose IPC logs, with command types in 1537e978fa3SLiam Girdwood human-readable form instead of just 32-bit hex dumps. This is useful 1547e978fa3SLiam Girdwood if you are trying to debug IPC with the DSP firmware. 1557e978fa3SLiam Girdwood If unsure select "N". 1567e978fa3SLiam Girdwood 1577e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_FORCE_IPC_POSITION 1587e978fa3SLiam Girdwood bool "SOF force to use IPC for position update on SKL+" 1597e978fa3SLiam Girdwood help 160aff581aeSRandy Dunlap This option forces to handle stream position update IPCs and run PCM 1617e978fa3SLiam Girdwood elapse to inform ALSA about that, on platforms (e.g. Intel SKL+) that 1627e978fa3SLiam Girdwood with other approach (e.g. HDAC DPIB/posbuf) to elapse PCM. 1637e978fa3SLiam Girdwood On platforms (e.g. Intel SKL-) where position update IPC is the only 1647e978fa3SLiam Girdwood one choice, this setting won't impact anything. 165aff581aeSRandy Dunlap If you are trying to debug pointer update with position IPCs or where 1667e978fa3SLiam Girdwood DPIB/posbuf is not ready, select "Y". 1677e978fa3SLiam Girdwood If unsure select "N". 1687e978fa3SLiam Girdwood 1697e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE 1707e978fa3SLiam Girdwood bool "SOF enable debugfs caching" 1717e978fa3SLiam Girdwood help 1727e978fa3SLiam Girdwood This option enables caching of debugfs 1737e978fa3SLiam Girdwood memory -> DSP resource (memory, register, etc) 1747e978fa3SLiam Girdwood before the audio DSP is suspended. This will increase the suspend 1757e978fa3SLiam Girdwood latency and therefore should be used for debug purposes only. 1767e978fa3SLiam Girdwood Say Y if you want to enable caching the memory windows. 1777e978fa3SLiam Girdwood If unsure, select "N". 1787e978fa3SLiam Girdwood 1792ab4c50fSPierre-Louis Bossartconfig SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE 1802ab4c50fSPierre-Louis Bossart bool "SOF enable firmware trace" 1812ab4c50fSPierre-Louis Bossart help 1822ab4c50fSPierre-Louis Bossart The firmware trace can be enabled either at build-time with 1832ab4c50fSPierre-Louis Bossart this option, or dynamically by setting flags in the SOF core 184aff581aeSRandy Dunlap module parameter (similar to dynamic debug). 1852ab4c50fSPierre-Louis Bossart If unsure, select "N". 1862ab4c50fSPierre-Louis Bossart 187091c12e1SRanjani Sridharanconfig SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST 188091c12e1SRanjani Sridharan bool "SOF enable IPC flood test" 189091c12e1SRanjani Sridharan help 190091c12e1SRanjani Sridharan This option enables the IPC flood test which can be used to flood 191091c12e1SRanjani Sridharan the DSP with test IPCs and gather stats about response times. 192091c12e1SRanjani Sridharan Say Y if you want to enable IPC flood test. 193091c12e1SRanjani Sridharan If unsure, select "N". 194091c12e1SRanjani Sridharan 1959a06508bSLiam Girdwoodconfig SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT 1969a06508bSLiam Girdwood bool "SOF retain DSP context on any FW exceptions" 1979a06508bSLiam Girdwood help 1989a06508bSLiam Girdwood This option keeps the DSP in D0 state so that firmware debug 1999a06508bSLiam Girdwood information can be retained and dumped to userspace. 2009a06508bSLiam Girdwood Say Y if you want to retain DSP context for FW exceptions. 2019a06508bSLiam Girdwood If unsure, select "N". 2029a06508bSLiam Girdwood 2037e978fa3SLiam Girdwoodendif ## SND_SOC_SOF_DEBUG 2047e978fa3SLiam Girdwood 20570ae4eb5SPierre-Louis Bossartendif ## SND_SOC_SOF_DEVELOPER_SUPPORT 2067e978fa3SLiam Girdwood 2077e978fa3SLiam Girdwoodconfig SND_SOC_SOF 2087e978fa3SLiam Girdwood tristate 2097e978fa3SLiam Girdwood select SND_SOC_TOPOLOGY 2108d01c3c7SPierre-Louis Bossart select SND_SOC_SOF_NOCODEC if SND_SOC_SOF_NOCODEC_SUPPORT 2117e978fa3SLiam Girdwood help 2127e978fa3SLiam Girdwood This option is not user-selectable but automagically handled by 213aff581aeSRandy Dunlap 'select' statements at a higher level. 2147e978fa3SLiam Girdwood The selection is made at the top level and does not exactly follow 2157e978fa3SLiam Girdwood module dependencies but since the module or built-in type is decided 2167e978fa3SLiam Girdwood at the top level it doesn't matter. 2177e978fa3SLiam Girdwood 2187e978fa3SLiam Girdwoodconfig SND_SOC_SOF_PROBE_WORK_QUEUE 2197e978fa3SLiam Girdwood bool 2207e978fa3SLiam Girdwood help 2217e978fa3SLiam Girdwood This option is not user-selectable but automagically handled by 222aff581aeSRandy Dunlap 'select' statements at a higher level. 2237e978fa3SLiam Girdwood When selected, the probe is handled in two steps, for example to 2247e978fa3SLiam Girdwood avoid lockdeps if request_module is used in the probe. 2257e978fa3SLiam Girdwood 226202acc56SDaniel Balutasource "sound/soc/sof/imx/Kconfig" 2277e978fa3SLiam Girdwoodsource "sound/soc/sof/intel/Kconfig" 2287e978fa3SLiam Girdwoodsource "sound/soc/sof/xtensa/Kconfig" 2297e978fa3SLiam Girdwood 2307e978fa3SLiam Girdwoodendif 231