linux/sound/soc/meson/meson-card.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * Copyright (c) 2020 BayLibre, SAS.
   4 * Author: Jerome Brunet <jbrunet@baylibre.com>
   5 */
   6
   7#ifndef _MESON_SND_CARD_H
   8#define _MESON_SND_CARD_H
   9
  10struct device_node;
  11struct platform_device;
  12
  13struct snd_soc_card;
  14struct snd_pcm_substream;
  15struct snd_pcm_hw_params;
  16
  17#define DT_PREFIX "amlogic,"
  18
  19struct meson_card_match_data {
  20        int (*add_link)(struct snd_soc_card *card,
  21                        struct device_node *node,
  22                        int *index);
  23};
  24
  25struct meson_card {
  26        const struct meson_card_match_data *match_data;
  27        struct snd_soc_card card;
  28        void **link_data;
  29};
  30
  31unsigned int meson_card_parse_daifmt(struct device_node *node,
  32                                     struct device_node *cpu_node);
  33
  34int meson_card_i2s_set_sysclk(struct snd_pcm_substream *substream,
  35                              struct snd_pcm_hw_params *params,
  36                              unsigned int mclk_fs);
  37
  38int meson_card_reallocate_links(struct snd_soc_card *card,
  39                                unsigned int num_links);
  40int meson_card_parse_dai(struct snd_soc_card *card,
  41                         struct device_node *node,
  42                         struct device_node **dai_of_node,
  43                         const char **dai_name);
  44int meson_card_set_be_link(struct snd_soc_card *card,
  45                           struct snd_soc_dai_link *link,
  46                           struct device_node *node);
  47int meson_card_set_fe_link(struct snd_soc_card *card,
  48                           struct snd_soc_dai_link *link,
  49                           struct device_node *node,
  50                           bool is_playback);
  51
  52int meson_card_probe(struct platform_device *pdev);
  53int meson_card_remove(struct platform_device *pdev);
  54
  55#endif /* _MESON_SND_CARD_H */
  56