diff options
author | Jingchang Lu <b35083@freescale.com> | 2012-12-05 13:19:53 +0800 |
---|---|---|
committer | Ed Nash <enash@enash-desktop.(none)> | 2012-12-12 14:46:31 -0500 |
commit | 6dedc932b4d43948145f8d3a0e56f7b3e7b65354 (patch) | |
tree | 9c9ab5bdd0f223523f6067b7420c15fa9b4ca0ec /include | |
parent | 3e67deec905904e2786129bfbffea1e20b18a8fe (diff) |
ENGR00216087-1: ASRC support for Vybrid
The ASRC driver supports stereo audio streams resample,
the ASRCK1 serial clock using audio external clock source
can not support 44.1K sample rate due to divider and
prescaler restriction.
Signed-off-by: Jingchang Lu <b35083@freescale.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mxc_asrc.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/linux/mxc_asrc.h b/include/linux/mxc_asrc.h index f0136f0502f0..d860dccb5374 100644 --- a/include/linux/mxc_asrc.h +++ b/include/linux/mxc_asrc.h @@ -47,13 +47,17 @@ enum asrc_pair_index { enum asrc_inclk { INCLK_NONE = 0x03, INCLK_ESAI_RX = 0x00, + INCLK_SSI0_RX = 0x06, INCLK_SSI1_RX = 0x01, INCLK_SSI2_RX = 0x02, + INCLK_SSI3_RX = 0x07, INCLK_SPDIF_RX = 0x04, INCLK_MLB_CLK = 0x05, INCLK_ESAI_TX = 0x08, + INCLK_SSI0_TX = 0xd, INCLK_SSI1_TX = 0x09, INCLK_SSI2_TX = 0x0a, + INCLK_SSI3_TX = 0x0b, INCLK_SPDIF_TX = 0x0c, INCLK_ASRCK1_CLK = 0x0f, }; @@ -61,13 +65,17 @@ enum asrc_inclk { enum asrc_outclk { OUTCLK_NONE = 0x03, OUTCLK_ESAI_TX = 0x00, + OUTCLK_SSI0_TX = 0x06, OUTCLK_SSI1_TX = 0x01, OUTCLK_SSI2_TX = 0x02, + OUTCLK_SSI3_TX = 0x0d, OUTCLK_SPDIF_TX = 0x04, OUTCLK_MLB_CLK = 0x05, OUTCLK_ESAI_RX = 0x08, + OUTCLK_SSI0_RX = 0x07, OUTCLK_SSI1_RX = 0x09, OUTCLK_SSI2_RX = 0x0a, + OUTCLK_SSI3_RX = 0x0b, OUTCLK_SPDIF_RX = 0x0c, OUTCLK_ASRCK1_CLK = 0x0f, }; @@ -162,6 +170,15 @@ enum asrc_error_status { #define ASRC_ASRIDRLC_REG 0x94 #define ASRC_ASR76K_REG 0x98 #define ASRC_ASR56K_REG 0x9C +#define ASRC_ASRMCRA_REG 0xA0 +#define ASRC_ASRFSTA_REG 0xA4 +#define ASRC_ASRMCRB_REG 0xA8 +#define ASRC_ASRFSTB_REG 0xAC +#define ASRC_ASRMCRC_REG 0xB0 +#define ASRC_ASRFSTC_REG 0xB4 +#define ASRC_ASRMCR1A_REG 0xC0 +#define ASRC_ASRMCR1B_REG 0xC4 +#define ASRC_ASRMCR1C_REG 0xC8 struct dma_block { unsigned int index; @@ -183,8 +200,13 @@ struct asrc_pair_params { unsigned int output_counter; unsigned int input_queue_empty; unsigned int output_queue_empty; +#ifdef CONFIG_ARCH_MVF + unsigned long input_dma_channel; + unsigned long output_dma_channel; +#else struct dma_chan *input_dma_channel; struct dma_chan *output_dma_channel; +#endif unsigned int input_buffer_size; unsigned int output_buffer_size; unsigned int buffer_num; |