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