brintos

brintos / linux-shallow public Read only

0
0
Text · 1.4 KiB · a0d693e Raw
55 lines · c
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_H8#define _MESON_SND_CARD_H9 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 snd_soc_dai_link_component *dlc);43int meson_card_set_be_link(struct snd_soc_card *card,44			   struct snd_soc_dai_link *link,45			   struct device_node *node);46int meson_card_set_fe_link(struct snd_soc_card *card,47			   struct snd_soc_dai_link *link,48			   struct device_node *node,49			   bool is_playback);50 51int meson_card_probe(struct platform_device *pdev);52void meson_card_remove(struct platform_device *pdev);53 54#endif /* _MESON_SND_CARD_H */55