diff options
author | Nikesh Oswal <noswal@nvidia.com> | 2011-12-13 15:10:28 +0530 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2011-12-15 12:11:53 +0530 |
commit | c7eca96f46f1162893f1031d406e22d2e20b061a (patch) | |
tree | e4b48cbea1c90cf2235f5b93f72823be03e51872 /sound/soc/tegra/tegra20_i2s.h | |
parent | e3794ce5d5d055f9e7939874297e0fe12e41e619 (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.h | 9 |
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 |