blob: a4fac227993b49e0b74bc65b614fb1ec294490bd [file] [log] [blame]
Christopher Ferris05d08e92016-02-04 13:16:38 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef __LINUX_UAPI_SND_ASOC_H
20#define __LINUX_UAPI_SND_ASOC_H
21#include <linux/types.h>
22#include <sound/asound.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#error This API is an early revision and not enabled in the current
25#error kernel release , it will be enabled in a future kernel version
26#error with incompatible changes to what is here .
27#define SND_SOC_TPLG_MAX_CHAN 8
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define SND_SOC_TPLG_MAX_FORMATS 16
30#define SND_SOC_TPLG_STREAM_CONFIG_MAX 8
31#define SND_SOC_TPLG_CTL_VOLSW 1
32#define SND_SOC_TPLG_CTL_VOLSW_SX 2
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define SND_SOC_TPLG_CTL_VOLSW_XR_SX 3
35#define SND_SOC_TPLG_CTL_ENUM 4
36#define SND_SOC_TPLG_CTL_BYTES 5
37#define SND_SOC_TPLG_CTL_ENUM_VALUE 6
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define SND_SOC_TPLG_CTL_RANGE 7
40#define SND_SOC_TPLG_CTL_STROBE 8
41#define SND_SOC_TPLG_DAPM_CTL_VOLSW 64
42#define SND_SOC_TPLG_DAPM_CTL_ENUM_DOUBLE 65
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define SND_SOC_TPLG_DAPM_CTL_ENUM_VIRT 66
45#define SND_SOC_TPLG_DAPM_CTL_ENUM_VALUE 67
46#define SND_SOC_TPLG_DAPM_CTL_PIN 68
47#define SND_SOC_TPLG_DAPM_INPUT 0
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define SND_SOC_TPLG_DAPM_OUTPUT 1
50#define SND_SOC_TPLG_DAPM_MUX 2
51#define SND_SOC_TPLG_DAPM_MIXER 3
52#define SND_SOC_TPLG_DAPM_PGA 4
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define SND_SOC_TPLG_DAPM_OUT_DRV 5
55#define SND_SOC_TPLG_DAPM_ADC 6
56#define SND_SOC_TPLG_DAPM_DAC 7
57#define SND_SOC_TPLG_DAPM_SWITCH 8
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59#define SND_SOC_TPLG_DAPM_PRE 9
60#define SND_SOC_TPLG_DAPM_POST 10
61#define SND_SOC_TPLG_DAPM_AIF_IN 11
62#define SND_SOC_TPLG_DAPM_AIF_OUT 12
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define SND_SOC_TPLG_DAPM_DAI_IN 13
65#define SND_SOC_TPLG_DAPM_DAI_OUT 14
66#define SND_SOC_TPLG_DAPM_DAI_LINK 15
67#define SND_SOC_TPLG_DAPM_LAST SND_SOC_TPLG_DAPM_DAI_LINK
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define SND_SOC_TPLG_MAGIC 0x41536F43
70#define SND_SOC_TPLG_NUM_TEXTS 16
71#define SND_SOC_TPLG_ABI_VERSION 0x4
72#define SND_SOC_TPLG_TLV_SIZE 32
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define SND_SOC_TPLG_TYPE_MIXER 1
75#define SND_SOC_TPLG_TYPE_BYTES 2
76#define SND_SOC_TPLG_TYPE_ENUM 3
77#define SND_SOC_TPLG_TYPE_DAPM_GRAPH 4
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define SND_SOC_TPLG_TYPE_DAPM_WIDGET 5
80#define SND_SOC_TPLG_TYPE_DAI_LINK 6
81#define SND_SOC_TPLG_TYPE_PCM 7
82#define SND_SOC_TPLG_TYPE_MANIFEST 8
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#define SND_SOC_TPLG_TYPE_CODEC_LINK 9
85#define SND_SOC_TPLG_TYPE_BACKEND_LINK 10
86#define SND_SOC_TPLG_TYPE_PDATA 11
87#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_PDATA
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define SND_SOC_TPLG_TYPE_VENDOR_FW 1000
90#define SND_SOC_TPLG_TYPE_VENDOR_CONFIG 1001
91#define SND_SOC_TPLG_TYPE_VENDOR_COEFF 1002
92#define SND_SOC_TPLG_TYPEVENDOR_CODEC 1003
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94#define SND_SOC_TPLG_STREAM_PLAYBACK 0
95#define SND_SOC_TPLG_STREAM_CAPTURE 1
96struct snd_soc_tplg_hdr {
97 __le32 magic;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 __le32 abi;
100 __le32 version;
101 __le32 type;
102 __le32 size;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 __le32 vendor_type;
105 __le32 payload_size;
106 __le32 index;
107 __le32 count;
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109} __attribute__((packed));
110struct snd_soc_tplg_private {
111 __le32 size;
112 char data[0];
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114} __attribute__((packed));
115struct snd_soc_tplg_tlv_dbscale {
116 __le32 min;
117 __le32 step;
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 __le32 mute;
120} __attribute__((packed));
121struct snd_soc_tplg_ctl_tlv {
122 __le32 size;
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 __le32 type;
125 union {
126 __le32 data[SND_SOC_TPLG_TLV_SIZE];
127 struct snd_soc_tplg_tlv_dbscale scale;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 };
130} __attribute__((packed));
131struct snd_soc_tplg_channel {
132 __le32 size;
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 __le32 reg;
135 __le32 shift;
136 __le32 id;
137} __attribute__((packed));
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139struct snd_soc_tplg_io_ops {
140 __le32 get;
141 __le32 put;
142 __le32 info;
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144} __attribute__((packed));
145struct snd_soc_tplg_ctl_hdr {
146 __le32 size;
147 __le32 type;
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
150 __le32 access;
151 struct snd_soc_tplg_io_ops ops;
152 struct snd_soc_tplg_ctl_tlv tlv;
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154} __attribute__((packed));
155struct snd_soc_tplg_stream_caps {
156 __le32 size;
157 char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 __le64 formats;
160 __le32 rates;
161 __le32 rate_min;
162 __le32 rate_max;
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 __le32 channels_min;
165 __le32 channels_max;
166 __le32 periods_min;
167 __le32 periods_max;
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 __le32 period_size_min;
170 __le32 period_size_max;
171 __le32 buffer_size_min;
172 __le32 buffer_size_max;
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174} __attribute__((packed));
175struct snd_soc_tplg_stream {
176 __le32 size;
177 char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 __le64 format;
180 __le32 rate;
181 __le32 period_bytes;
182 __le32 buffer_bytes;
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 __le32 channels;
185} __attribute__((packed));
186struct snd_soc_tplg_manifest {
187 __le32 size;
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 __le32 control_elems;
190 __le32 widget_elems;
191 __le32 graph_elems;
192 __le32 dai_elems;
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 __le32 dai_link_elems;
195 struct snd_soc_tplg_private priv;
196} __attribute__((packed));
197struct snd_soc_tplg_mixer_control {
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 struct snd_soc_tplg_ctl_hdr hdr;
200 __le32 size;
201 __le32 min;
202 __le32 max;
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 __le32 platform_max;
205 __le32 invert;
206 __le32 num_channels;
207 struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 struct snd_soc_tplg_private priv;
210} __attribute__((packed));
211struct snd_soc_tplg_enum_control {
212 struct snd_soc_tplg_ctl_hdr hdr;
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 __le32 size;
215 __le32 num_channels;
216 struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];
217 __le32 items;
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 __le32 mask;
220 __le32 count;
221 char texts[SND_SOC_TPLG_NUM_TEXTS][SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
222 __le32 values[SND_SOC_TPLG_NUM_TEXTS * SNDRV_CTL_ELEM_ID_NAME_MAXLEN / 4];
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 struct snd_soc_tplg_private priv;
225} __attribute__((packed));
226struct snd_soc_tplg_bytes_control {
227 struct snd_soc_tplg_ctl_hdr hdr;
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 __le32 size;
230 __le32 max;
231 __le32 mask;
232 __le32 base;
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 __le32 num_regs;
235 struct snd_soc_tplg_io_ops ext_ops;
236 struct snd_soc_tplg_private priv;
237} __attribute__((packed));
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239struct snd_soc_tplg_dapm_graph_elem {
240 char sink[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
241 char control[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
242 char source[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244} __attribute__((packed));
245struct snd_soc_tplg_dapm_widget {
246 __le32 size;
247 __le32 id;
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249 char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
250 char sname[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
251 __le32 reg;
252 __le32 shift;
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254 __le32 mask;
255 __le32 subseq;
256 __le32 invert;
257 __le32 ignore_suspend;
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259 __le16 event_flags;
260 __le16 event_type;
261 __le32 num_kcontrols;
262 struct snd_soc_tplg_private priv;
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264} __attribute__((packed));
265struct snd_soc_tplg_pcm {
266 __le32 size;
267 char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269 char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
270 __le32 pcm_id;
271 __le32 dai_id;
272 __le32 playback;
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274 __le32 capture;
275 __le32 compress;
276 struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
277 __le32 num_streams;
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279 struct snd_soc_tplg_stream_caps caps[2];
280} __attribute__((packed));
281struct snd_soc_tplg_link_config {
282 __le32 size;
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 __le32 id;
285 struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
286 __le32 num_streams;
287} __attribute__((packed));
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289#endif