122851890Sopenharmony_ci/****************************************************************************
222851890Sopenharmony_ci ****************************************************************************
322851890Sopenharmony_ci ***
422851890Sopenharmony_ci ***   This header was automatically generated from a Linux kernel header
522851890Sopenharmony_ci ***   of the same name, to make information necessary for userspace to
622851890Sopenharmony_ci ***   call into the kernel available to libc.  It contains only constants,
722851890Sopenharmony_ci ***   structures, and macros generated from the original header, and thus,
822851890Sopenharmony_ci ***   contains no copyrightable information.
922851890Sopenharmony_ci ***
1022851890Sopenharmony_ci ***   To edit the content of this header, modify the corresponding
1122851890Sopenharmony_ci ***   source file (e.g. under external/kernel-headers/original/) then
1222851890Sopenharmony_ci ***   run bionic/libc/kernel/tools/update_all.py
1322851890Sopenharmony_ci ***
1422851890Sopenharmony_ci ***   Any manual change here will be lost the next time this script will
1522851890Sopenharmony_ci ***   be run. You've been warned!
1622851890Sopenharmony_ci ***
1722851890Sopenharmony_ci ****************************************************************************
1822851890Sopenharmony_ci ****************************************************************************/
1922851890Sopenharmony_ci#ifndef __LINUX_UAPI_SND_ASOC_H
2022851890Sopenharmony_ci#define __LINUX_UAPI_SND_ASOC_H
2122851890Sopenharmony_ci#include <linux/types.h>
2222851890Sopenharmony_ci#include <sound/asound.h>
2322851890Sopenharmony_ci#define SND_SOC_TPLG_MAX_CHAN 8
2422851890Sopenharmony_ci#define SND_SOC_TPLG_MAX_FORMATS 16
2522851890Sopenharmony_ci#define SND_SOC_TPLG_STREAM_CONFIG_MAX 8
2622851890Sopenharmony_ci#define SND_SOC_TPLG_HW_CONFIG_MAX 8
2722851890Sopenharmony_ci#define SND_SOC_TPLG_CTL_VOLSW 1
2822851890Sopenharmony_ci#define SND_SOC_TPLG_CTL_VOLSW_SX 2
2922851890Sopenharmony_ci#define SND_SOC_TPLG_CTL_VOLSW_XR_SX 3
3022851890Sopenharmony_ci#define SND_SOC_TPLG_CTL_ENUM 4
3122851890Sopenharmony_ci#define SND_SOC_TPLG_CTL_BYTES 5
3222851890Sopenharmony_ci#define SND_SOC_TPLG_CTL_ENUM_VALUE 6
3322851890Sopenharmony_ci#define SND_SOC_TPLG_CTL_RANGE 7
3422851890Sopenharmony_ci#define SND_SOC_TPLG_CTL_STROBE 8
3522851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_CTL_VOLSW 64
3622851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_CTL_ENUM_DOUBLE 65
3722851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_CTL_ENUM_VIRT 66
3822851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_CTL_ENUM_VALUE 67
3922851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_CTL_PIN 68
4022851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_INPUT 0
4122851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_OUTPUT 1
4222851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_MUX 2
4322851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_MIXER 3
4422851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_PGA 4
4522851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_OUT_DRV 5
4622851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_ADC 6
4722851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_DAC 7
4822851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_SWITCH 8
4922851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_PRE 9
5022851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_POST 10
5122851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_AIF_IN 11
5222851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_AIF_OUT 12
5322851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_DAI_IN 13
5422851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_DAI_OUT 14
5522851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_DAI_LINK 15
5622851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_BUFFER 16
5722851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_SCHEDULER 17
5822851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_EFFECT 18
5922851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_SIGGEN 19
6022851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_SRC 20
6122851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_ASRC 21
6222851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_ENCODER 22
6322851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_DECODER 23
6422851890Sopenharmony_ci#define SND_SOC_TPLG_DAPM_LAST SND_SOC_TPLG_DAPM_DECODER
6522851890Sopenharmony_ci#define SND_SOC_TPLG_MAGIC 0x41536F43
6622851890Sopenharmony_ci#define SND_SOC_TPLG_NUM_TEXTS 16
6722851890Sopenharmony_ci#define SND_SOC_TPLG_ABI_VERSION 0x5
6822851890Sopenharmony_ci#define SND_SOC_TPLG_ABI_VERSION_MIN 0x4
6922851890Sopenharmony_ci#define SND_SOC_TPLG_TLV_SIZE 32
7022851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_MIXER 1
7122851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_BYTES 2
7222851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_ENUM 3
7322851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_DAPM_GRAPH 4
7422851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_DAPM_WIDGET 5
7522851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_DAI_LINK 6
7622851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_PCM 7
7722851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_MANIFEST 8
7822851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_CODEC_LINK 9
7922851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_BACKEND_LINK 10
8022851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_PDATA 11
8122851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_DAI 12
8222851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_DAI
8322851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_VENDOR_FW 1000
8422851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_VENDOR_CONFIG 1001
8522851890Sopenharmony_ci#define SND_SOC_TPLG_TYPE_VENDOR_COEFF 1002
8622851890Sopenharmony_ci#define SND_SOC_TPLG_TYPEVENDOR_CODEC 1003
8722851890Sopenharmony_ci#define SND_SOC_TPLG_STREAM_PLAYBACK 0
8822851890Sopenharmony_ci#define SND_SOC_TPLG_STREAM_CAPTURE 1
8922851890Sopenharmony_ci#define SND_SOC_TPLG_TUPLE_TYPE_UUID 0
9022851890Sopenharmony_ci#define SND_SOC_TPLG_TUPLE_TYPE_STRING 1
9122851890Sopenharmony_ci#define SND_SOC_TPLG_TUPLE_TYPE_BOOL 2
9222851890Sopenharmony_ci#define SND_SOC_TPLG_TUPLE_TYPE_BYTE 3
9322851890Sopenharmony_ci#define SND_SOC_TPLG_TUPLE_TYPE_WORD 4
9422851890Sopenharmony_ci#define SND_SOC_TPLG_TUPLE_TYPE_SHORT 5
9522851890Sopenharmony_ci#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_RATES (1 << 0)
9622851890Sopenharmony_ci#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_CHANNELS (1 << 1)
9722851890Sopenharmony_ci#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2)
9822851890Sopenharmony_ci#define SND_SOC_TPLG_DAI_CLK_GATE_UNDEFINED 0
9922851890Sopenharmony_ci#define SND_SOC_TPLG_DAI_CLK_GATE_GATED 1
10022851890Sopenharmony_ci#define SND_SOC_TPLG_DAI_CLK_GATE_CONT 2
10122851890Sopenharmony_ci#define SND_SOC_TPLG_MCLK_CO 0
10222851890Sopenharmony_ci#define SND_SOC_TPLG_MCLK_CI 1
10322851890Sopenharmony_ci#define SND_SOC_DAI_FORMAT_I2S 1
10422851890Sopenharmony_ci#define SND_SOC_DAI_FORMAT_RIGHT_J 2
10522851890Sopenharmony_ci#define SND_SOC_DAI_FORMAT_LEFT_J 3
10622851890Sopenharmony_ci#define SND_SOC_DAI_FORMAT_DSP_A 4
10722851890Sopenharmony_ci#define SND_SOC_DAI_FORMAT_DSP_B 5
10822851890Sopenharmony_ci#define SND_SOC_DAI_FORMAT_AC97 6
10922851890Sopenharmony_ci#define SND_SOC_DAI_FORMAT_PDM 7
11022851890Sopenharmony_ci#define SND_SOC_DAI_FORMAT_MSB SND_SOC_DAI_FORMAT_LEFT_J
11122851890Sopenharmony_ci#define SND_SOC_DAI_FORMAT_LSB SND_SOC_DAI_FORMAT_RIGHT_J
11222851890Sopenharmony_ci#define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_RATES (1 << 0)
11322851890Sopenharmony_ci#define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_CHANNELS (1 << 1)
11422851890Sopenharmony_ci#define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2)
11522851890Sopenharmony_ci#define SND_SOC_TPLG_LNK_FLGBIT_VOICE_WAKEUP (1 << 3)
11622851890Sopenharmony_ci#define SND_SOC_TPLG_BCLK_CM 0
11722851890Sopenharmony_ci#define SND_SOC_TPLG_BCLK_CS 1
11822851890Sopenharmony_ci#define SND_SOC_TPLG_FSYNC_CM 0
11922851890Sopenharmony_ci#define SND_SOC_TPLG_FSYNC_CS 1
12022851890Sopenharmony_cistruct snd_soc_tplg_hdr {
12122851890Sopenharmony_ci  __le32 magic;
12222851890Sopenharmony_ci  __le32 abi;
12322851890Sopenharmony_ci  __le32 version;
12422851890Sopenharmony_ci  __le32 type;
12522851890Sopenharmony_ci  __le32 size;
12622851890Sopenharmony_ci  __le32 vendor_type;
12722851890Sopenharmony_ci  __le32 payload_size;
12822851890Sopenharmony_ci  __le32 index;
12922851890Sopenharmony_ci  __le32 count;
13022851890Sopenharmony_ci} __attribute__((packed));
13122851890Sopenharmony_cistruct snd_soc_tplg_vendor_uuid_elem {
13222851890Sopenharmony_ci  __le32 token;
13322851890Sopenharmony_ci  char uuid[16];
13422851890Sopenharmony_ci} __attribute__((packed));
13522851890Sopenharmony_cistruct snd_soc_tplg_vendor_value_elem {
13622851890Sopenharmony_ci  __le32 token;
13722851890Sopenharmony_ci  __le32 value;
13822851890Sopenharmony_ci} __attribute__((packed));
13922851890Sopenharmony_cistruct snd_soc_tplg_vendor_string_elem {
14022851890Sopenharmony_ci  __le32 token;
14122851890Sopenharmony_ci  char string[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
14222851890Sopenharmony_ci} __attribute__((packed));
14322851890Sopenharmony_cistruct snd_soc_tplg_vendor_array {
14422851890Sopenharmony_ci  __le32 size;
14522851890Sopenharmony_ci  __le32 type;
14622851890Sopenharmony_ci  __le32 num_elems;
14722851890Sopenharmony_ci  union {
14822851890Sopenharmony_ci    struct snd_soc_tplg_vendor_uuid_elem uuid[0];
14922851890Sopenharmony_ci    struct snd_soc_tplg_vendor_value_elem value[0];
15022851890Sopenharmony_ci    struct snd_soc_tplg_vendor_string_elem string[0];
15122851890Sopenharmony_ci  };
15222851890Sopenharmony_ci} __attribute__((packed));
15322851890Sopenharmony_cistruct snd_soc_tplg_private {
15422851890Sopenharmony_ci  __le32 size;
15522851890Sopenharmony_ci  union {
15622851890Sopenharmony_ci    char data[0];
15722851890Sopenharmony_ci    struct snd_soc_tplg_vendor_array array[0];
15822851890Sopenharmony_ci  };
15922851890Sopenharmony_ci} __attribute__((packed));
16022851890Sopenharmony_cistruct snd_soc_tplg_tlv_dbscale {
16122851890Sopenharmony_ci  __le32 min;
16222851890Sopenharmony_ci  __le32 step;
16322851890Sopenharmony_ci  __le32 mute;
16422851890Sopenharmony_ci} __attribute__((packed));
16522851890Sopenharmony_cistruct snd_soc_tplg_ctl_tlv {
16622851890Sopenharmony_ci  __le32 size;
16722851890Sopenharmony_ci  __le32 type;
16822851890Sopenharmony_ci  union {
16922851890Sopenharmony_ci    __le32 data[SND_SOC_TPLG_TLV_SIZE];
17022851890Sopenharmony_ci    struct snd_soc_tplg_tlv_dbscale scale;
17122851890Sopenharmony_ci  };
17222851890Sopenharmony_ci} __attribute__((packed));
17322851890Sopenharmony_cistruct snd_soc_tplg_channel {
17422851890Sopenharmony_ci  __le32 size;
17522851890Sopenharmony_ci  __le32 reg;
17622851890Sopenharmony_ci  __le32 shift;
17722851890Sopenharmony_ci  __le32 id;
17822851890Sopenharmony_ci} __attribute__((packed));
17922851890Sopenharmony_cistruct snd_soc_tplg_io_ops {
18022851890Sopenharmony_ci  __le32 get;
18122851890Sopenharmony_ci  __le32 put;
18222851890Sopenharmony_ci  __le32 info;
18322851890Sopenharmony_ci} __attribute__((packed));
18422851890Sopenharmony_cistruct snd_soc_tplg_ctl_hdr {
18522851890Sopenharmony_ci  __le32 size;
18622851890Sopenharmony_ci  __le32 type;
18722851890Sopenharmony_ci  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
18822851890Sopenharmony_ci  __le32 access;
18922851890Sopenharmony_ci  struct snd_soc_tplg_io_ops ops;
19022851890Sopenharmony_ci  struct snd_soc_tplg_ctl_tlv tlv;
19122851890Sopenharmony_ci} __attribute__((packed));
19222851890Sopenharmony_cistruct snd_soc_tplg_stream_caps {
19322851890Sopenharmony_ci  __le32 size;
19422851890Sopenharmony_ci  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
19522851890Sopenharmony_ci  __le64 formats;
19622851890Sopenharmony_ci  __le32 rates;
19722851890Sopenharmony_ci  __le32 rate_min;
19822851890Sopenharmony_ci  __le32 rate_max;
19922851890Sopenharmony_ci  __le32 channels_min;
20022851890Sopenharmony_ci  __le32 channels_max;
20122851890Sopenharmony_ci  __le32 periods_min;
20222851890Sopenharmony_ci  __le32 periods_max;
20322851890Sopenharmony_ci  __le32 period_size_min;
20422851890Sopenharmony_ci  __le32 period_size_max;
20522851890Sopenharmony_ci  __le32 buffer_size_min;
20622851890Sopenharmony_ci  __le32 buffer_size_max;
20722851890Sopenharmony_ci  __le32 sig_bits;
20822851890Sopenharmony_ci} __attribute__((packed));
20922851890Sopenharmony_cistruct snd_soc_tplg_stream {
21022851890Sopenharmony_ci  __le32 size;
21122851890Sopenharmony_ci  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
21222851890Sopenharmony_ci  __le64 format;
21322851890Sopenharmony_ci  __le32 rate;
21422851890Sopenharmony_ci  __le32 period_bytes;
21522851890Sopenharmony_ci  __le32 buffer_bytes;
21622851890Sopenharmony_ci  __le32 channels;
21722851890Sopenharmony_ci} __attribute__((packed));
21822851890Sopenharmony_cistruct snd_soc_tplg_hw_config {
21922851890Sopenharmony_ci  __le32 size;
22022851890Sopenharmony_ci  __le32 id;
22122851890Sopenharmony_ci  __le32 fmt;
22222851890Sopenharmony_ci  __u8 clock_gated;
22322851890Sopenharmony_ci  __u8 invert_bclk;
22422851890Sopenharmony_ci  __u8 invert_fsync;
22522851890Sopenharmony_ci  __u8 bclk_master;
22622851890Sopenharmony_ci  __u8 fsync_master;
22722851890Sopenharmony_ci  __u8 mclk_direction;
22822851890Sopenharmony_ci  __le16 reserved;
22922851890Sopenharmony_ci  __le32 mclk_rate;
23022851890Sopenharmony_ci  __le32 bclk_rate;
23122851890Sopenharmony_ci  __le32 fsync_rate;
23222851890Sopenharmony_ci  __le32 tdm_slots;
23322851890Sopenharmony_ci  __le32 tdm_slot_width;
23422851890Sopenharmony_ci  __le32 tx_slots;
23522851890Sopenharmony_ci  __le32 rx_slots;
23622851890Sopenharmony_ci  __le32 tx_channels;
23722851890Sopenharmony_ci  __le32 tx_chanmap[SND_SOC_TPLG_MAX_CHAN];
23822851890Sopenharmony_ci  __le32 rx_channels;
23922851890Sopenharmony_ci  __le32 rx_chanmap[SND_SOC_TPLG_MAX_CHAN];
24022851890Sopenharmony_ci} __attribute__((packed));
24122851890Sopenharmony_cistruct snd_soc_tplg_manifest {
24222851890Sopenharmony_ci  __le32 size;
24322851890Sopenharmony_ci  __le32 control_elems;
24422851890Sopenharmony_ci  __le32 widget_elems;
24522851890Sopenharmony_ci  __le32 graph_elems;
24622851890Sopenharmony_ci  __le32 pcm_elems;
24722851890Sopenharmony_ci  __le32 dai_link_elems;
24822851890Sopenharmony_ci  __le32 dai_elems;
24922851890Sopenharmony_ci  __le32 reserved[20];
25022851890Sopenharmony_ci  struct snd_soc_tplg_private priv;
25122851890Sopenharmony_ci} __attribute__((packed));
25222851890Sopenharmony_cistruct snd_soc_tplg_mixer_control {
25322851890Sopenharmony_ci  struct snd_soc_tplg_ctl_hdr hdr;
25422851890Sopenharmony_ci  __le32 size;
25522851890Sopenharmony_ci  __le32 min;
25622851890Sopenharmony_ci  __le32 max;
25722851890Sopenharmony_ci  __le32 platform_max;
25822851890Sopenharmony_ci  __le32 invert;
25922851890Sopenharmony_ci  __le32 num_channels;
26022851890Sopenharmony_ci  struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];
26122851890Sopenharmony_ci  struct snd_soc_tplg_private priv;
26222851890Sopenharmony_ci} __attribute__((packed));
26322851890Sopenharmony_cistruct snd_soc_tplg_enum_control {
26422851890Sopenharmony_ci  struct snd_soc_tplg_ctl_hdr hdr;
26522851890Sopenharmony_ci  __le32 size;
26622851890Sopenharmony_ci  __le32 num_channels;
26722851890Sopenharmony_ci  struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];
26822851890Sopenharmony_ci  __le32 items;
26922851890Sopenharmony_ci  __le32 mask;
27022851890Sopenharmony_ci  __le32 count;
27122851890Sopenharmony_ci  char texts[SND_SOC_TPLG_NUM_TEXTS][SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
27222851890Sopenharmony_ci  __le32 values[SND_SOC_TPLG_NUM_TEXTS * SNDRV_CTL_ELEM_ID_NAME_MAXLEN / 4];
27322851890Sopenharmony_ci  struct snd_soc_tplg_private priv;
27422851890Sopenharmony_ci} __attribute__((packed));
27522851890Sopenharmony_cistruct snd_soc_tplg_bytes_control {
27622851890Sopenharmony_ci  struct snd_soc_tplg_ctl_hdr hdr;
27722851890Sopenharmony_ci  __le32 size;
27822851890Sopenharmony_ci  __le32 max;
27922851890Sopenharmony_ci  __le32 mask;
28022851890Sopenharmony_ci  __le32 base;
28122851890Sopenharmony_ci  __le32 num_regs;
28222851890Sopenharmony_ci  struct snd_soc_tplg_io_ops ext_ops;
28322851890Sopenharmony_ci  struct snd_soc_tplg_private priv;
28422851890Sopenharmony_ci} __attribute__((packed));
28522851890Sopenharmony_cistruct snd_soc_tplg_dapm_graph_elem {
28622851890Sopenharmony_ci  char sink[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
28722851890Sopenharmony_ci  char control[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
28822851890Sopenharmony_ci  char source[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
28922851890Sopenharmony_ci} __attribute__((packed));
29022851890Sopenharmony_cistruct snd_soc_tplg_dapm_widget {
29122851890Sopenharmony_ci  __le32 size;
29222851890Sopenharmony_ci  __le32 id;
29322851890Sopenharmony_ci  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
29422851890Sopenharmony_ci  char sname[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
29522851890Sopenharmony_ci  __le32 reg;
29622851890Sopenharmony_ci  __le32 shift;
29722851890Sopenharmony_ci  __le32 mask;
29822851890Sopenharmony_ci  __le32 subseq;
29922851890Sopenharmony_ci  __le32 invert;
30022851890Sopenharmony_ci  __le32 ignore_suspend;
30122851890Sopenharmony_ci  __le16 event_flags;
30222851890Sopenharmony_ci  __le16 event_type;
30322851890Sopenharmony_ci  __le32 num_kcontrols;
30422851890Sopenharmony_ci  struct snd_soc_tplg_private priv;
30522851890Sopenharmony_ci} __attribute__((packed));
30622851890Sopenharmony_cistruct snd_soc_tplg_pcm {
30722851890Sopenharmony_ci  __le32 size;
30822851890Sopenharmony_ci  char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
30922851890Sopenharmony_ci  char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
31022851890Sopenharmony_ci  __le32 pcm_id;
31122851890Sopenharmony_ci  __le32 dai_id;
31222851890Sopenharmony_ci  __le32 playback;
31322851890Sopenharmony_ci  __le32 capture;
31422851890Sopenharmony_ci  __le32 compress;
31522851890Sopenharmony_ci  struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
31622851890Sopenharmony_ci  __le32 num_streams;
31722851890Sopenharmony_ci  struct snd_soc_tplg_stream_caps caps[2];
31822851890Sopenharmony_ci  __le32 flag_mask;
31922851890Sopenharmony_ci  __le32 flags;
32022851890Sopenharmony_ci  struct snd_soc_tplg_private priv;
32122851890Sopenharmony_ci} __attribute__((packed));
32222851890Sopenharmony_cistruct snd_soc_tplg_link_config {
32322851890Sopenharmony_ci  __le32 size;
32422851890Sopenharmony_ci  __le32 id;
32522851890Sopenharmony_ci  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
32622851890Sopenharmony_ci  char stream_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
32722851890Sopenharmony_ci  struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
32822851890Sopenharmony_ci  __le32 num_streams;
32922851890Sopenharmony_ci  struct snd_soc_tplg_hw_config hw_config[SND_SOC_TPLG_HW_CONFIG_MAX];
33022851890Sopenharmony_ci  __le32 num_hw_configs;
33122851890Sopenharmony_ci  __le32 default_hw_config_id;
33222851890Sopenharmony_ci  __le32 flag_mask;
33322851890Sopenharmony_ci  __le32 flags;
33422851890Sopenharmony_ci  struct snd_soc_tplg_private priv;
33522851890Sopenharmony_ci} __attribute__((packed));
33622851890Sopenharmony_cistruct snd_soc_tplg_dai {
33722851890Sopenharmony_ci  __le32 size;
33822851890Sopenharmony_ci  char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
33922851890Sopenharmony_ci  __le32 dai_id;
34022851890Sopenharmony_ci  __le32 playback;
34122851890Sopenharmony_ci  __le32 capture;
34222851890Sopenharmony_ci  struct snd_soc_tplg_stream_caps caps[2];
34322851890Sopenharmony_ci  __le32 flag_mask;
34422851890Sopenharmony_ci  __le32 flags;
34522851890Sopenharmony_ci  struct snd_soc_tplg_private priv;
34622851890Sopenharmony_ci} __attribute__((packed));
34722851890Sopenharmony_cistruct snd_soc_tplg_manifest_v4 {
34822851890Sopenharmony_ci  __le32 size;
34922851890Sopenharmony_ci  __le32 control_elems;
35022851890Sopenharmony_ci  __le32 widget_elems;
35122851890Sopenharmony_ci  __le32 graph_elems;
35222851890Sopenharmony_ci  __le32 pcm_elems;
35322851890Sopenharmony_ci  __le32 dai_link_elems;
35422851890Sopenharmony_ci  struct snd_soc_tplg_private priv;
35522851890Sopenharmony_ci} __packed;
35622851890Sopenharmony_cistruct snd_soc_tplg_stream_caps_v4 {
35722851890Sopenharmony_ci  __le32 size;
35822851890Sopenharmony_ci  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
35922851890Sopenharmony_ci  __le64 formats;
36022851890Sopenharmony_ci  __le32 rates;
36122851890Sopenharmony_ci  __le32 rate_min;
36222851890Sopenharmony_ci  __le32 rate_max;
36322851890Sopenharmony_ci  __le32 channels_min;
36422851890Sopenharmony_ci  __le32 channels_max;
36522851890Sopenharmony_ci  __le32 periods_min;
36622851890Sopenharmony_ci  __le32 periods_max;
36722851890Sopenharmony_ci  __le32 period_size_min;
36822851890Sopenharmony_ci  __le32 period_size_max;
36922851890Sopenharmony_ci  __le32 buffer_size_min;
37022851890Sopenharmony_ci  __le32 buffer_size_max;
37122851890Sopenharmony_ci} __packed;
37222851890Sopenharmony_cistruct snd_soc_tplg_pcm_v4 {
37322851890Sopenharmony_ci  __le32 size;
37422851890Sopenharmony_ci  char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
37522851890Sopenharmony_ci  char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
37622851890Sopenharmony_ci  __le32 pcm_id;
37722851890Sopenharmony_ci  __le32 dai_id;
37822851890Sopenharmony_ci  __le32 playback;
37922851890Sopenharmony_ci  __le32 capture;
38022851890Sopenharmony_ci  __le32 compress;
38122851890Sopenharmony_ci  struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
38222851890Sopenharmony_ci  __le32 num_streams;
38322851890Sopenharmony_ci  struct snd_soc_tplg_stream_caps_v4 caps[2];
38422851890Sopenharmony_ci} __packed;
38522851890Sopenharmony_cistruct snd_soc_tplg_link_config_v4 {
38622851890Sopenharmony_ci  __le32 size;
38722851890Sopenharmony_ci  __le32 id;
38822851890Sopenharmony_ci  struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
38922851890Sopenharmony_ci  __le32 num_streams;
39022851890Sopenharmony_ci} __packed;
39122851890Sopenharmony_ci#endif
392