asoc.h revision 6a9755d20a995756487bb1aafb7e954f4fd868a7
1/****************************************************************************
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#define SND_SOC_TPLG_MAX_CHAN 8
25#define SND_SOC_TPLG_MAX_FORMATS 16
26#define SND_SOC_TPLG_STREAM_CONFIG_MAX 8
27#define SND_SOC_TPLG_CTL_VOLSW 1
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define SND_SOC_TPLG_CTL_VOLSW_SX 2
30#define SND_SOC_TPLG_CTL_VOLSW_XR_SX 3
31#define SND_SOC_TPLG_CTL_ENUM 4
32#define SND_SOC_TPLG_CTL_BYTES 5
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define SND_SOC_TPLG_CTL_ENUM_VALUE 6
35#define SND_SOC_TPLG_CTL_RANGE 7
36#define SND_SOC_TPLG_CTL_STROBE 8
37#define SND_SOC_TPLG_DAPM_CTL_VOLSW 64
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define SND_SOC_TPLG_DAPM_CTL_ENUM_DOUBLE 65
40#define SND_SOC_TPLG_DAPM_CTL_ENUM_VIRT 66
41#define SND_SOC_TPLG_DAPM_CTL_ENUM_VALUE 67
42#define SND_SOC_TPLG_DAPM_CTL_PIN 68
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define SND_SOC_TPLG_DAPM_INPUT 0
45#define SND_SOC_TPLG_DAPM_OUTPUT 1
46#define SND_SOC_TPLG_DAPM_MUX 2
47#define SND_SOC_TPLG_DAPM_MIXER 3
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define SND_SOC_TPLG_DAPM_PGA 4
50#define SND_SOC_TPLG_DAPM_OUT_DRV 5
51#define SND_SOC_TPLG_DAPM_ADC 6
52#define SND_SOC_TPLG_DAPM_DAC 7
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define SND_SOC_TPLG_DAPM_SWITCH 8
55#define SND_SOC_TPLG_DAPM_PRE 9
56#define SND_SOC_TPLG_DAPM_POST 10
57#define SND_SOC_TPLG_DAPM_AIF_IN 11
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59#define SND_SOC_TPLG_DAPM_AIF_OUT 12
60#define SND_SOC_TPLG_DAPM_DAI_IN 13
61#define SND_SOC_TPLG_DAPM_DAI_OUT 14
62#define SND_SOC_TPLG_DAPM_DAI_LINK 15
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define SND_SOC_TPLG_DAPM_LAST SND_SOC_TPLG_DAPM_DAI_LINK
65#define SND_SOC_TPLG_MAGIC 0x41536F43
66#define SND_SOC_TPLG_NUM_TEXTS 16
67#define SND_SOC_TPLG_ABI_VERSION 0x5
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define SND_SOC_TPLG_TLV_SIZE 32
70#define SND_SOC_TPLG_TYPE_MIXER 1
71#define SND_SOC_TPLG_TYPE_BYTES 2
72#define SND_SOC_TPLG_TYPE_ENUM 3
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define SND_SOC_TPLG_TYPE_DAPM_GRAPH 4
75#define SND_SOC_TPLG_TYPE_DAPM_WIDGET 5
76#define SND_SOC_TPLG_TYPE_DAI_LINK 6
77#define SND_SOC_TPLG_TYPE_PCM 7
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define SND_SOC_TPLG_TYPE_MANIFEST 8
80#define SND_SOC_TPLG_TYPE_CODEC_LINK 9
81#define SND_SOC_TPLG_TYPE_BACKEND_LINK 10
82#define SND_SOC_TPLG_TYPE_PDATA 11
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#define SND_SOC_TPLG_TYPE_BE_DAI 12
85#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_BE_DAI
86#define SND_SOC_TPLG_TYPE_VENDOR_FW 1000
87#define SND_SOC_TPLG_TYPE_VENDOR_CONFIG 1001
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define SND_SOC_TPLG_TYPE_VENDOR_COEFF 1002
90#define SND_SOC_TPLG_TYPEVENDOR_CODEC 1003
91#define SND_SOC_TPLG_STREAM_PLAYBACK 0
92#define SND_SOC_TPLG_STREAM_CAPTURE 1
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94#define SND_SOC_TPLG_TUPLE_TYPE_UUID 0
95#define SND_SOC_TPLG_TUPLE_TYPE_STRING 1
96#define SND_SOC_TPLG_TUPLE_TYPE_BOOL 2
97#define SND_SOC_TPLG_TUPLE_TYPE_BYTE 3
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99#define SND_SOC_TPLG_TUPLE_TYPE_WORD 4
100#define SND_SOC_TPLG_TUPLE_TYPE_SHORT 5
101#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_RATES (1 << 0)
102#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_CHANNELS (1 << 1)
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2)
105struct snd_soc_tplg_hdr {
106  __le32 magic;
107  __le32 abi;
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  __le32 version;
110  __le32 type;
111  __le32 size;
112  __le32 vendor_type;
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  __le32 payload_size;
115  __le32 index;
116  __le32 count;
117} __attribute__((packed));
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119struct snd_soc_tplg_vendor_uuid_elem {
120  __le32 token;
121  char uuid[16];
122} __attribute__((packed));
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124struct snd_soc_tplg_vendor_value_elem {
125  __le32 token;
126  __le32 value;
127} __attribute__((packed));
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129struct snd_soc_tplg_vendor_string_elem {
130  __le32 token;
131  char string[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
132} __attribute__((packed));
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134struct snd_soc_tplg_vendor_array {
135  __le32 size;
136  __le32 type;
137  __le32 num_elems;
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  union {
140    struct snd_soc_tplg_vendor_uuid_elem uuid[0];
141    struct snd_soc_tplg_vendor_value_elem value[0];
142    struct snd_soc_tplg_vendor_string_elem string[0];
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  };
145} __attribute__((packed));
146struct snd_soc_tplg_private {
147  __le32 size;
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  union {
150    char data[0];
151    struct snd_soc_tplg_vendor_array array[0];
152  };
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154} __attribute__((packed));
155struct snd_soc_tplg_tlv_dbscale {
156  __le32 min;
157  __le32 step;
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  __le32 mute;
160} __attribute__((packed));
161struct snd_soc_tplg_ctl_tlv {
162  __le32 size;
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  __le32 type;
165  union {
166    __le32 data[SND_SOC_TPLG_TLV_SIZE];
167    struct snd_soc_tplg_tlv_dbscale scale;
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  };
170} __attribute__((packed));
171struct snd_soc_tplg_channel {
172  __le32 size;
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  __le32 reg;
175  __le32 shift;
176  __le32 id;
177} __attribute__((packed));
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179struct snd_soc_tplg_io_ops {
180  __le32 get;
181  __le32 put;
182  __le32 info;
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184} __attribute__((packed));
185struct snd_soc_tplg_ctl_hdr {
186  __le32 size;
187  __le32 type;
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
190  __le32 access;
191  struct snd_soc_tplg_io_ops ops;
192  struct snd_soc_tplg_ctl_tlv tlv;
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194} __attribute__((packed));
195struct snd_soc_tplg_stream_caps {
196  __le32 size;
197  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  __le64 formats;
200  __le32 rates;
201  __le32 rate_min;
202  __le32 rate_max;
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204  __le32 channels_min;
205  __le32 channels_max;
206  __le32 periods_min;
207  __le32 periods_max;
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209  __le32 period_size_min;
210  __le32 period_size_max;
211  __le32 buffer_size_min;
212  __le32 buffer_size_max;
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214  __le32 sig_bits;
215} __attribute__((packed));
216struct snd_soc_tplg_stream {
217  __le32 size;
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
220  __le64 format;
221  __le32 rate;
222  __le32 period_bytes;
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224  __le32 buffer_bytes;
225  __le32 channels;
226} __attribute__((packed));
227struct snd_soc_tplg_manifest {
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229  __le32 size;
230  __le32 control_elems;
231  __le32 widget_elems;
232  __le32 graph_elems;
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  __le32 pcm_elems;
235  __le32 dai_link_elems;
236  __le32 be_dai_elems;
237  __le32 reserved[20];
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239  struct snd_soc_tplg_private priv;
240} __attribute__((packed));
241struct snd_soc_tplg_mixer_control {
242  struct snd_soc_tplg_ctl_hdr hdr;
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  __le32 size;
245  __le32 min;
246  __le32 max;
247  __le32 platform_max;
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  __le32 invert;
250  __le32 num_channels;
251  struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];
252  struct snd_soc_tplg_private priv;
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254} __attribute__((packed));
255struct snd_soc_tplg_enum_control {
256  struct snd_soc_tplg_ctl_hdr hdr;
257  __le32 size;
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259  __le32 num_channels;
260  struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];
261  __le32 items;
262  __le32 mask;
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  __le32 count;
265  char texts[SND_SOC_TPLG_NUM_TEXTS][SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
266  __le32 values[SND_SOC_TPLG_NUM_TEXTS * SNDRV_CTL_ELEM_ID_NAME_MAXLEN / 4];
267  struct snd_soc_tplg_private priv;
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269} __attribute__((packed));
270struct snd_soc_tplg_bytes_control {
271  struct snd_soc_tplg_ctl_hdr hdr;
272  __le32 size;
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274  __le32 max;
275  __le32 mask;
276  __le32 base;
277  __le32 num_regs;
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279  struct snd_soc_tplg_io_ops ext_ops;
280  struct snd_soc_tplg_private priv;
281} __attribute__((packed));
282struct snd_soc_tplg_dapm_graph_elem {
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284  char sink[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
285  char control[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
286  char source[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
287} __attribute__((packed));
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289struct snd_soc_tplg_dapm_widget {
290  __le32 size;
291  __le32 id;
292  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294  char sname[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
295  __le32 reg;
296  __le32 shift;
297  __le32 mask;
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299  __le32 subseq;
300  __le32 invert;
301  __le32 ignore_suspend;
302  __le16 event_flags;
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  __le16 event_type;
305  __le32 num_kcontrols;
306  struct snd_soc_tplg_private priv;
307} __attribute__((packed));
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309struct snd_soc_tplg_pcm {
310  __le32 size;
311  char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
312  char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  __le32 pcm_id;
315  __le32 dai_id;
316  __le32 playback;
317  __le32 capture;
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319  __le32 compress;
320  struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
321  __le32 num_streams;
322  struct snd_soc_tplg_stream_caps caps[2];
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324} __attribute__((packed));
325struct snd_soc_tplg_link_config {
326  __le32 size;
327  __le32 id;
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329  struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
330  __le32 num_streams;
331} __attribute__((packed));
332struct snd_soc_tplg_be_dai {
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  __le32 size;
335  char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
336  __le32 dai_id;
337  __le32 playback;
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339  __le32 capture;
340  struct snd_soc_tplg_stream_caps caps[2];
341  __le32 flag_mask;
342  __le32 flags;
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  struct snd_soc_tplg_private priv;
345} __attribute__((packed));
346#endif
347