b204c65698f9f71e73d2f107c851b0602b64724d
[sfrench/cifs-2.6.git] / sound / soc / sof / Kconfig
1 config SND_SOC_SOF_TOPLEVEL
2         bool "Sound Open Firmware Support"
3         help
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.
7           If unsure select "N".
8
9 if SND_SOC_SOF_TOPLEVEL
10
11 config SND_SOC_SOF_PCI
12         tristate "SOF PCI enumeration support"
13         depends on PCI
14         select SND_SOC_SOF
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
18         help
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
22           If unsure select "N".
23
24 config SND_SOC_SOF_ACPI
25         tristate "SOF ACPI enumeration support"
26         depends on ACPI || COMPILE_TEST
27         select SND_SOC_SOF
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
32         help
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
36           If unsure select "N".
37
38 config SND_SOC_SOF_OPTIONS
39         tristate
40         help
41           This option is not user-selectable but automagically handled by
42           'select' statements at a higher level
43
44 if SND_SOC_SOF_OPTIONS
45
46 config SND_SOC_SOF_NOCODEC
47         tristate "SOF nocodec mode Support"
48         help
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
52           controlled externally
53           Say Y if you need this nocodec fallback option
54           If unsure select "N".
55
56 config SND_SOC_SOF_STRICT_ABI_CHECKS
57         bool "SOF strict ABI checks"
58         help
59           This option enables strict ABI checks for firmware and topology
60           files.
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
64           is invoked.
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
69           select "N".
70
71 config SND_SOC_SOF_DEBUG
72         bool "SOF debugging features"
73         help
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.
77           If unsure select "N".
78
79 if SND_SOC_SOF_DEBUG
80
81 config SND_SOC_SOF_FORCE_NOCODEC_MODE
82         bool "SOF force nocodec Mode"
83         depends on SND_SOC_SOF_NOCODEC
84         help
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
89           drivers
90           Say Y if you need this force nocodec mode option
91           If unsure select "N".
92
93 config SND_SOC_SOF_DEBUG_XRUN_STOP
94         bool "SOF stop on XRUN"
95         help
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.
99           If unsure select "N".
100
101 config SND_SOC_SOF_DEBUG_VERBOSE_IPC
102         bool "SOF verbose IPC logs"
103         help
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".
108
109 config SND_SOC_SOF_DEBUG_FORCE_IPC_POSITION
110         bool "SOF force to use IPC for position update on SKL+"
111         help
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".
120
121 config SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE
122         bool "SOF enable debugfs caching"
123         help
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".
130
131 endif ## SND_SOC_SOF_DEBUG
132
133 endif ## SND_SOC_SOF_OPTIONS
134
135 config SND_SOC_SOF
136         tristate
137         select SND_SOC_TOPOLOGY
138         help
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.
144
145 config SND_SOC_SOF_PROBE_WORK_QUEUE
146         bool
147         help
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.
152
153 source "sound/soc/sof/intel/Kconfig"
154 source "sound/soc/sof/xtensa/Kconfig"
155
156 endif