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