xref: /linux/sound/soc/sof/Kconfig (revision 9a06508bf7824ba34f2e1e9e08df505ac14a44c2)
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	select SND_SOC_SOF_OPTIONS
187e978fa3SLiam Girdwood	select SND_SOC_SOF_INTEL_PCI if SND_SOC_SOF_INTEL_TOPLEVEL
197e978fa3SLiam Girdwood	help
207e978fa3SLiam Girdwood	  This adds support for PCI enumeration. This option is
217e978fa3SLiam Girdwood	  required to enable Intel Skylake+ devices
227e978fa3SLiam Girdwood	  Say Y if you need this option
237e978fa3SLiam Girdwood	  If unsure select "N".
247e978fa3SLiam Girdwood
257e978fa3SLiam Girdwoodconfig SND_SOC_SOF_ACPI
267e978fa3SLiam Girdwood	tristate "SOF ACPI enumeration support"
277e978fa3SLiam Girdwood	depends on ACPI || COMPILE_TEST
287e978fa3SLiam Girdwood	select SND_SOC_SOF
297e978fa3SLiam Girdwood	select SND_SOC_ACPI if ACPI
307e978fa3SLiam Girdwood	select SND_SOC_SOF_OPTIONS
317e978fa3SLiam Girdwood	select SND_SOC_SOF_INTEL_ACPI if SND_SOC_SOF_INTEL_TOPLEVEL
324c885191SRandy Dunlap	select IOSF_MBI if X86 && PCI
337e978fa3SLiam Girdwood	help
347e978fa3SLiam Girdwood	  This adds support for ACPI enumeration. This option is required
357e978fa3SLiam Girdwood	  to enable Intel Haswell/Broadwell/Baytrail/Cherrytrail devices
367e978fa3SLiam Girdwood	  Say Y if you need this option
377e978fa3SLiam Girdwood	  If unsure select "N".
387e978fa3SLiam Girdwood
39b9132b89SDaniel Balutaconfig SND_SOC_SOF_OF
40b9132b89SDaniel Baluta	tristate "SOF OF enumeration support"
41b9132b89SDaniel Baluta	depends on OF || COMPILE_TEST
42b9132b89SDaniel Baluta	select SND_SOC_SOF
43b9132b89SDaniel Baluta	select SND_SOC_SOF_OPTIONS
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
497e978fa3SLiam Girdwoodconfig SND_SOC_SOF_OPTIONS
507e978fa3SLiam Girdwood	tristate
517e978fa3SLiam Girdwood	help
527e978fa3SLiam Girdwood	  This option is not user-selectable but automagically handled by
537e978fa3SLiam Girdwood	  'select' statements at a higher level
547e978fa3SLiam Girdwood
557e978fa3SLiam Girdwoodif SND_SOC_SOF_OPTIONS
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
677e978fa3SLiam Girdwood	  Say Y if you need this nocodec fallback option
687e978fa3SLiam Girdwood	  If unsure select "N".
697e978fa3SLiam Girdwood
7073affae2SPierre-Louis Bossartconfig SND_SOC_SOF_STRICT_ABI_CHECKS
7173affae2SPierre-Louis Bossart	bool "SOF strict ABI checks"
7273affae2SPierre-Louis Bossart	help
7373affae2SPierre-Louis Bossart	  This option enables strict ABI checks for firmware and topology
7473affae2SPierre-Louis Bossart	  files.
7573affae2SPierre-Louis Bossart	  When these files are more recent than the kernel, the kernel
7673affae2SPierre-Louis Bossart	  will handle the functionality it supports and may report errors
7773affae2SPierre-Louis Bossart	  during topology creation or run-time usage if new functionality
7873affae2SPierre-Louis Bossart	  is invoked.
7973affae2SPierre-Louis Bossart	  This option will stop topology creation and firmware load upfront.
8073affae2SPierre-Louis Bossart	  It is intended for SOF CI/releases and not for users or distros.
8173affae2SPierre-Louis Bossart	  Say Y if you want strict ABI checks for an SOF release
8273affae2SPierre-Louis Bossart	  If you are not involved in SOF releases and CI development
8373affae2SPierre-Louis Bossart	  select "N".
8473affae2SPierre-Louis Bossart
857e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG
867e978fa3SLiam Girdwood	bool "SOF debugging features"
877e978fa3SLiam Girdwood	help
887e978fa3SLiam Girdwood	  This option can be used to enable or disable individual SOF firmware
897e978fa3SLiam Girdwood	  and driver debugging options.
907e978fa3SLiam Girdwood	  Say Y if you are debugging SOF FW or drivers.
917e978fa3SLiam Girdwood	  If unsure select "N".
927e978fa3SLiam Girdwood
937e978fa3SLiam Girdwoodif SND_SOC_SOF_DEBUG
947e978fa3SLiam Girdwood
957e978fa3SLiam Girdwoodconfig SND_SOC_SOF_FORCE_NOCODEC_MODE
967e978fa3SLiam Girdwood	bool "SOF force nocodec Mode"
978d01c3c7SPierre-Louis Bossart	depends on SND_SOC_SOF_NOCODEC_SUPPORT
987e978fa3SLiam Girdwood	help
997e978fa3SLiam Girdwood	  This forces SOF to use dummy/nocodec as machine driver, even
1007e978fa3SLiam Girdwood	  though there is a codec detected on the real platform. This is
1017e978fa3SLiam Girdwood	  typically only enabled for developers for debug purposes, before
1027e978fa3SLiam Girdwood	  codec/machine driver is ready, or to exclude the impact of those
1037e978fa3SLiam Girdwood	  drivers
1047e978fa3SLiam Girdwood	  Say Y if you need this force nocodec mode option
1057e978fa3SLiam Girdwood	  If unsure select "N".
1067e978fa3SLiam Girdwood
1077e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_XRUN_STOP
1087e978fa3SLiam Girdwood	bool "SOF stop on XRUN"
1097e978fa3SLiam Girdwood	help
1107e978fa3SLiam Girdwood	  This option forces PCMs to stop on any XRUN event. This is useful to
1117e978fa3SLiam Girdwood	  preserve any trace data ond pipeline status prior to the XRUN.
1127e978fa3SLiam Girdwood	  Say Y if you are debugging SOF FW pipeline XRUNs.
1137e978fa3SLiam Girdwood	  If unsure select "N".
1147e978fa3SLiam Girdwood
1157e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_VERBOSE_IPC
1167e978fa3SLiam Girdwood	bool "SOF verbose IPC logs"
1177e978fa3SLiam Girdwood	help
1187e978fa3SLiam Girdwood	  This option enables more verbose IPC logs, with command types in
1197e978fa3SLiam Girdwood	  human-readable form instead of just 32-bit hex dumps. This is useful
1207e978fa3SLiam Girdwood	  if you are trying to debug IPC with the DSP firmware.
1217e978fa3SLiam Girdwood	  If unsure select "N".
1227e978fa3SLiam Girdwood
1237e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_FORCE_IPC_POSITION
1247e978fa3SLiam Girdwood	bool "SOF force to use IPC for position update on SKL+"
1257e978fa3SLiam Girdwood	help
1267e978fa3SLiam Girdwood	  This option force to handle stream position update IPCs and run pcm
1277e978fa3SLiam Girdwood	  elapse to inform ALSA about that, on platforms (e.g. Intel SKL+) that
1287e978fa3SLiam Girdwood	  with other approach (e.g. HDAC DPIB/posbuf) to elapse PCM.
1297e978fa3SLiam Girdwood	  On platforms (e.g. Intel SKL-) where position update IPC is the only
1307e978fa3SLiam Girdwood	  one choice, this setting won't impact anything.
1317e978fa3SLiam Girdwood	  if you are trying to debug pointer update with position IPCs or where
1327e978fa3SLiam Girdwood	  DPIB/posbuf is not ready, select "Y".
1337e978fa3SLiam Girdwood	  If unsure select "N".
1347e978fa3SLiam Girdwood
1357e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE
1367e978fa3SLiam Girdwood	bool "SOF enable debugfs caching"
1377e978fa3SLiam Girdwood	help
1387e978fa3SLiam Girdwood	  This option enables caching of debugfs
1397e978fa3SLiam Girdwood	  memory -> DSP resource (memory, register, etc)
1407e978fa3SLiam Girdwood	  before the audio DSP is suspended. This will increase the suspend
1417e978fa3SLiam Girdwood	  latency and therefore should be used for debug purposes only.
1427e978fa3SLiam Girdwood	  Say Y if you want to enable caching the memory windows.
1437e978fa3SLiam Girdwood	  If unsure, select "N".
1447e978fa3SLiam Girdwood
1452ab4c50fSPierre-Louis Bossartconfig SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE
1462ab4c50fSPierre-Louis Bossart	bool "SOF enable firmware trace"
1472ab4c50fSPierre-Louis Bossart	help
1482ab4c50fSPierre-Louis Bossart	  The firmware trace can be enabled either at build-time with
1492ab4c50fSPierre-Louis Bossart	  this option, or dynamically by setting flags in the SOF core
1502ab4c50fSPierre-Louis Bossart	  module parameter (similar to dynamic debug)
1512ab4c50fSPierre-Louis Bossart	  If unsure, select "N".
1522ab4c50fSPierre-Louis Bossart
153091c12e1SRanjani Sridharanconfig SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST
154091c12e1SRanjani Sridharan	bool "SOF enable IPC flood test"
155091c12e1SRanjani Sridharan	help
156091c12e1SRanjani Sridharan	  This option enables the IPC flood test which can be used to flood
157091c12e1SRanjani Sridharan	  the DSP with test IPCs and gather stats about response times.
158091c12e1SRanjani Sridharan	  Say Y if you want to enable IPC flood test.
159091c12e1SRanjani Sridharan	  If unsure, select "N".
160091c12e1SRanjani Sridharan
161*9a06508bSLiam Girdwoodconfig SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT
162*9a06508bSLiam Girdwood	bool "SOF retain DSP context on any FW exceptions"
163*9a06508bSLiam Girdwood	help
164*9a06508bSLiam Girdwood	  This option keeps the DSP in D0 state so that firmware debug
165*9a06508bSLiam Girdwood	  information can be retained and dumped to userspace.
166*9a06508bSLiam Girdwood	  Say Y if you want to retain DSP context for FW exceptions.
167*9a06508bSLiam Girdwood	  If unsure, select "N".
168*9a06508bSLiam Girdwood
1697e978fa3SLiam Girdwoodendif ## SND_SOC_SOF_DEBUG
1707e978fa3SLiam Girdwood
1717e978fa3SLiam Girdwoodendif ## SND_SOC_SOF_OPTIONS
1727e978fa3SLiam Girdwood
1737e978fa3SLiam Girdwoodconfig SND_SOC_SOF
1747e978fa3SLiam Girdwood	tristate
1757e978fa3SLiam Girdwood	select SND_SOC_TOPOLOGY
1768d01c3c7SPierre-Louis Bossart	select SND_SOC_SOF_NOCODEC if SND_SOC_SOF_NOCODEC_SUPPORT
1777e978fa3SLiam Girdwood	help
1787e978fa3SLiam Girdwood	  This option is not user-selectable but automagically handled by
1797e978fa3SLiam Girdwood	  'select' statements at a higher level
1807e978fa3SLiam Girdwood	  The selection is made at the top level and does not exactly follow
1817e978fa3SLiam Girdwood	  module dependencies but since the module or built-in type is decided
1827e978fa3SLiam Girdwood	  at the top level it doesn't matter.
1837e978fa3SLiam Girdwood
1847e978fa3SLiam Girdwoodconfig SND_SOC_SOF_PROBE_WORK_QUEUE
1857e978fa3SLiam Girdwood	bool
1867e978fa3SLiam Girdwood	help
1877e978fa3SLiam Girdwood	  This option is not user-selectable but automagically handled by
1887e978fa3SLiam Girdwood	  'select' statements at a higher level
1897e978fa3SLiam Girdwood	  When selected, the probe is handled in two steps, for example to
1907e978fa3SLiam Girdwood	  avoid lockdeps if request_module is used in the probe.
1917e978fa3SLiam Girdwood
192202acc56SDaniel Balutasource "sound/soc/sof/imx/Kconfig"
1937e978fa3SLiam Girdwoodsource "sound/soc/sof/intel/Kconfig"
1947e978fa3SLiam Girdwoodsource "sound/soc/sof/xtensa/Kconfig"
1957e978fa3SLiam Girdwood
1967e978fa3SLiam Girdwoodendif
197