xref: /linux/sound/soc/sof/Kconfig (revision 06d07429858317ded2db7986113a9e0129cd599b)
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