Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
dma-sh7760.c File Reference
#include <linux/module.h>
#include <linux/gfp.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/dma-mapping.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <asm/dmabrg.h>

Go to the source code of this file.

Data Structures

struct  camelot_pcm
 

Macros

#define BRGATXSAR   0x00
 
#define BRGARXDAR   0x04
 
#define BRGATXTCR   0x08
 
#define BRGARXTCR   0x0C
 
#define BRGACR   0x10
 
#define BRGATXTCNT   0x14
 
#define BRGARXTCNT   0x18
 
#define ACR_RAR   (1 << 18)
 
#define ACR_RDS   (1 << 17)
 
#define ACR_RDE   (1 << 16)
 
#define ACR_TAR   (1 << 2)
 
#define ACR_TDS   (1 << 1)
 
#define ACR_TDE   (1 << 0)
 
#define ACR_RAM_NONE   (0 << 24)
 
#define ACR_RAM_4BYTE   (1 << 24)
 
#define ACR_RAM_2WORD   (2 << 24)
 
#define ACR_TAM_NONE   (0 << 8)
 
#define ACR_TAM_4BYTE   (1 << 8)
 
#define ACR_TAM_2WORD   (2 << 8)
 
#define BRGREG(x)   (*(unsigned long *)(cam->mmio + (x)))
 
#define DMABRG_PERIOD_MIN   16 * 1024
 
#define DMABRG_PERIOD_MAX   0x03fffffc
 
#define DMABRG_PREALLOC_BUFFER   32 * 1024
 
#define DMABRG_PREALLOC_BUFFER_MAX   32 * 1024
 
#define DMABRG_RATES   SNDRV_PCM_RATE_8000_192000
 
#define DMABRG_FMTS
 

Functions

 module_platform_driver (sh7760_pcm_driver)
 
 MODULE_LICENSE ("GPL")
 
 MODULE_DESCRIPTION ("SH7760 Audio DMA (DMABRG) driver")
 
 MODULE_AUTHOR ("Manuel Lauss <[email protected]>")
 

Variables

struct camelot_pcm cam_pcm_data [2]
 

Macro Definition Documentation

#define ACR_RAM_2WORD   (2 << 24)

Definition at line 46 of file dma-sh7760.c.

#define ACR_RAM_4BYTE   (1 << 24)

Definition at line 45 of file dma-sh7760.c.

#define ACR_RAM_NONE   (0 << 24)

Definition at line 44 of file dma-sh7760.c.

#define ACR_RAR   (1 << 18)

Definition at line 36 of file dma-sh7760.c.

#define ACR_RDE   (1 << 16)

Definition at line 38 of file dma-sh7760.c.

#define ACR_RDS   (1 << 17)

Definition at line 37 of file dma-sh7760.c.

#define ACR_TAM_2WORD   (2 << 8)

Definition at line 49 of file dma-sh7760.c.

#define ACR_TAM_4BYTE   (1 << 8)

Definition at line 48 of file dma-sh7760.c.

#define ACR_TAM_NONE   (0 << 8)

Definition at line 47 of file dma-sh7760.c.

#define ACR_TAR   (1 << 2)

Definition at line 39 of file dma-sh7760.c.

#define ACR_TDE   (1 << 0)

Definition at line 41 of file dma-sh7760.c.

#define ACR_TDS   (1 << 1)

Definition at line 40 of file dma-sh7760.c.

#define BRGACR   0x10

Definition at line 32 of file dma-sh7760.c.

#define BRGARXDAR   0x04

Definition at line 29 of file dma-sh7760.c.

#define BRGARXTCNT   0x18

Definition at line 34 of file dma-sh7760.c.

#define BRGARXTCR   0x0C

Definition at line 31 of file dma-sh7760.c.

#define BRGATXSAR   0x00

Definition at line 28 of file dma-sh7760.c.

#define BRGATXTCNT   0x14

Definition at line 33 of file dma-sh7760.c.

#define BRGATXTCR   0x08

Definition at line 30 of file dma-sh7760.c.

#define BRGREG (   x)    (*(unsigned long *)(cam->mmio + (x)))

Definition at line 75 of file dma-sh7760.c.

#define DMABRG_FMTS
Value:
SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_U16_LE | \
SNDRV_PCM_FMTBIT_S20_3LE | SNDRV_PCM_FMTBIT_U20_3LE | \
SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_U24_3LE | \
SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_U32_LE)

Definition at line 96 of file dma-sh7760.c.

#define DMABRG_PERIOD_MAX   0x03fffffc

Definition at line 88 of file dma-sh7760.c.

#define DMABRG_PERIOD_MIN   16 * 1024

Definition at line 87 of file dma-sh7760.c.

#define DMABRG_PREALLOC_BUFFER   32 * 1024

Definition at line 89 of file dma-sh7760.c.

#define DMABRG_PREALLOC_BUFFER_MAX   32 * 1024

Definition at line 90 of file dma-sh7760.c.

#define DMABRG_RATES   SNDRV_PCM_RATE_8000_192000

Definition at line 93 of file dma-sh7760.c.

Function Documentation

MODULE_AUTHOR ( "Manuel Lauss <[email protected]>"  )
MODULE_DESCRIPTION ( "SH7760 Audio DMA (DMABRG) driver )
MODULE_LICENSE ( "GPL"  )
module_platform_driver ( sh7760_pcm_driver  )

Variable Documentation

struct camelot_pcm cam_pcm_data[2]
Initial value:
= {
{
.mmio = 0xFE3C0040,
.txid = DMABRGIRQ_A0TXF,
},
{
.mmio = 0xFE3C0060,
.txid = DMABRGIRQ_A1TXF,
},
}