diff options
author | Manjula Gupta <magupta@nvidia.com> | 2011-05-05 19:34:33 +0530 |
---|---|---|
committer | Niket Sirsi <nsirsi@nvidia.com> | 2011-06-24 21:10:56 -0700 |
commit | eae692e49952dd102ffc24842bc0a6617de20847 (patch) | |
tree | bb7f0e12de5f74662f3f6da136ef21a23eaff624 /arch | |
parent | b5c32cddbe8cc30303062609a9dec4320cd4087b (diff) |
ARM: tegra: Adds an API to dump spdif registers.
Reviewed-on: http://git-master/r/30512
(cherry picked from commit 52e7d11bc42abb7643191bccf55fc9fc66b640d2)
Change-Id: I35c6e91dc943637fdebb0db1a633c5bc1c39727f
Reviewed-on: http://git-master/r/31112
Tested-by: Manjula Gupta <magupta@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/include/mach/spdif.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-tegra/spdif.c | 30 |
2 files changed, 31 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/include/mach/spdif.h b/arch/arm/mach-tegra/include/mach/spdif.h index a41a3d76ea31..db8be466aeb2 100644 --- a/arch/arm/mach-tegra/include/mach/spdif.h +++ b/arch/arm/mach-tegra/include/mach/spdif.h @@ -533,8 +533,7 @@ u32 spdif_get_fifo_scr(int ifc); u32 spdif_get_fifo_full_empty_count(int ifc, int mode); int spdif_initialize(unsigned long base, int mode); -void spdif_get_all_regs(unsigned long base, struct spdif_regs_cache* regs); -void spdif_set_all_regs(unsigned long base, struct spdif_regs_cache* regs); +void spdif_dump_registers(unsigned long base); int spdif_init(unsigned long base, phys_addr_t phy_base, int mode, struct tegra_spdif_property* pspdifprop); diff --git a/arch/arm/mach-tegra/spdif.c b/arch/arm/mach-tegra/spdif.c index 9fa736546cbc..ff31e30bad9a 100644 --- a/arch/arm/mach-tegra/spdif.c +++ b/arch/arm/mach-tegra/spdif.c @@ -540,6 +540,36 @@ int spdif_set_fifo_attention(int ifc, int fifo_mode, int buffersize) return 0; } +void spdif_dump_registers(unsigned long base) +{ + struct spdif_regs_cache *regs = + (struct spdif_regs_cache *) spinfo->reg_cache; + + spdif_save_regs(base); + + pr_info("CTRL %08x\n", regs->spdif_ctrl_0); + pr_info("STATUS %08x\n", regs->spdif_status_0); + pr_info("STROBE_CTRL %08x\n", regs->spdif_strobe_ctrl_0); + pr_info("FIFO_CSR %08x\n", regs->spdif_data_fifo_scr_0); + pr_info("CH_STA_RX_A %08x\n", regs->spdif_ch_sta_rx_a_0); + pr_info("CH_STA_RX_B %08x\n", regs->spdif_ch_sta_rx_b_0); + pr_info("CH_STA_RX_C %08x\n", regs->spdif_ch_sta_rx_c_0); + pr_info("CH_STA_RX_D %08x\n", regs->spdif_ch_sta_rx_d_0); + pr_info("CH_STA_RX_E %08x\n", regs->spdif_ch_sta_rx_e_0); + pr_info("CH_STA_RX_F %08x\n", regs->spdif_ch_sta_rx_f_0); + pr_info("CH_STA_TX_A %08x\n", regs->spdif_ch_sta_tx_a_0); + pr_info("CH_STA_TX_B %08x\n", regs->spdif_ch_sta_tx_b_0); + pr_info("CH_STA_TX_C %08x\n", regs->spdif_ch_sta_tx_c_0); + pr_info("CH_STA_TX_D %08x\n", regs->spdif_ch_sta_tx_d_0); + pr_info("CH_STA_TX_E %08x\n", regs->spdif_ch_sta_tx_e_0); + pr_info("CH_STA_TX_F %08x\n", regs->spdif_ch_sta_tx_f_0); + pr_info("USR_STA_RX_A %08x\n", regs->spdif_usr_sta_rx_a_0); + pr_info("USR_DAT_TX_A %08x\n", regs->spdif_usr_dat_tx_a_0); + + pr_info("%s: End.\n", __func__); + +} + void spdif_save_regs(unsigned long base) { struct spdif_regs_cache *regs = |