1
2
3
4
5
6
7
8
9 #ifndef __TEGRA_ASOC_UTILS_H__
10 #define __TEGRA_ASOC_UTILS_H__
11
12 struct clk;
13 struct device;
14
15 enum tegra_asoc_utils_soc {
16 TEGRA_ASOC_UTILS_SOC_TEGRA20,
17 TEGRA_ASOC_UTILS_SOC_TEGRA30,
18 TEGRA_ASOC_UTILS_SOC_TEGRA114,
19 TEGRA_ASOC_UTILS_SOC_TEGRA124,
20 };
21
22 struct tegra_asoc_utils_data {
23 struct device *dev;
24 enum tegra_asoc_utils_soc soc;
25 struct clk *clk_pll_a;
26 struct clk *clk_pll_a_out0;
27 struct clk *clk_cdev1;
28 int set_baseclock;
29 int set_mclk;
30 };
31
32 int tegra_asoc_utils_set_rate(struct tegra_asoc_utils_data *data, int srate,
33 int mclk);
34 int tegra_asoc_utils_set_ac97_rate(struct tegra_asoc_utils_data *data);
35 int tegra_asoc_utils_init(struct tegra_asoc_utils_data *data,
36 struct device *dev);
37 void tegra_asoc_utils_fini(struct tegra_asoc_utils_data *data);
38
39 #endif