• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * tegra_asoc_utils.h - Definitions for Tegra DAS driver
4  *
5  * Author: Stephen Warren <swarren@nvidia.com>
6  * Copyright (C) 2010,2012 - NVIDIA, Inc.
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
40