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