Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
[pandora-kernel.git] / arch / arm / plat-omap / include / plat / mcbsp.h
index 1fe0637..f8f690a 100644 (file)
@@ -52,35 +52,14 @@ static struct platform_device omap_mcbsp##port_nr = {       \
 #define OMAP1610_MCBSP2_BASE   0xfffb1000
 #define OMAP1610_MCBSP3_BASE   0xe1017000
 
-#define OMAP24XX_MCBSP1_BASE   0x48074000
-#define OMAP24XX_MCBSP2_BASE   0x48076000
-#define OMAP2430_MCBSP3_BASE   0x4808c000
-#define OMAP2430_MCBSP4_BASE   0x4808e000
-#define OMAP2430_MCBSP5_BASE   0x48096000
-
-#define OMAP34XX_MCBSP1_BASE   0x48074000
-#define OMAP34XX_MCBSP2_BASE   0x49022000
-#define OMAP34XX_MCBSP2_ST_BASE        0x49028000
-#define OMAP34XX_MCBSP3_BASE   0x49024000
-#define OMAP34XX_MCBSP3_ST_BASE        0x4902A000
-#define OMAP34XX_MCBSP3_BASE   0x49024000
-#define OMAP34XX_MCBSP4_BASE   0x49026000
-#define OMAP34XX_MCBSP5_BASE   0x48096000
-
-#define OMAP44XX_MCBSP1_BASE   0x40122000
-#define OMAP44XX_MCBSP1_DMA_BASE       0x49022000
-#define OMAP44XX_MCBSP2_BASE   0x40124000
-#define OMAP44XX_MCBSP2_DMA_BASE       0x49024000
-#define OMAP44XX_MCBSP3_BASE   0x40126000
-#define OMAP44XX_MCBSP3_DMA_BASE       0x49026000
-#define OMAP44XX_MCBSP4_BASE   0x48096000
-
-#if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
+#ifdef CONFIG_ARCH_OMAP1
 
 #define OMAP_MCBSP_REG_DRR2    0x00
 #define OMAP_MCBSP_REG_DRR1    0x02
 #define OMAP_MCBSP_REG_DXR2    0x04
 #define OMAP_MCBSP_REG_DXR1    0x06
+#define OMAP_MCBSP_REG_DRR     0x02
+#define OMAP_MCBSP_REG_DXR     0x06
 #define OMAP_MCBSP_REG_SPCR2   0x08
 #define OMAP_MCBSP_REG_SPCR1   0x0a
 #define OMAP_MCBSP_REG_RCR2    0x0c
@@ -421,8 +400,9 @@ struct omap_mcbsp_platform_data {
 #ifdef CONFIG_ARCH_OMAP3
        /* Sidetone block for McBSP 2 and 3 */
        unsigned long phys_base_st;
-       u16 buffer_size;
 #endif
+       u16 buffer_size;
+       unsigned int mcbsp_config_type;
 };
 
 struct omap_mcbsp_st_data {
@@ -465,7 +445,6 @@ struct omap_mcbsp {
        /* Protect the field .free, while checking if the mcbsp is in use */
        spinlock_t lock;
        struct omap_mcbsp_platform_data *pdata;
-       struct clk *iclk;
        struct clk *fclk;
 #ifdef CONFIG_ARCH_OMAP3
        struct omap_mcbsp_st_data *st_data;
@@ -474,6 +453,7 @@ struct omap_mcbsp {
        u16 max_rx_thres;
 #endif
        void *reg_cache;
+       unsigned int mcbsp_config_type;
 };
 
 /**
@@ -542,6 +522,9 @@ int omap_mcbsp_set_io_type(unsigned int id, omap_mcbsp_io_type_t io_type);
 void omap2_mcbsp1_mux_clkr_src(u8 mux);
 void omap2_mcbsp1_mux_fsr_src(u8 mux);
 
+int omap_mcbsp_dma_ch_params(unsigned int id, unsigned int stream);
+int omap_mcbsp_dma_reg_params(unsigned int id, unsigned int stream);
+
 #ifdef CONFIG_ARCH_OMAP3
 /* Sidetone specific API */
 int omap_st_set_chgain(unsigned int id, int channel, s16 chgain);