19c29fd9bSJerome Brunet /* SPDX-License-Identifier: GPL-2.0 29c29fd9bSJerome Brunet * 39c29fd9bSJerome Brunet * Copyright (c) 2018 Baylibre SAS. 49c29fd9bSJerome Brunet * Author: Jerome Brunet <jbrunet@baylibre.com> 59c29fd9bSJerome Brunet */ 69c29fd9bSJerome Brunet 79c29fd9bSJerome Brunet #ifndef _MESON_CODEC_GLUE_H 89c29fd9bSJerome Brunet #define _MESON_CODEC_GLUE_H 99c29fd9bSJerome Brunet 109c29fd9bSJerome Brunet #include <sound/soc.h> 119c29fd9bSJerome Brunet 129c29fd9bSJerome Brunet struct meson_codec_glue_input { 139c29fd9bSJerome Brunet struct snd_soc_pcm_stream params; 149c29fd9bSJerome Brunet unsigned int fmt; 159c29fd9bSJerome Brunet }; 169c29fd9bSJerome Brunet 179c29fd9bSJerome Brunet /* Input helpers */ 189c29fd9bSJerome Brunet struct meson_codec_glue_input * 199c29fd9bSJerome Brunet meson_codec_glue_input_get_data(struct snd_soc_dai *dai); 209c29fd9bSJerome Brunet int meson_codec_glue_input_hw_params(struct snd_pcm_substream *substream, 219c29fd9bSJerome Brunet struct snd_pcm_hw_params *params, 229c29fd9bSJerome Brunet struct snd_soc_dai *dai); 239c29fd9bSJerome Brunet int meson_codec_glue_input_set_fmt(struct snd_soc_dai *dai, 249c29fd9bSJerome Brunet unsigned int fmt); 259c29fd9bSJerome Brunet int meson_codec_glue_input_dai_probe(struct snd_soc_dai *dai); 269c29fd9bSJerome Brunet int meson_codec_glue_input_dai_remove(struct snd_soc_dai *dai); 279c29fd9bSJerome Brunet 289c29fd9bSJerome Brunet /* Output helpers */ 299c29fd9bSJerome Brunet int meson_codec_glue_output_startup(struct snd_pcm_substream *substream, 309c29fd9bSJerome Brunet struct snd_soc_dai *dai); 319c29fd9bSJerome Brunet 329c29fd9bSJerome Brunet #endif /* _MESON_CODEC_GLUE_H */ 33