| 
									
										
										
										
											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__
 | 
					
						
							| 
									
										
										
										
											2014-08-22 11:27:07 +02:00
										 |  |  | #define __TEGRA_ASOC_UTILS_H__
 | 
					
						
							| 
									
										
										
										
											2011-01-07 22:36:15 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											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
 |