2011-01-07 22:36:15 -07:00
/*
* tegra_asoc_utils . h - Definitions for Tegra DAS driver
*
* Author : Stephen Warren < swarren @ nvidia . com >
2012-04-06 11:15:55 -06:00
* Copyright ( C ) 2010 , 2012 - NVIDIA , Inc .
2011-01-07 22:36:15 -07:00
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation .
*
* This program is distributed in the hope that it will be useful , but
* WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin St , Fifth Floor , Boston , MA
* 02110 - 1301 USA
*
*/
# ifndef __TEGRA_ASOC_UTILS_H__
# define __TEGRA_ASOC_UTILS_H_
2011-01-28 14:26:40 -07:00
struct clk ;
struct device ;
2012-04-06 11:15:55 -06:00
enum tegra_asoc_utils_soc {
TEGRA_ASOC_UTILS_SOC_TEGRA20 ,
TEGRA_ASOC_UTILS_SOC_TEGRA30 ,
2013-03-21 13:56:42 -06:00
TEGRA_ASOC_UTILS_SOC_TEGRA114 ,
2013-10-11 15:43:17 -06:00
TEGRA_ASOC_UTILS_SOC_TEGRA124 ,
2012-04-06 11:15:55 -06:00
} ;
2011-01-28 14:26:40 -07:00
struct tegra_asoc_utils_data {
struct device * dev ;
2012-04-06 11:15:55 -06:00
enum tegra_asoc_utils_soc soc ;
2011-01-28 14:26:40 -07:00
struct clk * clk_pll_a ;
struct clk * clk_pll_a_out0 ;
struct clk * clk_cdev1 ;
int set_baseclock ;
int set_mclk ;
} ;
int tegra_asoc_utils_set_rate ( struct tegra_asoc_utils_data * data , int srate ,
2011-04-19 15:25:09 -06:00
int mclk ) ;
2012-12-20 00:17:33 +01:00
int tegra_asoc_utils_set_ac97_rate ( struct tegra_asoc_utils_data * data ) ;
2011-01-28 14:26:40 -07:00
int tegra_asoc_utils_init ( struct tegra_asoc_utils_data * data ,
struct device * dev ) ;
void tegra_asoc_utils_fini ( struct tegra_asoc_utils_data * data ) ;
2011-01-07 22:36:15 -07:00
# endif