162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci *
362306a36Sopenharmony_ci * Copyright (c) 2018 Baylibre SAS.
462306a36Sopenharmony_ci * Author: Jerome Brunet <jbrunet@baylibre.com>
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#ifndef _MESON_CODEC_GLUE_H
862306a36Sopenharmony_ci#define _MESON_CODEC_GLUE_H
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#include <sound/soc.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cistruct meson_codec_glue_input {
1362306a36Sopenharmony_ci	struct snd_soc_pcm_stream params;
1462306a36Sopenharmony_ci	unsigned int fmt;
1562306a36Sopenharmony_ci};
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci/* Input helpers */
1862306a36Sopenharmony_cistruct meson_codec_glue_input *
1962306a36Sopenharmony_cimeson_codec_glue_input_get_data(struct snd_soc_dai *dai);
2062306a36Sopenharmony_ciint meson_codec_glue_input_hw_params(struct snd_pcm_substream *substream,
2162306a36Sopenharmony_ci				     struct snd_pcm_hw_params *params,
2262306a36Sopenharmony_ci				     struct snd_soc_dai *dai);
2362306a36Sopenharmony_ciint meson_codec_glue_input_set_fmt(struct snd_soc_dai *dai,
2462306a36Sopenharmony_ci				   unsigned int fmt);
2562306a36Sopenharmony_ciint meson_codec_glue_input_dai_probe(struct snd_soc_dai *dai);
2662306a36Sopenharmony_ciint meson_codec_glue_input_dai_remove(struct snd_soc_dai *dai);
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci/* Output helpers */
2962306a36Sopenharmony_ciint meson_codec_glue_output_startup(struct snd_pcm_substream *substream,
3062306a36Sopenharmony_ci				    struct snd_soc_dai *dai);
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci#endif /* _MESON_CODEC_GLUE_H */
33