123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- # SPDX-License-Identifier: GPL-2.0-only
- config SND_SOC_SOF_TOPLEVEL
- bool "Sound Open Firmware Support"
- help
- This adds support for Sound Open Firmware (SOF). SOF is a free and
- generic open source audio DSP firmware for multiple devices.
- Say Y if you have such a device that is supported by SOF.
- If unsure select "N".
- if SND_SOC_SOF_TOPLEVEL
- config SND_SOC_SOF_PCI
- tristate "SOF PCI enumeration support"
- depends on PCI
- select SND_SOC_SOF
- select SND_SOC_ACPI if ACPI
- help
- This adds support for PCI enumeration. This option is
- required to enable Intel Skylake+ devices
- Say Y if you need this option
- If unsure select "N".
- config SND_SOC_SOF_ACPI
- tristate "SOF ACPI enumeration support"
- depends on ACPI || COMPILE_TEST
- select SND_SOC_SOF
- select SND_SOC_ACPI if ACPI
- select IOSF_MBI if X86 && PCI
- help
- This adds support for ACPI enumeration. This option is required
- to enable Intel Broadwell/Baytrail/Cherrytrail devices
- Say Y if you need this option
- If unsure select "N".
- config SND_SOC_SOF_OF
- tristate "SOF OF enumeration support"
- depends on OF || COMPILE_TEST
- select SND_SOC_SOF
- help
- This adds support for Device Tree enumeration. This option is
- required to enable i.MX8 devices.
- Say Y if you need this option. If unsure select "N".
- config SND_SOC_SOF_DEBUG_PROBES
- bool "SOF enable data probing"
- select SND_SOC_COMPRESS
- help
- This option enables the data probing feature that can be used to
- gather data directly from specific points of the audio pipeline.
- Say Y if you want to enable probes.
- If unsure, select "N".
- config SND_SOC_SOF_DEVELOPER_SUPPORT
- bool "SOF developer options support"
- depends on EXPERT
- help
- This option unlock SOF developer options for debug/performance/
- code hardening.
- Distributions should not select this option, only SOF development
- teams should select it.
- Say Y if you are involved in SOF development and need this option
- If not, select N
- if SND_SOC_SOF_DEVELOPER_SUPPORT
- config SND_SOC_SOF_NOCODEC
- tristate
- config SND_SOC_SOF_NOCODEC_SUPPORT
- bool "SOF nocodec mode support"
- help
- This adds support for a dummy/nocodec machine driver fallback
- option if no known codec is detected. This is typically only
- enabled for developers or devices where the sound card is
- controlled externally
- This option is mutually exclusive with the Intel HDAudio support,
- selecting it may have negative impacts and prevent e.g. microphone
- functionality from being enabled on Intel CoffeeLake and later
- platforms.
- Distributions should not select this option!
- Say Y if you need this nocodec fallback option
- If unsure select "N".
- config SND_SOC_SOF_STRICT_ABI_CHECKS
- bool "SOF strict ABI checks"
- help
- This option enables strict ABI checks for firmware and topology
- files.
- When these files are more recent than the kernel, the kernel
- will handle the functionality it supports and may report errors
- during topology creation or run-time usage if new functionality
- is invoked.
- This option will stop topology creation and firmware load upfront.
- It is intended for SOF CI/releases and not for users or distros.
- Say Y if you want strict ABI checks for an SOF release
- If you are not involved in SOF releases and CI development
- select "N".
- config SND_SOC_SOF_DEBUG
- bool "SOF debugging features"
- help
- This option can be used to enable or disable individual SOF firmware
- and driver debugging options.
- Say Y if you are debugging SOF FW or drivers.
- If unsure select "N".
- if SND_SOC_SOF_DEBUG
- config SND_SOC_SOF_FORCE_NOCODEC_MODE
- bool "SOF force nocodec Mode"
- depends on SND_SOC_SOF_NOCODEC_SUPPORT
- help
- This forces SOF to use dummy/nocodec as machine driver, even
- though there is a codec detected on the real platform. This is
- typically only enabled for developers for debug purposes, before
- codec/machine driver is ready, or to exclude the impact of those
- drivers
- Say Y if you need this force nocodec mode option
- If unsure select "N".
- config SND_SOC_SOF_DEBUG_XRUN_STOP
- bool "SOF stop on XRUN"
- help
- This option forces PCMs to stop on any XRUN event. This is useful to
- preserve any trace data ond pipeline status prior to the XRUN.
- Say Y if you are debugging SOF FW pipeline XRUNs.
- If unsure select "N".
- config SND_SOC_SOF_DEBUG_VERBOSE_IPC
- bool "SOF verbose IPC logs"
- help
- This option enables more verbose IPC logs, with command types in
- human-readable form instead of just 32-bit hex dumps. This is useful
- if you are trying to debug IPC with the DSP firmware.
- If unsure select "N".
- config SND_SOC_SOF_DEBUG_FORCE_IPC_POSITION
- bool "SOF force to use IPC for position update on SKL+"
- help
- This option force to handle stream position update IPCs and run pcm
- elapse to inform ALSA about that, on platforms (e.g. Intel SKL+) that
- with other approach (e.g. HDAC DPIB/posbuf) to elapse PCM.
- On platforms (e.g. Intel SKL-) where position update IPC is the only
- one choice, this setting won't impact anything.
- if you are trying to debug pointer update with position IPCs or where
- DPIB/posbuf is not ready, select "Y".
- If unsure select "N".
- config SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE
- bool "SOF enable debugfs caching"
- help
- This option enables caching of debugfs
- memory -> DSP resource (memory, register, etc)
- before the audio DSP is suspended. This will increase the suspend
- latency and therefore should be used for debug purposes only.
- Say Y if you want to enable caching the memory windows.
- If unsure, select "N".
- config SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE
- bool "SOF enable firmware trace"
- help
- The firmware trace can be enabled either at build-time with
- this option, or dynamically by setting flags in the SOF core
- module parameter (similar to dynamic debug)
- If unsure, select "N".
- config SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST
- bool "SOF enable IPC flood test"
- help
- This option enables the IPC flood test which can be used to flood
- the DSP with test IPCs and gather stats about response times.
- Say Y if you want to enable IPC flood test.
- If unsure, select "N".
- config SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT
- bool "SOF retain DSP context on any FW exceptions"
- help
- This option keeps the DSP in D0 state so that firmware debug
- information can be retained and dumped to userspace.
- Say Y if you want to retain DSP context for FW exceptions.
- If unsure, select "N".
- endif ## SND_SOC_SOF_DEBUG
- endif ## SND_SOC_SOF_DEVELOPER_SUPPORT
- config SND_SOC_SOF
- tristate
- select SND_SOC_TOPOLOGY
- select SND_SOC_SOF_NOCODEC if SND_SOC_SOF_NOCODEC_SUPPORT
- help
- This option is not user-selectable but automagically handled by
- 'select' statements at a higher level
- The selection is made at the top level and does not exactly follow
- module dependencies but since the module or built-in type is decided
- at the top level it doesn't matter.
- config SND_SOC_SOF_PROBE_WORK_QUEUE
- bool
- help
- This option is not user-selectable but automagically handled by
- 'select' statements at a higher level
- When selected, the probe is handled in two steps, for example to
- avoid lockdeps if request_module is used in the probe.
- source "sound/soc/sof/imx/Kconfig"
- source "sound/soc/sof/intel/Kconfig"
- source "sound/soc/sof/xtensa/Kconfig"
- endif
|