summaryrefslogtreecommitdiff
path: root/sound/soc/tegra/tegra30_i2s.h
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2013-10-12 01:43:17 +0400
committerMark Brown <broonie@linaro.org>2013-10-14 17:56:27 +0400
commit5e049fce368dfe07702c3664add9ae7b45df1a9a (patch)
treea3e361dd4f1183b4977129cf571d34ea229245ce /sound/soc/tegra/tegra30_i2s.h
parent61e6cfa80de5760bbe406f4e815b7739205754d2 (diff)
downloadlinux-5e049fce368dfe07702c3664add9ae7b45df1a9a.tar.xz
ASoC: tegra: support new register layouts in Tegra124
Tegra124 introduces some small changes to the layout of some registers. Modify the affected drivers to program those registers appropriately based on which SoC they're running on. Tegra124 also introduced some new modules on the AHUB configlink register bus. These will require new entries in configlink_clocks[] in the AHUB driver. However, supporting that change likely relies on switching Tegra to the common reset framework, so I'll defer that change for now. Based-on-work-by: Arun Shamanna Lakshmi <aruns@nvidia.com> Based-on-work-by: Songhee Baek <sbaek@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/tegra/tegra30_i2s.h')
-rw-r--r--sound/soc/tegra/tegra30_i2s.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/soc/tegra/tegra30_i2s.h b/sound/soc/tegra/tegra30_i2s.h
index bea23afe3b9f..4d0b0a30dbfb 100644
--- a/sound/soc/tegra/tegra30_i2s.h
+++ b/sound/soc/tegra/tegra30_i2s.h
@@ -225,7 +225,14 @@
#define TEGRA30_I2S_LCOEF_COEF_MASK_US 0xffff
#define TEGRA30_I2S_LCOEF_COEF_MASK (TEGRA30_I2S_LCOEF_COEF_MASK_US << TEGRA30_I2S_LCOEF_COEF_SHIFT)
+struct tegra30_i2s_soc_data {
+ void (*set_audio_cif)(struct regmap *regmap,
+ unsigned int reg,
+ struct tegra30_ahub_cif_conf *conf);
+};
+
struct tegra30_i2s {
+ const struct tegra30_i2s_soc_data *soc_data;
struct snd_soc_dai_driver dai;
int cif_id;
struct clk *clk_i2s;