xref: /linux/sound/soc/sof/Kconfig (revision ec8f24b7faaf3d4799a7c3f4c1b87f6b02778ad1)
1*ec8f24b7SThomas 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"
147e978fa3SLiam Girdwood	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
397e978fa3SLiam Girdwoodconfig SND_SOC_SOF_OPTIONS
407e978fa3SLiam Girdwood	tristate
417e978fa3SLiam Girdwood	help
427e978fa3SLiam Girdwood	  This option is not user-selectable but automagically handled by
437e978fa3SLiam Girdwood	  'select' statements at a higher level
447e978fa3SLiam Girdwood
457e978fa3SLiam Girdwoodif SND_SOC_SOF_OPTIONS
467e978fa3SLiam Girdwood
477e978fa3SLiam Girdwoodconfig SND_SOC_SOF_NOCODEC
487e978fa3SLiam Girdwood	tristate "SOF nocodec mode Support"
497e978fa3SLiam Girdwood	help
507e978fa3SLiam Girdwood	  This adds support for a dummy/nocodec machine driver fallback
517e978fa3SLiam Girdwood	  option if no known codec is detected. This is typically only
527e978fa3SLiam Girdwood	  enabled for developers or devices where the sound card is
537e978fa3SLiam Girdwood	  controlled externally
547e978fa3SLiam Girdwood	  Say Y if you need this nocodec fallback option
557e978fa3SLiam Girdwood	  If unsure select "N".
567e978fa3SLiam Girdwood
5773affae2SPierre-Louis Bossartconfig SND_SOC_SOF_STRICT_ABI_CHECKS
5873affae2SPierre-Louis Bossart	bool "SOF strict ABI checks"
5973affae2SPierre-Louis Bossart	help
6073affae2SPierre-Louis Bossart	  This option enables strict ABI checks for firmware and topology
6173affae2SPierre-Louis Bossart	  files.
6273affae2SPierre-Louis Bossart	  When these files are more recent than the kernel, the kernel
6373affae2SPierre-Louis Bossart	  will handle the functionality it supports and may report errors
6473affae2SPierre-Louis Bossart	  during topology creation or run-time usage if new functionality
6573affae2SPierre-Louis Bossart	  is invoked.
6673affae2SPierre-Louis Bossart	  This option will stop topology creation and firmware load upfront.
6773affae2SPierre-Louis Bossart	  It is intended for SOF CI/releases and not for users or distros.
6873affae2SPierre-Louis Bossart	  Say Y if you want strict ABI checks for an SOF release
6973affae2SPierre-Louis Bossart	  If you are not involved in SOF releases and CI development
7073affae2SPierre-Louis Bossart	  select "N".
7173affae2SPierre-Louis Bossart
727e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG
737e978fa3SLiam Girdwood	bool "SOF debugging features"
747e978fa3SLiam Girdwood	help
757e978fa3SLiam Girdwood	  This option can be used to enable or disable individual SOF firmware
767e978fa3SLiam Girdwood	  and driver debugging options.
777e978fa3SLiam Girdwood	  Say Y if you are debugging SOF FW or drivers.
787e978fa3SLiam Girdwood	  If unsure select "N".
797e978fa3SLiam Girdwood
807e978fa3SLiam Girdwoodif SND_SOC_SOF_DEBUG
817e978fa3SLiam Girdwood
827e978fa3SLiam Girdwoodconfig SND_SOC_SOF_FORCE_NOCODEC_MODE
837e978fa3SLiam Girdwood	bool "SOF force nocodec Mode"
847e978fa3SLiam Girdwood	depends on SND_SOC_SOF_NOCODEC
857e978fa3SLiam Girdwood	help
867e978fa3SLiam Girdwood	  This forces SOF to use dummy/nocodec as machine driver, even
877e978fa3SLiam Girdwood	  though there is a codec detected on the real platform. This is
887e978fa3SLiam Girdwood	  typically only enabled for developers for debug purposes, before
897e978fa3SLiam Girdwood	  codec/machine driver is ready, or to exclude the impact of those
907e978fa3SLiam Girdwood	  drivers
917e978fa3SLiam Girdwood	  Say Y if you need this force nocodec mode option
927e978fa3SLiam Girdwood	  If unsure select "N".
937e978fa3SLiam Girdwood
947e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_XRUN_STOP
957e978fa3SLiam Girdwood	bool "SOF stop on XRUN"
967e978fa3SLiam Girdwood	help
977e978fa3SLiam Girdwood	  This option forces PCMs to stop on any XRUN event. This is useful to
987e978fa3SLiam Girdwood	  preserve any trace data ond pipeline status prior to the XRUN.
997e978fa3SLiam Girdwood	  Say Y if you are debugging SOF FW pipeline XRUNs.
1007e978fa3SLiam Girdwood	  If unsure select "N".
1017e978fa3SLiam Girdwood
1027e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_VERBOSE_IPC
1037e978fa3SLiam Girdwood	bool "SOF verbose IPC logs"
1047e978fa3SLiam Girdwood	help
1057e978fa3SLiam Girdwood	  This option enables more verbose IPC logs, with command types in
1067e978fa3SLiam Girdwood	  human-readable form instead of just 32-bit hex dumps. This is useful
1077e978fa3SLiam Girdwood	  if you are trying to debug IPC with the DSP firmware.
1087e978fa3SLiam Girdwood	  If unsure select "N".
1097e978fa3SLiam Girdwood
1107e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_FORCE_IPC_POSITION
1117e978fa3SLiam Girdwood	bool "SOF force to use IPC for position update on SKL+"
1127e978fa3SLiam Girdwood	help
1137e978fa3SLiam Girdwood	  This option force to handle stream position update IPCs and run pcm
1147e978fa3SLiam Girdwood	  elapse to inform ALSA about that, on platforms (e.g. Intel SKL+) that
1157e978fa3SLiam Girdwood	  with other approach (e.g. HDAC DPIB/posbuf) to elapse PCM.
1167e978fa3SLiam Girdwood	  On platforms (e.g. Intel SKL-) where position update IPC is the only
1177e978fa3SLiam Girdwood	  one choice, this setting won't impact anything.
1187e978fa3SLiam Girdwood	  if you are trying to debug pointer update with position IPCs or where
1197e978fa3SLiam Girdwood	  DPIB/posbuf is not ready, select "Y".
1207e978fa3SLiam Girdwood	  If unsure select "N".
1217e978fa3SLiam Girdwood
1227e978fa3SLiam Girdwoodconfig SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE
1237e978fa3SLiam Girdwood	bool "SOF enable debugfs caching"
1247e978fa3SLiam Girdwood	help
1257e978fa3SLiam Girdwood	  This option enables caching of debugfs
1267e978fa3SLiam Girdwood	  memory -> DSP resource (memory, register, etc)
1277e978fa3SLiam Girdwood	  before the audio DSP is suspended. This will increase the suspend
1287e978fa3SLiam Girdwood	  latency and therefore should be used for debug purposes only.
1297e978fa3SLiam Girdwood	  Say Y if you want to enable caching the memory windows.
1307e978fa3SLiam Girdwood	  If unsure, select "N".
1317e978fa3SLiam Girdwood
1327e978fa3SLiam Girdwoodendif ## SND_SOC_SOF_DEBUG
1337e978fa3SLiam Girdwood
1347e978fa3SLiam Girdwoodendif ## SND_SOC_SOF_OPTIONS
1357e978fa3SLiam Girdwood
1367e978fa3SLiam Girdwoodconfig SND_SOC_SOF
1377e978fa3SLiam Girdwood	tristate
1387e978fa3SLiam Girdwood	select SND_SOC_TOPOLOGY
1397e978fa3SLiam Girdwood	help
1407e978fa3SLiam Girdwood	  This option is not user-selectable but automagically handled by
1417e978fa3SLiam Girdwood	  'select' statements at a higher level
1427e978fa3SLiam Girdwood	  The selection is made at the top level and does not exactly follow
1437e978fa3SLiam Girdwood	  module dependencies but since the module or built-in type is decided
1447e978fa3SLiam Girdwood	  at the top level it doesn't matter.
1457e978fa3SLiam Girdwood
1467e978fa3SLiam Girdwoodconfig SND_SOC_SOF_PROBE_WORK_QUEUE
1477e978fa3SLiam Girdwood	bool
1487e978fa3SLiam Girdwood	help
1497e978fa3SLiam Girdwood	  This option is not user-selectable but automagically handled by
1507e978fa3SLiam Girdwood	  'select' statements at a higher level
1517e978fa3SLiam Girdwood	  When selected, the probe is handled in two steps, for example to
1527e978fa3SLiam Girdwood	  avoid lockdeps if request_module is used in the probe.
1537e978fa3SLiam Girdwood
1547e978fa3SLiam Girdwoodsource "sound/soc/sof/intel/Kconfig"
1557e978fa3SLiam Girdwoodsource "sound/soc/sof/xtensa/Kconfig"
1567e978fa3SLiam Girdwood
1577e978fa3SLiam Girdwoodendif
158