diff options
author | Sumit Bhattacharya <sumitb@nvidia.com> | 2011-02-21 16:05:21 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-02-22 18:09:04 -0800 |
commit | e74baeb904c579cc8fff2d7fa12cd4a6d83a2708 (patch) | |
tree | c4e4f6073eb6f2fcfd993e85a87dea1f24d895a3 /arch/arm/mach-tegra/include/mach | |
parent | 98d54eb3423b961039d7db01889f5c57d9128d76 (diff) |
[ARM] tegra: i2s and das suspend/resume
Add APIs in das driver to get and set das register values.
ALSA driver will be using these APIs to cache das register
values during system suspend resume.
In i2s register get/set APIs caching few more registers.
Bug 789967
Bug 792879
Change-Id: Iaa4487cb003d2f75d5c54f450f17833c7af96cf2
Reviewed-on: http://git-master/r/20291
Tested-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-by: Vijay Mali <vmali@nvidia.com>
Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Scott Peterson <speterson@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/include/mach')
-rw-r--r-- | arch/arm/mach-tegra/include/mach/tegra2_i2s.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-tegra/include/mach/tegra_das.h | 20 |
2 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/include/mach/tegra2_i2s.h b/arch/arm/mach-tegra/include/mach/tegra2_i2s.h index 46846c1ef834..12a757139af7 100644 --- a/arch/arm/mach-tegra/include/mach/tegra2_i2s.h +++ b/arch/arm/mach-tegra/include/mach/tegra2_i2s.h @@ -265,6 +265,10 @@ struct i2s_runtime_data { int i2s_status_0; int i2s_timing_0; int i2s__fifo_scr_0; + int i2s_pcm_ctrl_0; + int i2s_nw_ctrl_0; + int i2s_tdm_ctrl_0; + int i2s_tdm_tx_rx_ctrl_0; int i2s_fifo1_0; int i2s_fifo2_0; }; diff --git a/arch/arm/mach-tegra/include/mach/tegra_das.h b/arch/arm/mach-tegra/include/mach/tegra_das.h index e3e29b044f8d..cba71ff38e18 100644 --- a/arch/arm/mach-tegra/include/mach/tegra_das.h +++ b/arch/arm/mach-tegra/include/mach/tegra_das.h @@ -204,6 +204,17 @@ struct tegra_das_mux_select { u32 mux_value; }; +struct das_regs_cache { + u32 das_dap_ctrl_0; + u32 das_dap_ctrl_1; + u32 das_dap_ctrl_2; + u32 das_dap_ctrl_3; + u32 das_dap_ctrl_4; + u32 das_dac_input_data_clk_0; + u32 das_dac_input_data_clk_1; + u32 das_dac_input_data_clk_2; +}; + int tegra_das_open(void); @@ -227,5 +238,14 @@ int tegra_das_get_connection(void); */ int tegra_das_power_mode(bool is_normal); +/* + * Function to get the content of all the das registers + */ +void tegra_das_get_all_regs(struct das_regs_cache* regs); + +/* + * Function to set values in all the das registers + */ +void tegra_das_set_all_regs(struct das_regs_cache* regs); #endif |