summaryrefslogtreecommitdiff
path: root/sound/soc/tegra/tegra20_i2s.h
diff options
context:
space:
mode:
authorNikesh Oswal <noswal@nvidia.com>2011-12-13 15:10:28 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-15 12:11:53 +0530
commitc7eca96f46f1162893f1031d406e22d2e20b061a (patch)
treee4b48cbea1c90cf2235f5b93f72823be03e51872 /sound/soc/tegra/tegra20_i2s.h
parente3794ce5d5d055f9e7939874297e0fe12e41e619 (diff)
asoc: tegra: restore i2s/das/spdif registers after suspend for t20
when system resumes from suspend state the i2s/das/spdif registers have power on reset values, this change restores the registers with their prior values from cache Bug: 904530 Change-Id: I35c14d95d2d6bf5bc116a1a80e21f4904c8969e5 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/69715 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
Diffstat (limited to 'sound/soc/tegra/tegra20_i2s.h')
-rw-r--r--sound/soc/tegra/tegra20_i2s.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/soc/tegra/tegra20_i2s.h b/sound/soc/tegra/tegra20_i2s.h
index b2d3ef710599..ded0c8dee023 100644
--- a/sound/soc/tegra/tegra20_i2s.h
+++ b/sound/soc/tegra/tegra20_i2s.h
@@ -177,6 +177,12 @@
#define TEGRA20_I2S_PCM_CTRL_RCV_MODE_EN (1 << 0)
+#ifdef CONFIG_PM
+/* unused cache locations for i2s reg cache */
+#define TEGRA20_I2S_CACHE_RSVD_6 ((TEGRA20_I2S_NW_CTRL>>2) + 1)
+#define TEGRA20_I2S_CACHE_RSVD_7 (TEGRA20_I2S_CACHE_RSVD_6 + 1)
+#endif
+
struct tegra20_i2s {
struct clk *clk_i2s;
struct tegra_pcm_dma_params capture_dma_data;
@@ -184,6 +190,9 @@ struct tegra20_i2s {
void __iomem *regs;
struct dentry *debug;
u32 reg_ctrl;
+#ifdef CONFIG_PM
+ u32 reg_cache[(TEGRA20_I2S_TDM_TX_RX_CTRL >> 2) + 1];
+#endif
};
#endif