xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/sound/asoc.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef __LINUX_UAPI_SND_ASOC_H
8*cda5da8dSAndroid Build Coastguard Worker #define __LINUX_UAPI_SND_ASOC_H
9*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h>
10*cda5da8dSAndroid Build Coastguard Worker #include <sound/asound.h>
11*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_MAX_CHAN 8
12*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_MAX_FORMATS 16
13*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_STREAM_CONFIG_MAX 8
14*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_HW_CONFIG_MAX 8
15*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_CTL_VOLSW 1
16*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_CTL_VOLSW_SX 2
17*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_CTL_VOLSW_XR_SX 3
18*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_CTL_ENUM 4
19*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_CTL_BYTES 5
20*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_CTL_ENUM_VALUE 6
21*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_CTL_RANGE 7
22*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_CTL_STROBE 8
23*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_CTL_VOLSW 64
24*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_CTL_ENUM_DOUBLE 65
25*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_CTL_ENUM_VIRT 66
26*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_CTL_ENUM_VALUE 67
27*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_CTL_PIN 68
28*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_INPUT 0
29*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_OUTPUT 1
30*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_MUX 2
31*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_MIXER 3
32*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_PGA 4
33*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_OUT_DRV 5
34*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_ADC 6
35*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_DAC 7
36*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_SWITCH 8
37*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_PRE 9
38*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_POST 10
39*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_AIF_IN 11
40*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_AIF_OUT 12
41*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_DAI_IN 13
42*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_DAI_OUT 14
43*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_DAI_LINK 15
44*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_BUFFER 16
45*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_SCHEDULER 17
46*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_EFFECT 18
47*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_SIGGEN 19
48*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_SRC 20
49*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_ASRC 21
50*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_ENCODER 22
51*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_DECODER 23
52*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAPM_LAST SND_SOC_TPLG_DAPM_DECODER
53*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_MAGIC 0x41536F43
54*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_NUM_TEXTS 16
55*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_ABI_VERSION 0x5
56*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_ABI_VERSION_MIN 0x4
57*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TLV_SIZE 32
58*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_MIXER 1
59*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_BYTES 2
60*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_ENUM 3
61*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_DAPM_GRAPH 4
62*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_DAPM_WIDGET 5
63*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_DAI_LINK 6
64*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_PCM 7
65*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_MANIFEST 8
66*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_CODEC_LINK 9
67*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_BACKEND_LINK 10
68*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_PDATA 11
69*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_DAI 12
70*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_DAI
71*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_VENDOR_FW 1000
72*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_VENDOR_CONFIG 1001
73*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPE_VENDOR_COEFF 1002
74*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TYPEVENDOR_CODEC 1003
75*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_STREAM_PLAYBACK 0
76*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_STREAM_CAPTURE 1
77*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TUPLE_TYPE_UUID 0
78*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TUPLE_TYPE_STRING 1
79*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TUPLE_TYPE_BOOL 2
80*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TUPLE_TYPE_BYTE 3
81*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TUPLE_TYPE_WORD 4
82*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_TUPLE_TYPE_SHORT 5
83*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_RATES (1 << 0)
84*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_CHANNELS (1 << 1)
85*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2)
86*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAI_CLK_GATE_UNDEFINED 0
87*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAI_CLK_GATE_GATED 1
88*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_DAI_CLK_GATE_CONT 2
89*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_MCLK_CO 0
90*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_MCLK_CI 1
91*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_DAI_FORMAT_I2S 1
92*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_DAI_FORMAT_RIGHT_J 2
93*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_DAI_FORMAT_LEFT_J 3
94*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_DAI_FORMAT_DSP_A 4
95*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_DAI_FORMAT_DSP_B 5
96*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_DAI_FORMAT_AC97 6
97*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_DAI_FORMAT_PDM 7
98*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_DAI_FORMAT_MSB SND_SOC_DAI_FORMAT_LEFT_J
99*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_DAI_FORMAT_LSB SND_SOC_DAI_FORMAT_RIGHT_J
100*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_RATES (1 << 0)
101*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_CHANNELS (1 << 1)
102*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2)
103*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_LNK_FLGBIT_VOICE_WAKEUP (1 << 3)
104*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_BCLK_CP 0
105*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_BCLK_CC 1
106*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_BCLK_CM SND_SOC_TPLG_BCLK_CP
107*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_BCLK_CS SND_SOC_TPLG_BCLK_CC
108*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_FSYNC_CP 0
109*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_FSYNC_CC 1
110*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_FSYNC_CM SND_SOC_TPLG_FSYNC_CP
111*cda5da8dSAndroid Build Coastguard Worker #define SND_SOC_TPLG_FSYNC_CS SND_SOC_TPLG_FSYNC_CC
112*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_hdr {
113*cda5da8dSAndroid Build Coastguard Worker   __le32 magic;
114*cda5da8dSAndroid Build Coastguard Worker   __le32 abi;
115*cda5da8dSAndroid Build Coastguard Worker   __le32 version;
116*cda5da8dSAndroid Build Coastguard Worker   __le32 type;
117*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
118*cda5da8dSAndroid Build Coastguard Worker   __le32 vendor_type;
119*cda5da8dSAndroid Build Coastguard Worker   __le32 payload_size;
120*cda5da8dSAndroid Build Coastguard Worker   __le32 index;
121*cda5da8dSAndroid Build Coastguard Worker   __le32 count;
122*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
123*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_vendor_uuid_elem {
124*cda5da8dSAndroid Build Coastguard Worker   __le32 token;
125*cda5da8dSAndroid Build Coastguard Worker   char uuid[16];
126*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
127*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_vendor_value_elem {
128*cda5da8dSAndroid Build Coastguard Worker   __le32 token;
129*cda5da8dSAndroid Build Coastguard Worker   __le32 value;
130*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
131*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_vendor_string_elem {
132*cda5da8dSAndroid Build Coastguard Worker   __le32 token;
133*cda5da8dSAndroid Build Coastguard Worker   char string[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
134*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
135*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_vendor_array {
136*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
137*cda5da8dSAndroid Build Coastguard Worker   __le32 type;
138*cda5da8dSAndroid Build Coastguard Worker   __le32 num_elems;
139*cda5da8dSAndroid Build Coastguard Worker   union {
140*cda5da8dSAndroid Build Coastguard Worker     __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_uuid_elem, uuid);
141*cda5da8dSAndroid Build Coastguard Worker     __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_value_elem, value);
142*cda5da8dSAndroid Build Coastguard Worker     __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_string_elem, string);
143*cda5da8dSAndroid Build Coastguard Worker   };
144*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
145*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_private {
146*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
147*cda5da8dSAndroid Build Coastguard Worker   union {
148*cda5da8dSAndroid Build Coastguard Worker     __DECLARE_FLEX_ARRAY(char, data);
149*cda5da8dSAndroid Build Coastguard Worker     __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_array, array);
150*cda5da8dSAndroid Build Coastguard Worker   };
151*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
152*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_tlv_dbscale {
153*cda5da8dSAndroid Build Coastguard Worker   __le32 min;
154*cda5da8dSAndroid Build Coastguard Worker   __le32 step;
155*cda5da8dSAndroid Build Coastguard Worker   __le32 mute;
156*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
157*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_ctl_tlv {
158*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
159*cda5da8dSAndroid Build Coastguard Worker   __le32 type;
160*cda5da8dSAndroid Build Coastguard Worker   union {
161*cda5da8dSAndroid Build Coastguard Worker     __le32 data[SND_SOC_TPLG_TLV_SIZE];
162*cda5da8dSAndroid Build Coastguard Worker     struct snd_soc_tplg_tlv_dbscale scale;
163*cda5da8dSAndroid Build Coastguard Worker   };
164*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
165*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_channel {
166*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
167*cda5da8dSAndroid Build Coastguard Worker   __le32 reg;
168*cda5da8dSAndroid Build Coastguard Worker   __le32 shift;
169*cda5da8dSAndroid Build Coastguard Worker   __le32 id;
170*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
171*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_io_ops {
172*cda5da8dSAndroid Build Coastguard Worker   __le32 get;
173*cda5da8dSAndroid Build Coastguard Worker   __le32 put;
174*cda5da8dSAndroid Build Coastguard Worker   __le32 info;
175*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
176*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_ctl_hdr {
177*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
178*cda5da8dSAndroid Build Coastguard Worker   __le32 type;
179*cda5da8dSAndroid Build Coastguard Worker   char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
180*cda5da8dSAndroid Build Coastguard Worker   __le32 access;
181*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_io_ops ops;
182*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_ctl_tlv tlv;
183*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
184*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_stream_caps {
185*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
186*cda5da8dSAndroid Build Coastguard Worker   char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
187*cda5da8dSAndroid Build Coastguard Worker   __le64 formats;
188*cda5da8dSAndroid Build Coastguard Worker   __le32 rates;
189*cda5da8dSAndroid Build Coastguard Worker   __le32 rate_min;
190*cda5da8dSAndroid Build Coastguard Worker   __le32 rate_max;
191*cda5da8dSAndroid Build Coastguard Worker   __le32 channels_min;
192*cda5da8dSAndroid Build Coastguard Worker   __le32 channels_max;
193*cda5da8dSAndroid Build Coastguard Worker   __le32 periods_min;
194*cda5da8dSAndroid Build Coastguard Worker   __le32 periods_max;
195*cda5da8dSAndroid Build Coastguard Worker   __le32 period_size_min;
196*cda5da8dSAndroid Build Coastguard Worker   __le32 period_size_max;
197*cda5da8dSAndroid Build Coastguard Worker   __le32 buffer_size_min;
198*cda5da8dSAndroid Build Coastguard Worker   __le32 buffer_size_max;
199*cda5da8dSAndroid Build Coastguard Worker   __le32 sig_bits;
200*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
201*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_stream {
202*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
203*cda5da8dSAndroid Build Coastguard Worker   char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
204*cda5da8dSAndroid Build Coastguard Worker   __le64 format;
205*cda5da8dSAndroid Build Coastguard Worker   __le32 rate;
206*cda5da8dSAndroid Build Coastguard Worker   __le32 period_bytes;
207*cda5da8dSAndroid Build Coastguard Worker   __le32 buffer_bytes;
208*cda5da8dSAndroid Build Coastguard Worker   __le32 channels;
209*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
210*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_hw_config {
211*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
212*cda5da8dSAndroid Build Coastguard Worker   __le32 id;
213*cda5da8dSAndroid Build Coastguard Worker   __le32 fmt;
214*cda5da8dSAndroid Build Coastguard Worker   __u8 clock_gated;
215*cda5da8dSAndroid Build Coastguard Worker   __u8 invert_bclk;
216*cda5da8dSAndroid Build Coastguard Worker   __u8 invert_fsync;
217*cda5da8dSAndroid Build Coastguard Worker   __u8 bclk_provider;
218*cda5da8dSAndroid Build Coastguard Worker   __u8 fsync_provider;
219*cda5da8dSAndroid Build Coastguard Worker   __u8 mclk_direction;
220*cda5da8dSAndroid Build Coastguard Worker   __le16 reserved;
221*cda5da8dSAndroid Build Coastguard Worker   __le32 mclk_rate;
222*cda5da8dSAndroid Build Coastguard Worker   __le32 bclk_rate;
223*cda5da8dSAndroid Build Coastguard Worker   __le32 fsync_rate;
224*cda5da8dSAndroid Build Coastguard Worker   __le32 tdm_slots;
225*cda5da8dSAndroid Build Coastguard Worker   __le32 tdm_slot_width;
226*cda5da8dSAndroid Build Coastguard Worker   __le32 tx_slots;
227*cda5da8dSAndroid Build Coastguard Worker   __le32 rx_slots;
228*cda5da8dSAndroid Build Coastguard Worker   __le32 tx_channels;
229*cda5da8dSAndroid Build Coastguard Worker   __le32 tx_chanmap[SND_SOC_TPLG_MAX_CHAN];
230*cda5da8dSAndroid Build Coastguard Worker   __le32 rx_channels;
231*cda5da8dSAndroid Build Coastguard Worker   __le32 rx_chanmap[SND_SOC_TPLG_MAX_CHAN];
232*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
233*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_manifest {
234*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
235*cda5da8dSAndroid Build Coastguard Worker   __le32 control_elems;
236*cda5da8dSAndroid Build Coastguard Worker   __le32 widget_elems;
237*cda5da8dSAndroid Build Coastguard Worker   __le32 graph_elems;
238*cda5da8dSAndroid Build Coastguard Worker   __le32 pcm_elems;
239*cda5da8dSAndroid Build Coastguard Worker   __le32 dai_link_elems;
240*cda5da8dSAndroid Build Coastguard Worker   __le32 dai_elems;
241*cda5da8dSAndroid Build Coastguard Worker   __le32 reserved[20];
242*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_private priv;
243*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
244*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_mixer_control {
245*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_ctl_hdr hdr;
246*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
247*cda5da8dSAndroid Build Coastguard Worker   __le32 min;
248*cda5da8dSAndroid Build Coastguard Worker   __le32 max;
249*cda5da8dSAndroid Build Coastguard Worker   __le32 platform_max;
250*cda5da8dSAndroid Build Coastguard Worker   __le32 invert;
251*cda5da8dSAndroid Build Coastguard Worker   __le32 num_channels;
252*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];
253*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_private priv;
254*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
255*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_enum_control {
256*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_ctl_hdr hdr;
257*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
258*cda5da8dSAndroid Build Coastguard Worker   __le32 num_channels;
259*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];
260*cda5da8dSAndroid Build Coastguard Worker   __le32 items;
261*cda5da8dSAndroid Build Coastguard Worker   __le32 mask;
262*cda5da8dSAndroid Build Coastguard Worker   __le32 count;
263*cda5da8dSAndroid Build Coastguard Worker   char texts[SND_SOC_TPLG_NUM_TEXTS][SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
264*cda5da8dSAndroid Build Coastguard Worker   __le32 values[SND_SOC_TPLG_NUM_TEXTS * SNDRV_CTL_ELEM_ID_NAME_MAXLEN / 4];
265*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_private priv;
266*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
267*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_bytes_control {
268*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_ctl_hdr hdr;
269*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
270*cda5da8dSAndroid Build Coastguard Worker   __le32 max;
271*cda5da8dSAndroid Build Coastguard Worker   __le32 mask;
272*cda5da8dSAndroid Build Coastguard Worker   __le32 base;
273*cda5da8dSAndroid Build Coastguard Worker   __le32 num_regs;
274*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_io_ops ext_ops;
275*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_private priv;
276*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
277*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_dapm_graph_elem {
278*cda5da8dSAndroid Build Coastguard Worker   char sink[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
279*cda5da8dSAndroid Build Coastguard Worker   char control[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
280*cda5da8dSAndroid Build Coastguard Worker   char source[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
281*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
282*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_dapm_widget {
283*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
284*cda5da8dSAndroid Build Coastguard Worker   __le32 id;
285*cda5da8dSAndroid Build Coastguard Worker   char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
286*cda5da8dSAndroid Build Coastguard Worker   char sname[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
287*cda5da8dSAndroid Build Coastguard Worker   __le32 reg;
288*cda5da8dSAndroid Build Coastguard Worker   __le32 shift;
289*cda5da8dSAndroid Build Coastguard Worker   __le32 mask;
290*cda5da8dSAndroid Build Coastguard Worker   __le32 subseq;
291*cda5da8dSAndroid Build Coastguard Worker   __le32 invert;
292*cda5da8dSAndroid Build Coastguard Worker   __le32 ignore_suspend;
293*cda5da8dSAndroid Build Coastguard Worker   __le16 event_flags;
294*cda5da8dSAndroid Build Coastguard Worker   __le16 event_type;
295*cda5da8dSAndroid Build Coastguard Worker   __le32 num_kcontrols;
296*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_private priv;
297*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
298*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_pcm {
299*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
300*cda5da8dSAndroid Build Coastguard Worker   char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
301*cda5da8dSAndroid Build Coastguard Worker   char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
302*cda5da8dSAndroid Build Coastguard Worker   __le32 pcm_id;
303*cda5da8dSAndroid Build Coastguard Worker   __le32 dai_id;
304*cda5da8dSAndroid Build Coastguard Worker   __le32 playback;
305*cda5da8dSAndroid Build Coastguard Worker   __le32 capture;
306*cda5da8dSAndroid Build Coastguard Worker   __le32 compress;
307*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
308*cda5da8dSAndroid Build Coastguard Worker   __le32 num_streams;
309*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_stream_caps caps[2];
310*cda5da8dSAndroid Build Coastguard Worker   __le32 flag_mask;
311*cda5da8dSAndroid Build Coastguard Worker   __le32 flags;
312*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_private priv;
313*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
314*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_link_config {
315*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
316*cda5da8dSAndroid Build Coastguard Worker   __le32 id;
317*cda5da8dSAndroid Build Coastguard Worker   char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
318*cda5da8dSAndroid Build Coastguard Worker   char stream_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
319*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
320*cda5da8dSAndroid Build Coastguard Worker   __le32 num_streams;
321*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_hw_config hw_config[SND_SOC_TPLG_HW_CONFIG_MAX];
322*cda5da8dSAndroid Build Coastguard Worker   __le32 num_hw_configs;
323*cda5da8dSAndroid Build Coastguard Worker   __le32 default_hw_config_id;
324*cda5da8dSAndroid Build Coastguard Worker   __le32 flag_mask;
325*cda5da8dSAndroid Build Coastguard Worker   __le32 flags;
326*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_private priv;
327*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
328*cda5da8dSAndroid Build Coastguard Worker struct snd_soc_tplg_dai {
329*cda5da8dSAndroid Build Coastguard Worker   __le32 size;
330*cda5da8dSAndroid Build Coastguard Worker   char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
331*cda5da8dSAndroid Build Coastguard Worker   __le32 dai_id;
332*cda5da8dSAndroid Build Coastguard Worker   __le32 playback;
333*cda5da8dSAndroid Build Coastguard Worker   __le32 capture;
334*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_stream_caps caps[2];
335*cda5da8dSAndroid Build Coastguard Worker   __le32 flag_mask;
336*cda5da8dSAndroid Build Coastguard Worker   __le32 flags;
337*cda5da8dSAndroid Build Coastguard Worker   struct snd_soc_tplg_private priv;
338*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
339*cda5da8dSAndroid Build Coastguard Worker #endif
340