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