1 config SND_SOC_SOF_TOPLEVEL
2 bool "Sound Open Firmware Support"
4 This adds support for Sound Open Firmware (SOF). SOF is a free and
5 generic open source audio DSP firmware for multiple devices.
6 Say Y if you have such a device that is supported by SOF.
9 if SND_SOC_SOF_TOPLEVEL
11 config SND_SOC_SOF_PCI
12 tristate "SOF PCI enumeration support"
15 select SND_SOC_ACPI if ACPI
16 select SND_SOC_SOF_OPTIONS
17 select SND_SOC_SOF_INTEL_PCI if SND_SOC_SOF_INTEL_TOPLEVEL
19 This adds support for PCI enumeration. This option is
20 required to enable Intel Skylake+ devices
21 Say Y if you need this option
24 config SND_SOC_SOF_ACPI
25 tristate "SOF ACPI enumeration support"
26 depends on ACPI || COMPILE_TEST
28 select SND_SOC_ACPI if ACPI
29 select SND_SOC_SOF_OPTIONS
30 select SND_SOC_SOF_INTEL_ACPI if SND_SOC_SOF_INTEL_TOPLEVEL
31 select IOSF_MBI if X86 && PCI
33 This adds support for ACPI enumeration. This option is required
34 to enable Intel Haswell/Broadwell/Baytrail/Cherrytrail devices
35 Say Y if you need this option
38 config SND_SOC_SOF_OPTIONS
41 This option is not user-selectable but automagically handled by
42 'select' statements at a higher level
44 if SND_SOC_SOF_OPTIONS
46 config SND_SOC_SOF_NOCODEC
47 tristate "SOF nocodec mode Support"
49 This adds support for a dummy/nocodec machine driver fallback
50 option if no known codec is detected. This is typically only
51 enabled for developers or devices where the sound card is
53 Say Y if you need this nocodec fallback option
56 config SND_SOC_SOF_STRICT_ABI_CHECKS
57 bool "SOF strict ABI checks"
59 This option enables strict ABI checks for firmware and topology
61 When these files are more recent than the kernel, the kernel
62 will handle the functionality it supports and may report errors
63 during topology creation or run-time usage if new functionality
65 This option will stop topology creation and firmware load upfront.
66 It is intended for SOF CI/releases and not for users or distros.
67 Say Y if you want strict ABI checks for an SOF release
68 If you are not involved in SOF releases and CI development
71 config SND_SOC_SOF_DEBUG
72 bool "SOF debugging features"
74 This option can be used to enable or disable individual SOF firmware
75 and driver debugging options.
76 Say Y if you are debugging SOF FW or drivers.
81 config SND_SOC_SOF_FORCE_NOCODEC_MODE
82 bool "SOF force nocodec Mode"
83 depends on SND_SOC_SOF_NOCODEC
85 This forces SOF to use dummy/nocodec as machine driver, even
86 though there is a codec detected on the real platform. This is
87 typically only enabled for developers for debug purposes, before
88 codec/machine driver is ready, or to exclude the impact of those
90 Say Y if you need this force nocodec mode option
93 config SND_SOC_SOF_DEBUG_XRUN_STOP
94 bool "SOF stop on XRUN"
96 This option forces PCMs to stop on any XRUN event. This is useful to
97 preserve any trace data ond pipeline status prior to the XRUN.
98 Say Y if you are debugging SOF FW pipeline XRUNs.
101 config SND_SOC_SOF_DEBUG_VERBOSE_IPC
102 bool "SOF verbose IPC logs"
104 This option enables more verbose IPC logs, with command types in
105 human-readable form instead of just 32-bit hex dumps. This is useful
106 if you are trying to debug IPC with the DSP firmware.
107 If unsure select "N".
109 config SND_SOC_SOF_DEBUG_FORCE_IPC_POSITION
110 bool "SOF force to use IPC for position update on SKL+"
112 This option force to handle stream position update IPCs and run pcm
113 elapse to inform ALSA about that, on platforms (e.g. Intel SKL+) that
114 with other approach (e.g. HDAC DPIB/posbuf) to elapse PCM.
115 On platforms (e.g. Intel SKL-) where position update IPC is the only
116 one choice, this setting won't impact anything.
117 if you are trying to debug pointer update with position IPCs or where
118 DPIB/posbuf is not ready, select "Y".
119 If unsure select "N".
121 config SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE
122 bool "SOF enable debugfs caching"
124 This option enables caching of debugfs
125 memory -> DSP resource (memory, register, etc)
126 before the audio DSP is suspended. This will increase the suspend
127 latency and therefore should be used for debug purposes only.
128 Say Y if you want to enable caching the memory windows.
129 If unsure, select "N".
131 endif ## SND_SOC_SOF_DEBUG
133 endif ## SND_SOC_SOF_OPTIONS
137 select SND_SOC_TOPOLOGY
139 This option is not user-selectable but automagically handled by
140 'select' statements at a higher level
141 The selection is made at the top level and does not exactly follow
142 module dependencies but since the module or built-in type is decided
143 at the top level it doesn't matter.
145 config SND_SOC_SOF_PROBE_WORK_QUEUE
148 This option is not user-selectable but automagically handled by
149 'select' statements at a higher level
150 When selected, the probe is handled in two steps, for example to
151 avoid lockdeps if request_module is used in the probe.
153 source "sound/soc/sof/intel/Kconfig"
154 source "sound/soc/sof/xtensa/Kconfig"