summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/spdif.c
diff options
context:
space:
mode:
authorVinod G <vinodg@nvidia.com>2011-05-02 15:17:19 -0700
committerVarun Colbert <vcolbert@nvidia.com>2011-05-13 18:38:17 -0700
commit0e3f21cb8aaae12171a908426a9c3487dce4da18 (patch)
treefdb02c6e5aa4ad9da9f09ffb70ed7f5c2bddef72 /arch/arm/mach-tegra/spdif.c
parent64e1800300d6394363e6509cfdf4edc7f766c9e6 (diff)
arm: tegra: Exposing more i2s port for Baseband.
Exposed the baseband i2s port for cardhu. Added separate audio init function. Change-Id: I9ff38f101c5540ad6e2365ed93a8c88373164ea3 Reviewed-on: http://git-master/r/30087 Reviewed-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com> Tested-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/spdif.c')
-rw-r--r--arch/arm/mach-tegra/spdif.c47
1 files changed, 3 insertions, 44 deletions
diff --git a/arch/arm/mach-tegra/spdif.c b/arch/arm/mach-tegra/spdif.c
index df2600cb556c..972ca2bc8e06 100644
--- a/arch/arm/mach-tegra/spdif.c
+++ b/arch/arm/mach-tegra/spdif.c
@@ -573,50 +573,6 @@ void spdif_restore_regs(unsigned long base)
spdif_writel(base, regs->spdif_usr_sta_rx_a_0, SPDIF_USR_STA_RX_A_0);
spdif_writel(base, regs->spdif_usr_dat_tx_a_0, SPDIF_USR_DAT_TX_A_0);
}
-
-void spdif_get_all_regs(unsigned long base, struct spdif_regs_cache* regs)
-{
- regs->spdif_ctrl_0 = spdif_readl(base, SPDIF_CTRL_0);
- regs->spdif_status_0 = spdif_readl(base, SPDIF_STATUS_0);
- regs->spdif_strobe_ctrl_0 = spdif_readl(base, SPDIF_STROBE_CTRL_0);
- regs->spdif_data_fifo_scr_0 = spdif_readl(base, SPDIF_DATA_FIFO_CSR_0);
- regs->spdif_ch_sta_rx_a_0 = spdif_readl(base, SPDIF_CH_STA_RX_A_0);
- regs->spdif_ch_sta_rx_b_0 = spdif_readl(base, SPDIF_CH_STA_RX_B_0);
- regs->spdif_ch_sta_rx_c_0 = spdif_readl(base, SPDIF_CH_STA_RX_C_0);
- regs->spdif_ch_sta_rx_d_0 = spdif_readl(base, SPDIF_CH_STA_RX_D_0);
- regs->spdif_ch_sta_rx_e_0 = spdif_readl(base, SPDIF_CH_STA_RX_E_0);
- regs->spdif_ch_sta_rx_f_0 = spdif_readl(base, SPDIF_CH_STA_RX_F_0);
- regs->spdif_ch_sta_tx_a_0 = spdif_readl(base, SPDIF_CH_STA_TX_A_0);
- regs->spdif_ch_sta_tx_b_0 = spdif_readl(base, SPDIF_CH_STA_TX_B_0);
- regs->spdif_ch_sta_tx_c_0 = spdif_readl(base, SPDIF_CH_STA_TX_C_0);
- regs->spdif_ch_sta_tx_d_0 = spdif_readl(base, SPDIF_CH_STA_TX_D_0);
- regs->spdif_ch_sta_tx_e_0 = spdif_readl(base, SPDIF_CH_STA_TX_E_0);
- regs->spdif_ch_sta_tx_f_0 = spdif_readl(base, SPDIF_CH_STA_TX_F_0);
- regs->spdif_usr_sta_rx_a_0 = spdif_readl(base, SPDIF_USR_STA_RX_A_0);
- regs->spdif_usr_dat_tx_a_0 = spdif_readl(base, SPDIF_USR_DAT_TX_A_0);
-}
-
-void spdif_set_all_regs(unsigned long base, struct spdif_regs_cache* regs)
-{
- spdif_writel(base, regs->spdif_ctrl_0, SPDIF_CTRL_0);
- spdif_writel(base, regs->spdif_status_0, SPDIF_STATUS_0);
- spdif_writel(base, regs->spdif_strobe_ctrl_0, SPDIF_STROBE_CTRL_0);
- spdif_writel(base, regs->spdif_data_fifo_scr_0, SPDIF_DATA_FIFO_CSR_0);
- spdif_writel(base, regs->spdif_ch_sta_rx_a_0, SPDIF_CH_STA_RX_A_0);
- spdif_writel(base, regs->spdif_ch_sta_rx_b_0, SPDIF_CH_STA_RX_B_0);
- spdif_writel(base, regs->spdif_ch_sta_rx_c_0, SPDIF_CH_STA_RX_C_0);
- spdif_writel(base, regs->spdif_ch_sta_rx_d_0, SPDIF_CH_STA_RX_D_0);
- spdif_writel(base, regs->spdif_ch_sta_rx_e_0, SPDIF_CH_STA_RX_E_0);
- spdif_writel(base, regs->spdif_ch_sta_rx_f_0, SPDIF_CH_STA_RX_F_0);
- spdif_writel(base, regs->spdif_ch_sta_tx_a_0, SPDIF_CH_STA_TX_A_0);
- spdif_writel(base, regs->spdif_ch_sta_tx_b_0, SPDIF_CH_STA_TX_B_0);
- spdif_writel(base, regs->spdif_ch_sta_tx_c_0, SPDIF_CH_STA_TX_C_0);
- spdif_writel(base, regs->spdif_ch_sta_tx_d_0, SPDIF_CH_STA_TX_D_0);
- spdif_writel(base, regs->spdif_ch_sta_tx_e_0, SPDIF_CH_STA_TX_E_0);
- spdif_writel(base, regs->spdif_ch_sta_tx_f_0, SPDIF_CH_STA_TX_F_0);
- spdif_writel(base, regs->spdif_usr_sta_rx_a_0, SPDIF_USR_STA_RX_A_0);
- spdif_writel(base, regs->spdif_usr_dat_tx_a_0, SPDIF_USR_DAT_TX_A_0);
-}
#else
static int spdif_get_apbif_channel(int fifo_mode)
@@ -730,6 +686,9 @@ int spdif_set_acif(int fifo_mode, struct audio_cif *cifInfo)
audio_switch_set_acif(spinfo->base +
SPDIF_AUDIOCIF_RXDATA_CTRL_0, tx_audio_cif);
+ apbif_set_pack_mode(spdif_get_apbif_channel(fifo_mode),
+ fifo_mode, AUDIO_FIFO_PACK_16);
+
audio_apbif_set_acif(spdif_get_apbif_channel(fifo_mode),
fifo_mode, tx_audio_cif);