|
@@ -573,4 +573,61 @@ struct snd_soc_tplg_dai {
|
|
|
__le32 flags; /* SND_SOC_TPLG_DAI_FLGBIT_* */
|
|
|
struct snd_soc_tplg_private priv;
|
|
|
} __attribute__((packed));
|
|
|
+
|
|
|
+/*
|
|
|
+ * Old version of ABI structs, supported for backward compatibility.
|
|
|
+ */
|
|
|
+
|
|
|
+/* Manifest v4 */
|
|
|
+struct snd_soc_tplg_manifest_v4 {
|
|
|
+ __le32 size; /* in bytes of this structure */
|
|
|
+ __le32 control_elems; /* number of control elements */
|
|
|
+ __le32 widget_elems; /* number of widget elements */
|
|
|
+ __le32 graph_elems; /* number of graph elements */
|
|
|
+ __le32 pcm_elems; /* number of PCM elements */
|
|
|
+ __le32 dai_link_elems; /* number of DAI link elements */
|
|
|
+ struct snd_soc_tplg_private priv;
|
|
|
+} __packed;
|
|
|
+
|
|
|
+/* Stream Capabilities v4 */
|
|
|
+struct snd_soc_tplg_stream_caps_v4 {
|
|
|
+ __le32 size; /* in bytes of this structure */
|
|
|
+ char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
|
|
|
+ __le64 formats; /* supported formats SNDRV_PCM_FMTBIT_* */
|
|
|
+ __le32 rates; /* supported rates SNDRV_PCM_RATE_* */
|
|
|
+ __le32 rate_min; /* min rate */
|
|
|
+ __le32 rate_max; /* max rate */
|
|
|
+ __le32 channels_min; /* min channels */
|
|
|
+ __le32 channels_max; /* max channels */
|
|
|
+ __le32 periods_min; /* min number of periods */
|
|
|
+ __le32 periods_max; /* max number of periods */
|
|
|
+ __le32 period_size_min; /* min period size bytes */
|
|
|
+ __le32 period_size_max; /* max period size bytes */
|
|
|
+ __le32 buffer_size_min; /* min buffer size bytes */
|
|
|
+ __le32 buffer_size_max; /* max buffer size bytes */
|
|
|
+} __packed;
|
|
|
+
|
|
|
+/* PCM v4 */
|
|
|
+struct snd_soc_tplg_pcm_v4 {
|
|
|
+ __le32 size; /* in bytes of this structure */
|
|
|
+ char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
|
|
|
+ char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
|
|
|
+ __le32 pcm_id; /* unique ID - used to match with DAI link */
|
|
|
+ __le32 dai_id; /* unique ID - used to match */
|
|
|
+ __le32 playback; /* supports playback mode */
|
|
|
+ __le32 capture; /* supports capture mode */
|
|
|
+ __le32 compress; /* 1 = compressed; 0 = PCM */
|
|
|
+ struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* for DAI link */
|
|
|
+ __le32 num_streams; /* number of streams */
|
|
|
+ struct snd_soc_tplg_stream_caps_v4 caps[2]; /* playback and capture for DAI */
|
|
|
+} __packed;
|
|
|
+
|
|
|
+/* Physical link config v4 */
|
|
|
+struct snd_soc_tplg_link_config_v4 {
|
|
|
+ __le32 size; /* in bytes of this structure */
|
|
|
+ __le32 id; /* unique ID - used to match */
|
|
|
+ struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */
|
|
|
+ __le32 num_streams; /* number of streams */
|
|
|
+} __packed;
|
|
|
+
|
|
|
#endif
|