Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
davinci-i2s.c File Reference
#include <linux/init.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/platform_data/davinci_asp.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/initval.h>
#include <sound/soc.h>
#include "davinci-pcm.h"
#include "davinci-i2s.h"

Go to the source code of this file.

Data Structures

struct  davinci_mcbsp_dev
 

Macros

#define DAVINCI_MCBSP_DRR_REG   0x00
 
#define DAVINCI_MCBSP_DXR_REG   0x04
 
#define DAVINCI_MCBSP_SPCR_REG   0x08
 
#define DAVINCI_MCBSP_RCR_REG   0x0c
 
#define DAVINCI_MCBSP_XCR_REG   0x10
 
#define DAVINCI_MCBSP_SRGR_REG   0x14
 
#define DAVINCI_MCBSP_PCR_REG   0x24
 
#define DAVINCI_MCBSP_SPCR_RRST   (1 << 0)
 
#define DAVINCI_MCBSP_SPCR_RINTM(v)   ((v) << 4)
 
#define DAVINCI_MCBSP_SPCR_XRST   (1 << 16)
 
#define DAVINCI_MCBSP_SPCR_XINTM(v)   ((v) << 20)
 
#define DAVINCI_MCBSP_SPCR_GRST   (1 << 22)
 
#define DAVINCI_MCBSP_SPCR_FRST   (1 << 23)
 
#define DAVINCI_MCBSP_SPCR_FREE   (1 << 25)
 
#define DAVINCI_MCBSP_RCR_RWDLEN1(v)   ((v) << 5)
 
#define DAVINCI_MCBSP_RCR_RFRLEN1(v)   ((v) << 8)
 
#define DAVINCI_MCBSP_RCR_RDATDLY(v)   ((v) << 16)
 
#define DAVINCI_MCBSP_RCR_RFIG   (1 << 18)
 
#define DAVINCI_MCBSP_RCR_RWDLEN2(v)   ((v) << 21)
 
#define DAVINCI_MCBSP_RCR_RFRLEN2(v)   ((v) << 24)
 
#define DAVINCI_MCBSP_RCR_RPHASE   BIT(31)
 
#define DAVINCI_MCBSP_XCR_XWDLEN1(v)   ((v) << 5)
 
#define DAVINCI_MCBSP_XCR_XFRLEN1(v)   ((v) << 8)
 
#define DAVINCI_MCBSP_XCR_XDATDLY(v)   ((v) << 16)
 
#define DAVINCI_MCBSP_XCR_XFIG   (1 << 18)
 
#define DAVINCI_MCBSP_XCR_XWDLEN2(v)   ((v) << 21)
 
#define DAVINCI_MCBSP_XCR_XFRLEN2(v)   ((v) << 24)
 
#define DAVINCI_MCBSP_XCR_XPHASE   BIT(31)
 
#define DAVINCI_MCBSP_SRGR_FWID(v)   ((v) << 8)
 
#define DAVINCI_MCBSP_SRGR_FPER(v)   ((v) << 16)
 
#define DAVINCI_MCBSP_SRGR_FSGM   (1 << 28)
 
#define DAVINCI_MCBSP_SRGR_CLKSM   BIT(29)
 
#define DAVINCI_MCBSP_PCR_CLKRP   (1 << 0)
 
#define DAVINCI_MCBSP_PCR_CLKXP   (1 << 1)
 
#define DAVINCI_MCBSP_PCR_FSRP   (1 << 2)
 
#define DAVINCI_MCBSP_PCR_FSXP   (1 << 3)
 
#define DAVINCI_MCBSP_PCR_SCLKME   (1 << 7)
 
#define DAVINCI_MCBSP_PCR_CLKRM   (1 << 8)
 
#define DAVINCI_MCBSP_PCR_CLKXM   (1 << 9)
 
#define DAVINCI_MCBSP_PCR_FSRM   (1 << 10)
 
#define DAVINCI_MCBSP_PCR_FSXM   (1 << 11)
 
#define MOD_DSP_A   0
 
#define MOD_DSP_B   1
 
#define DEFAULT_BITPERSAMPLE   16
 
#define DAVINCI_I2S_RATES   SNDRV_PCM_RATE_8000_96000
 

Enumerations

enum  {
  DAVINCI_MCBSP_WORD_8 = 0, DAVINCI_MCBSP_WORD_12, DAVINCI_MCBSP_WORD_16, DAVINCI_MCBSP_WORD_20,
  DAVINCI_MCBSP_WORD_24, DAVINCI_MCBSP_WORD_32
}
 

Functions

 module_platform_driver (davinci_mcbsp_driver)
 
 MODULE_AUTHOR ("Vladimir Barinov")
 
 MODULE_DESCRIPTION ("TI DAVINCI I2S (McBSP) SoC Interface")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define DAVINCI_I2S_RATES   SNDRV_PCM_RATE_8000_96000

Definition at line 620 of file davinci-i2s.c.

#define DAVINCI_MCBSP_DRR_REG   0x00

Definition at line 50 of file davinci-i2s.c.

#define DAVINCI_MCBSP_DXR_REG   0x04

Definition at line 51 of file davinci-i2s.c.

#define DAVINCI_MCBSP_PCR_CLKRM   (1 << 8)

Definition at line 92 of file davinci-i2s.c.

#define DAVINCI_MCBSP_PCR_CLKRP   (1 << 0)

Definition at line 87 of file davinci-i2s.c.

#define DAVINCI_MCBSP_PCR_CLKXM   (1 << 9)

Definition at line 93 of file davinci-i2s.c.

#define DAVINCI_MCBSP_PCR_CLKXP   (1 << 1)

Definition at line 88 of file davinci-i2s.c.

#define DAVINCI_MCBSP_PCR_FSRM   (1 << 10)

Definition at line 94 of file davinci-i2s.c.

#define DAVINCI_MCBSP_PCR_FSRP   (1 << 2)

Definition at line 89 of file davinci-i2s.c.

#define DAVINCI_MCBSP_PCR_FSXM   (1 << 11)

Definition at line 95 of file davinci-i2s.c.

#define DAVINCI_MCBSP_PCR_FSXP   (1 << 3)

Definition at line 90 of file davinci-i2s.c.

#define DAVINCI_MCBSP_PCR_REG   0x24

Definition at line 56 of file davinci-i2s.c.

#define DAVINCI_MCBSP_PCR_SCLKME   (1 << 7)

Definition at line 91 of file davinci-i2s.c.

#define DAVINCI_MCBSP_RCR_RDATDLY (   v)    ((v) << 16)

Definition at line 68 of file davinci-i2s.c.

#define DAVINCI_MCBSP_RCR_REG   0x0c

Definition at line 53 of file davinci-i2s.c.

#define DAVINCI_MCBSP_RCR_RFIG   (1 << 18)

Definition at line 69 of file davinci-i2s.c.

#define DAVINCI_MCBSP_RCR_RFRLEN1 (   v)    ((v) << 8)

Definition at line 67 of file davinci-i2s.c.

#define DAVINCI_MCBSP_RCR_RFRLEN2 (   v)    ((v) << 24)

Definition at line 71 of file davinci-i2s.c.

#define DAVINCI_MCBSP_RCR_RPHASE   BIT(31)

Definition at line 72 of file davinci-i2s.c.

#define DAVINCI_MCBSP_RCR_RWDLEN1 (   v)    ((v) << 5)

Definition at line 66 of file davinci-i2s.c.

#define DAVINCI_MCBSP_RCR_RWDLEN2 (   v)    ((v) << 21)

Definition at line 70 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SPCR_FREE   (1 << 25)

Definition at line 64 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SPCR_FRST   (1 << 23)

Definition at line 63 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SPCR_GRST   (1 << 22)

Definition at line 62 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SPCR_REG   0x08

Definition at line 52 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SPCR_RINTM (   v)    ((v) << 4)

Definition at line 59 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SPCR_RRST   (1 << 0)

Definition at line 58 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SPCR_XINTM (   v)    ((v) << 20)

Definition at line 61 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SPCR_XRST   (1 << 16)

Definition at line 60 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SRGR_CLKSM   BIT(29)

Definition at line 85 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SRGR_FPER (   v)    ((v) << 16)

Definition at line 83 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SRGR_FSGM   (1 << 28)

Definition at line 84 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SRGR_FWID (   v)    ((v) << 8)

Definition at line 82 of file davinci-i2s.c.

#define DAVINCI_MCBSP_SRGR_REG   0x14

Definition at line 55 of file davinci-i2s.c.

#define DAVINCI_MCBSP_XCR_REG   0x10

Definition at line 54 of file davinci-i2s.c.

#define DAVINCI_MCBSP_XCR_XDATDLY (   v)    ((v) << 16)

Definition at line 76 of file davinci-i2s.c.

#define DAVINCI_MCBSP_XCR_XFIG   (1 << 18)

Definition at line 77 of file davinci-i2s.c.

#define DAVINCI_MCBSP_XCR_XFRLEN1 (   v)    ((v) << 8)

Definition at line 75 of file davinci-i2s.c.

#define DAVINCI_MCBSP_XCR_XFRLEN2 (   v)    ((v) << 24)

Definition at line 79 of file davinci-i2s.c.

#define DAVINCI_MCBSP_XCR_XPHASE   BIT(31)

Definition at line 80 of file davinci-i2s.c.

#define DAVINCI_MCBSP_XCR_XWDLEN1 (   v)    ((v) << 5)

Definition at line 74 of file davinci-i2s.c.

#define DAVINCI_MCBSP_XCR_XWDLEN2 (   v)    ((v) << 21)

Definition at line 78 of file davinci-i2s.c.

#define DEFAULT_BITPERSAMPLE   16

Definition at line 259 of file davinci-i2s.c.

#define MOD_DSP_A   0

Definition at line 127 of file davinci-i2s.c.

#define MOD_DSP_B   1

Definition at line 128 of file davinci-i2s.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
DAVINCI_MCBSP_WORD_8 
DAVINCI_MCBSP_WORD_12 
DAVINCI_MCBSP_WORD_16 
DAVINCI_MCBSP_WORD_20 
DAVINCI_MCBSP_WORD_24 
DAVINCI_MCBSP_WORD_32 

Definition at line 97 of file davinci-i2s.c.

Function Documentation

MODULE_AUTHOR ( "Vladimir Barinov"  )
MODULE_DESCRIPTION ( "TI DAVINCI I2S (McBSP) SoC Interface )
MODULE_LICENSE ( "GPL"  )
module_platform_driver ( davinci_mcbsp_driver  )