]>
Commit | Line | Data |
---|---|---|
aa9c3b72 JB |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* | |
3 | * Copyright (c) 2020 BayLibre, SAS. | |
4 | * Author: Jerome Brunet <[email protected]> | |
5 | */ | |
6 | ||
7 | #ifndef _MESON_SND_CARD_H | |
8 | #define _MESON_SND_CARD_H | |
9 | ||
10 | struct device_node; | |
11 | struct platform_device; | |
12 | ||
13 | struct snd_soc_card; | |
14 | struct snd_pcm_substream; | |
15 | struct snd_pcm_hw_params; | |
16 | ||
17 | #define DT_PREFIX "amlogic," | |
18 | ||
19 | struct meson_card_match_data { | |
20 | int (*add_link)(struct snd_soc_card *card, | |
21 | struct device_node *node, | |
22 | int *index); | |
23 | }; | |
24 | ||
25 | struct meson_card { | |
26 | const struct meson_card_match_data *match_data; | |
27 | struct snd_soc_card card; | |
28 | void **link_data; | |
29 | }; | |
30 | ||
31 | unsigned int meson_card_parse_daifmt(struct device_node *node, | |
32 | struct device_node *cpu_node); | |
33 | ||
34 | int meson_card_i2s_set_sysclk(struct snd_pcm_substream *substream, | |
35 | struct snd_pcm_hw_params *params, | |
36 | unsigned int mclk_fs); | |
37 | ||
38 | int meson_card_reallocate_links(struct snd_soc_card *card, | |
39 | unsigned int num_links); | |
40 | int 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); | |
44 | int meson_card_set_be_link(struct snd_soc_card *card, | |
45 | struct snd_soc_dai_link *link, | |
46 | struct device_node *node); | |
47 | int 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 | ||
52 | int meson_card_probe(struct platform_device *pdev); | |
53 | int meson_card_remove(struct platform_device *pdev); | |
54 | ||
55 | #endif /* _MESON_SND_CARD_H */ |