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" 4211e87890SJean Delvare depends on OF 43b9132b89SDaniel Baluta help 44b9132b89SDaniel Baluta This adds support for Device Tree enumeration. This option is 4524281bc2SYC Hung required to enable i.MX8 or Mediatek devices. 46b9132b89SDaniel Baluta Say Y if you need this option. If unsure select "N". 47b9132b89SDaniel Baluta 487548a391SPierre-Louis Bossartconfig SND_SOC_SOF_OF_DEV 497548a391SPierre-Louis Bossart tristate 507548a391SPierre-Louis Bossart 51858f7a5cSDaniel Balutaconfig SND_SOC_SOF_COMPRESS 521218f06cSArnd Bergmann bool 53858f7a5cSDaniel Baluta select SND_SOC_COMPRESS 54858f7a5cSDaniel Baluta 55f3b433e4SCezary Rojewskiconfig SND_SOC_SOF_DEBUG_PROBES 563dc0d709SPeter Ujfalusi tristate 573dc0d709SPeter Ujfalusi select SND_SOC_SOF_CLIENT 58e145e9afSCezary Rojewski select SND_SOC_COMPRESS 59f3b433e4SCezary Rojewski help 60f3b433e4SCezary Rojewski This option enables the data probing feature that can be used to 61f3b433e4SCezary Rojewski gather data directly from specific points of the audio pipeline. 623dc0d709SPeter Ujfalusi This option is not user-selectable but automagically handled by 633dc0d709SPeter Ujfalusi 'select' statements at a higher level. 64f3b433e4SCezary Rojewski 656955d951SPeter Ujfalusiconfig SND_SOC_SOF_CLIENT 666955d951SPeter Ujfalusi tristate 676955d951SPeter Ujfalusi select AUXILIARY_BUS 686955d951SPeter Ujfalusi help 696955d951SPeter Ujfalusi This option is not user-selectable but automagically handled by 706955d951SPeter Ujfalusi 'select' statements at a higher level. 716955d951SPeter Ujfalusi 7270ae4eb5SPierre-Louis Bossartconfig SND_SOC_SOF_DEVELOPER_SUPPORT 7370ae4eb5SPierre-Louis Bossart bool "SOF developer options support" 744941cd7cSPeter Ujfalusi depends on EXPERT && SND_SOC_SOF 757e978fa3SLiam Girdwood help 76aff581aeSRandy Dunlap This option unlocks SOF developer options for debug/performance/ 7770ae4eb5SPierre-Louis Bossart code hardening. 7870ae4eb5SPierre-Louis Bossart Distributions should not select this option, only SOF development 7970ae4eb5SPierre-Louis Bossart teams should select it. 80aff581aeSRandy Dunlap Say Y if you are involved in SOF development and need this option. 81aff581aeSRandy Dunlap If not, select N. 827e978fa3SLiam Girdwood 8370ae4eb5SPierre-Louis Bossartif SND_SOC_SOF_DEVELOPER_SUPPORT 847e978fa3SLiam Girdwood 85e4330caeSPierre-Louis Bossartconfig SND_SOC_SOF_FORCE_PROBE_WORKQUEUE 86e4330caeSPierre-Louis Bossart bool "SOF force probe workqueue" 87e4330caeSPierre-Louis Bossart select SND_SOC_SOF_PROBE_WORK_QUEUE 88e4330caeSPierre-Louis Bossart help 89e4330caeSPierre-Louis Bossart This option forces the use of a probe workqueue, which is only used 90e4330caeSPierre-Louis Bossart when HDaudio is enabled due to module dependencies. Forcing this 91e4330caeSPierre-Louis Bossart option is intended for debug only, but this should not add any 92e4330caeSPierre-Louis Bossart functional issues in nominal cases. 93e4330caeSPierre-Louis Bossart Say Y if you are involved in SOF development and need this option. 94e4330caeSPierre-Louis Bossart If not, select N. 95e4330caeSPierre-Louis Bossart 967e978fa3SLiam Girdwoodconfig SND_SOC_SOF_NOCODEC 978d01c3c7SPierre-Louis Bossart tristate 988d01c3c7SPierre-Louis Bossart 998d01c3c7SPierre-Louis Bossartconfig SND_SOC_SOF_NOCODEC_SUPPORT 1004bd1adb8SPierre-Louis Bossart bool "SOF nocodec static mode support" 1017e978fa3SLiam Girdwood help 1027e978fa3SLiam Girdwood This adds support for a dummy/nocodec machine driver fallback 1037e978fa3SLiam Girdwood option if no known codec is detected. This is typically only 1047e978fa3SLiam Girdwood enabled for developers or devices where the sound card is 105aff581aeSRandy Dunlap controlled externally. 1064bd1adb8SPierre-Louis Bossart This option is mutually exclusive at build time with the Intel HDAudio support. 107aff581aeSRandy Dunlap Selecting it may have negative impacts and prevent e.g. microphone 10870ae4eb5SPierre-Louis Bossart functionality from being enabled on Intel CoffeeLake and later 10970ae4eb5SPierre-Louis Bossart platforms. 11070ae4eb5SPierre-Louis Bossart Distributions should not select this option! 111aff581aeSRandy Dunlap Say Y if you need this nocodec fallback option. 1127e978fa3SLiam Girdwood If unsure select "N". 1137e978fa3SLiam Girdwood 11473affae2SPierre-Louis Bossartconfig SND_SOC_SOF_STRICT_ABI_CHECKS 11573affae2SPierre-Louis Bossart bool "SOF strict ABI checks" 11673affae2SPierre-Louis Bossart help 11773affae2SPierre-Louis Bossart This option enables strict ABI checks for firmware and topology 11873affae2SPierre-Louis Bossart files. 11973affae2SPierre-Louis Bossart When these files are more recent than the kernel, the kernel 12073affae2SPierre-Louis Bossart will handle the functionality it supports and may report errors 12173affae2SPierre-Louis Bossart during topology creation or run-time usage if new functionality 12273affae2SPierre-Louis Bossart is invoked. 12373affae2SPierre-Louis Bossart This option will stop topology creation and firmware load upfront. 12473affae2SPierre-Louis Bossart It is intended for SOF CI/releases and not for users or distros. 125aff581aeSRandy Dunlap Say Y if you want strict ABI checks for an SOF release. 126aff581aeSRandy Dunlap If you are not involved in SOF releases and CI development, 12773affae2SPierre-Louis Bossart select "N". 12873affae2SPierre-Louis Bossart 129*6c393ebbSPeter Ujfalusiconfig SND_SOC_SOF_ALLOW_FALLBACK_TO_NEWER_IPC_VERSION 130*6c393ebbSPeter Ujfalusi bool "SOF allow fallback to newer IPC version" 131*6c393ebbSPeter Ujfalusi help 132*6c393ebbSPeter Ujfalusi This option will allow the kernel to try to 'fallback' to a newer IPC 133*6c393ebbSPeter Ujfalusi version if there are missing firmware files to satisfy the default IPC 134*6c393ebbSPeter Ujfalusi version. 135*6c393ebbSPeter Ujfalusi IPC version fallback to older versions is not affected by this option, 136*6c393ebbSPeter Ujfalusi it is always available. 137*6c393ebbSPeter Ujfalusi Say Y if you are involved in SOF development and need this option. 138*6c393ebbSPeter Ujfalusi If not, select N. 139*6c393ebbSPeter Ujfalusi 1407e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG 1417e978fa3SLiam Girdwood bool "SOF debugging features" 1427e978fa3SLiam Girdwood help 1437e978fa3SLiam Girdwood This option can be used to enable or disable individual SOF firmware 1447e978fa3SLiam Girdwood and driver debugging options. 1457e978fa3SLiam Girdwood Say Y if you are debugging SOF FW or drivers. 1467e978fa3SLiam Girdwood If unsure select "N". 1477e978fa3SLiam Girdwood 1487e978fa3SLiam Girdwoodif SND_SOC_SOF_DEBUG 1497e978fa3SLiam Girdwood 1504bd1adb8SPierre-Louis Bossartconfig SND_SOC_SOF_NOCODEC_DEBUG_SUPPORT 1514bd1adb8SPierre-Louis Bossart bool "SOF nocodec debug mode support" 1524bd1adb8SPierre-Louis Bossart depends on !SND_SOC_SOF_NOCODEC_SUPPORT 1534bd1adb8SPierre-Louis Bossart help 1544bd1adb8SPierre-Louis Bossart This adds support for a dummy/nocodec machine driver fallback 1554bd1adb8SPierre-Louis Bossart option. 1564bd1adb8SPierre-Louis Bossart Unlike the SND_SOC_SOF_NOCODEC_SUPPORT, this option is NOT 1574bd1adb8SPierre-Louis Bossart mutually exclusive at build with the Intel HDAudio support. The 1584bd1adb8SPierre-Louis Bossart selection will be done depending on command line or modprobe.d settings 1594bd1adb8SPierre-Louis Bossart Distributions should not select this option! 1604bd1adb8SPierre-Louis Bossart Say Y if you need this nocodec debug fallback option. 1614bd1adb8SPierre-Louis Bossart If unsure select "N". 1624bd1adb8SPierre-Louis Bossart 1637e978fa3SLiam Girdwoodconfig SND_SOC_SOF_FORCE_NOCODEC_MODE 1647e978fa3SLiam Girdwood bool "SOF force nocodec Mode" 1658d01c3c7SPierre-Louis Bossart depends on SND_SOC_SOF_NOCODEC_SUPPORT 1667e978fa3SLiam Girdwood help 1677e978fa3SLiam Girdwood This forces SOF to use dummy/nocodec as machine driver, even 1687e978fa3SLiam Girdwood though there is a codec detected on the real platform. This is 1697e978fa3SLiam Girdwood typically only enabled for developers for debug purposes, before 1707e978fa3SLiam Girdwood codec/machine driver is ready, or to exclude the impact of those 171aff581aeSRandy Dunlap drivers. 172aff581aeSRandy Dunlap Say Y if you need this force nocodec mode option. 1737e978fa3SLiam Girdwood If unsure select "N". 1747e978fa3SLiam Girdwood 1757e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_XRUN_STOP 1767e978fa3SLiam Girdwood bool "SOF stop on XRUN" 1777e978fa3SLiam Girdwood help 1787e978fa3SLiam Girdwood This option forces PCMs to stop on any XRUN event. This is useful to 179e49037adSColin Ian King preserve any trace data and pipeline status prior to the XRUN. 1807e978fa3SLiam Girdwood Say Y if you are debugging SOF FW pipeline XRUNs. 1817e978fa3SLiam Girdwood If unsure select "N". 1827e978fa3SLiam Girdwood 1837e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_VERBOSE_IPC 1847e978fa3SLiam Girdwood bool "SOF verbose IPC logs" 1857e978fa3SLiam Girdwood help 1867e978fa3SLiam Girdwood This option enables more verbose IPC logs, with command types in 1877e978fa3SLiam Girdwood human-readable form instead of just 32-bit hex dumps. This is useful 1887e978fa3SLiam Girdwood if you are trying to debug IPC with the DSP firmware. 1897e978fa3SLiam Girdwood If unsure select "N". 1907e978fa3SLiam Girdwood 1917e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_FORCE_IPC_POSITION 1927e978fa3SLiam Girdwood bool "SOF force to use IPC for position update on SKL+" 1937e978fa3SLiam Girdwood help 194aff581aeSRandy Dunlap This option forces to handle stream position update IPCs and run PCM 1957e978fa3SLiam Girdwood elapse to inform ALSA about that, on platforms (e.g. Intel SKL+) that 1967e978fa3SLiam Girdwood with other approach (e.g. HDAC DPIB/posbuf) to elapse PCM. 1977e978fa3SLiam Girdwood On platforms (e.g. Intel SKL-) where position update IPC is the only 1987e978fa3SLiam Girdwood one choice, this setting won't impact anything. 199aff581aeSRandy Dunlap If you are trying to debug pointer update with position IPCs or where 2007e978fa3SLiam Girdwood DPIB/posbuf is not ready, select "Y". 2017e978fa3SLiam Girdwood If unsure select "N". 2027e978fa3SLiam Girdwood 2037e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE 2047e978fa3SLiam Girdwood bool "SOF enable debugfs caching" 2057e978fa3SLiam Girdwood help 2067e978fa3SLiam Girdwood This option enables caching of debugfs 2077e978fa3SLiam Girdwood memory -> DSP resource (memory, register, etc) 2087e978fa3SLiam Girdwood before the audio DSP is suspended. This will increase the suspend 2097e978fa3SLiam Girdwood latency and therefore should be used for debug purposes only. 2107e978fa3SLiam Girdwood Say Y if you want to enable caching the memory windows. 2117e978fa3SLiam Girdwood If unsure, select "N". 2127e978fa3SLiam Girdwood 2132ab4c50fSPierre-Louis Bossartconfig SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE 2142ab4c50fSPierre-Louis Bossart bool "SOF enable firmware trace" 2152ab4c50fSPierre-Louis Bossart help 2162ab4c50fSPierre-Louis Bossart The firmware trace can be enabled either at build-time with 2172ab4c50fSPierre-Louis Bossart this option, or dynamically by setting flags in the SOF core 218aff581aeSRandy Dunlap module parameter (similar to dynamic debug). 2192ab4c50fSPierre-Louis Bossart If unsure, select "N". 2202ab4c50fSPierre-Louis Bossart 221091c12e1SRanjani Sridharanconfig SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST 2226e9548cdSRanjani Sridharan tristate "SOF enable IPC flood test" 2233942499fSPeter Ujfalusi depends on SND_SOC_SOF 2246e9548cdSRanjani Sridharan select SND_SOC_SOF_CLIENT 225091c12e1SRanjani Sridharan help 2266e9548cdSRanjani Sridharan This option enables a separate client device for IPC flood test 2276e9548cdSRanjani Sridharan which can be used to flood the DSP with test IPCs and gather stats 2286e9548cdSRanjani Sridharan about response times. 229091c12e1SRanjani Sridharan Say Y if you want to enable IPC flood test. 230091c12e1SRanjani Sridharan If unsure, select "N". 231091c12e1SRanjani Sridharan 2326e9548cdSRanjani Sridharanconfig SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM 2336e9548cdSRanjani Sridharan int "Number of IPC flood test clients" 2346e9548cdSRanjani Sridharan range 1 32 2356e9548cdSRanjani Sridharan default 2 2366e9548cdSRanjani Sridharan depends on SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST 2376e9548cdSRanjani Sridharan help 2386e9548cdSRanjani Sridharan Select the number of IPC flood test clients to be created. 2396e9548cdSRanjani Sridharan 2402f0b1b01SPeter Ujfalusiconfig SND_SOC_SOF_DEBUG_IPC_MSG_INJECTOR 241cac0b088SPeter Ujfalusi tristate "SOF enable IPC message injector" 2422cf520ffSPeter Ujfalusi depends on SND_SOC_SOF 243cac0b088SPeter Ujfalusi select SND_SOC_SOF_CLIENT 2442f0b1b01SPeter Ujfalusi help 2452f0b1b01SPeter Ujfalusi This option enables the IPC message injector which can be used to send 2462f0b1b01SPeter Ujfalusi crafted IPC messages to the DSP to test its robustness. 2472f0b1b01SPeter Ujfalusi Say Y if you want to enable the IPC message injector. 2482f0b1b01SPeter Ujfalusi If unsure, select "N". 2492f0b1b01SPeter Ujfalusi 25070dad53dSCurtis Malaineyconfig SND_SOC_SOF_DEBUG_IPC_KERNEL_INJECTOR 25170dad53dSCurtis Malainey tristate "SOF enable IPC kernel injector" 25270dad53dSCurtis Malainey depends on SND_SOC_SOF 25370dad53dSCurtis Malainey select SND_SOC_SOF_CLIENT 25470dad53dSCurtis Malainey help 25570dad53dSCurtis Malainey This option enables the IPC kernel injector which can be used to send 25670dad53dSCurtis Malainey crafted IPC messages to the kernel to test its robustness against 25770dad53dSCurtis Malainey DSP messages. 25870dad53dSCurtis Malainey Say Y if you want to enable the IPC kernel injector. 25970dad53dSCurtis Malainey If unsure, select "N". 26070dad53dSCurtis Malainey 2619a06508bSLiam Girdwoodconfig SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT 2629a06508bSLiam Girdwood bool "SOF retain DSP context on any FW exceptions" 2639a06508bSLiam Girdwood help 2649a06508bSLiam Girdwood This option keeps the DSP in D0 state so that firmware debug 2659a06508bSLiam Girdwood information can be retained and dumped to userspace. 2669a06508bSLiam Girdwood Say Y if you want to retain DSP context for FW exceptions. 2679a06508bSLiam Girdwood If unsure, select "N". 2689a06508bSLiam Girdwood 2697e978fa3SLiam Girdwoodendif ## SND_SOC_SOF_DEBUG 2707e978fa3SLiam Girdwood 27170ae4eb5SPierre-Louis Bossartendif ## SND_SOC_SOF_DEVELOPER_SUPPORT 2727e978fa3SLiam Girdwood 2737e978fa3SLiam Girdwoodconfig SND_SOC_SOF 2747e978fa3SLiam Girdwood tristate 2757e978fa3SLiam Girdwood select SND_SOC_TOPOLOGY 2768d01c3c7SPierre-Louis Bossart select SND_SOC_SOF_NOCODEC if SND_SOC_SOF_NOCODEC_SUPPORT 2774bd1adb8SPierre-Louis Bossart select SND_SOC_SOF_NOCODEC if SND_SOC_SOF_NOCODEC_DEBUG_SUPPORT 2787e978fa3SLiam Girdwood help 2797e978fa3SLiam Girdwood This option is not user-selectable but automagically handled by 280aff581aeSRandy Dunlap 'select' statements at a higher level. 2817e978fa3SLiam Girdwood The selection is made at the top level and does not exactly follow 2827e978fa3SLiam Girdwood module dependencies but since the module or built-in type is decided 2837e978fa3SLiam Girdwood at the top level it doesn't matter. 2847e978fa3SLiam Girdwood 2857e978fa3SLiam Girdwoodconfig SND_SOC_SOF_PROBE_WORK_QUEUE 2867e978fa3SLiam Girdwood bool 2877e978fa3SLiam Girdwood help 2887e978fa3SLiam Girdwood This option is not user-selectable but automagically handled by 289aff581aeSRandy Dunlap 'select' statements at a higher level. 2907e978fa3SLiam Girdwood When selected, the probe is handled in two steps, for example to 2917e978fa3SLiam Girdwood avoid lockdeps if request_module is used in the probe. 2927e978fa3SLiam Girdwood 2937ed1f83bSPeter Ujfalusi# Supported IPC versions 2947ed1f83bSPeter Ujfalusiconfig SND_SOC_SOF_IPC3 2957ed1f83bSPeter Ujfalusi bool 2967ed1f83bSPeter Ujfalusi 29782f4b383SPeter Ujfalusiconfig SND_SOC_SOF_IPC4 2987ed1f83bSPeter Ujfalusi bool 2997ed1f83bSPeter Ujfalusi 300846aef1dSAjit Kumar Pandeysource "sound/soc/sof/amd/Kconfig" 301202acc56SDaniel Balutasource "sound/soc/sof/imx/Kconfig" 3027e978fa3SLiam Girdwoodsource "sound/soc/sof/intel/Kconfig" 30332d7e03dSYC Hungsource "sound/soc/sof/mediatek/Kconfig" 3047e978fa3SLiam Girdwoodsource "sound/soc/sof/xtensa/Kconfig" 3057e978fa3SLiam Girdwood 3067e978fa3SLiam Girdwoodendif 307