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