Linux Kernel
3.7.1
|
#include <linux/list.h>
#include <linux/module.h>
#include <linux/string.h>
#include <linux/ioport.h>
#include <linux/sched.h>
#include <linux/delay.h>
#include <linux/sound.h>
#include <linux/slab.h>
#include <linux/soundcard.h>
#include <linux/pci.h>
#include <linux/bitops.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/poll.h>
#include <linux/mutex.h>
#include <linux/kernel.h>
#include <asm/byteorder.h>
#include <asm/dma.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm/sibyte/sb1250_regs.h>
#include <asm/sibyte/sb1250_int.h>
#include <asm/sibyte/sb1250_dma.h>
#include <asm/sibyte/sb1250_scd.h>
#include <asm/sibyte/sb1250_syncser.h>
#include <asm/sibyte/sb1250_mac.h>
#include <asm/sibyte/sb1250.h>
Go to the source code of this file.
Data Structures | |
struct | serdma_descr_s |
struct | serdma_s |
struct | cs4297a_state |
struct | cs4297a_state::properties |
Macros | |
#define | CS4297a_MAGIC 0xf00beef1 |
#define | CSDEBUG 0 |
#define | CS_INIT 0x00000001 |
#define | CS_ERROR 0x00000002 |
#define | CS_INTERRUPT 0x00000004 |
#define | CS_FUNCTION 0x00000008 |
#define | CS_WAVE_WRITE 0x00000010 |
#define | CS_WAVE_READ 0x00000020 |
#define | CS_AC97 0x00000040 |
#define | CS_DESCR 0x00000080 |
#define | CS_OPEN 0x00000400 |
#define | CS_RELEASE 0x00000800 |
#define | CS_PARMS 0x00001000 |
#define | CS_IOCTL 0x00002000 |
#define | CS_TMP 0x10000000 |
#define | CS_DBGOUT(mask, level, x) |
#define | CS_TRUE 1 |
#define | CS_FALSE 0 |
#define | CS_TYPE_ADC 0 |
#define | CS_TYPE_DAC 1 |
#define | SER_BASE (A_SER_BASE_1 + KSEG1) |
#define | SS_CSR(t) (SER_BASE+t) |
#define | SS_TXTBL(t) (SER_BASE+R_SER_TX_TABLE_BASE+(t*8)) |
#define | SS_RXTBL(t) (SER_BASE+R_SER_RX_TABLE_BASE+(t*8)) |
#define | FRAME_BYTES 32 |
#define | FRAME_SAMPLE_BYTES 4 |
#define | SAMPLE_BUF_SIZE (16*1024) |
#define | SAMPLE_FRAME_COUNT (SAMPLE_BUF_SIZE / FRAME_SAMPLE_BYTES) |
#define | DMA_BLOAT_FACTOR 1 |
#define | DMA_DESCR (SAMPLE_FRAME_COUNT / DMA_BLOAT_FACTOR) |
#define | DMA_BUF_SIZE (DMA_DESCR * FRAME_BYTES) |
#define | DMA_INT_CNT ((1 << S_DMA_INT_PKTCNT) - 1) |
#define | REG_LATENCY 150 |
#define | FRAME_TX_US 20 |
#define | SERDMA_NEXTBUF(d, f) (((d)->f+1) % (d)->ringsz) |
#define | VALIDATE_STATE(s) |
#define | AC97_MASTER_VOL_STEREO 0x0002 /* Line Out */ |
#define | AC97_PCBEEP_VOL 0x000a /* none */ |
#define | AC97_PHONE_VOL 0x000c /* TAD Input (mono) */ |
#define | AC97_MIC_VOL 0x000e /* MIC Input (mono) */ |
#define | AC97_LINEIN_VOL 0x0010 /* Line Input (stereo) */ |
#define | AC97_CD_VOL 0x0012 /* CD Input (stereo) */ |
#define | AC97_AUX_VOL 0x0016 /* Aux Input (stereo) */ |
#define | AC97_PCMOUT_VOL 0x0018 /* Wave Output (stereo) */ |
#define | AC97_RECORD_SELECT 0x001a /* */ |
#define | AC97_RECORD_GAIN 0x001c |
#define | AC97_GENERAL_PURPOSE 0x0020 |
#define | AC97_3D_CONTROL 0x0022 |
#define | AC97_POWER_CONTROL 0x0026 |
#define | AC97_VENDOR_ID1 0x007c |
#define | prog_codec(a, b) |
#define | dealloc_dmabuf(a, b) ; |
Typedefs | |
typedef struct serdma_descr_s | serdma_descr_t |
typedef unsigned long | paddr_t |
typedef struct serdma_s | serdma_t |
Functions | |
MODULE_AUTHOR ("Kip Walker, Broadcom Corp.") | |
MODULE_DESCRIPTION ("Cirrus Logic CS4297a Driver for Broadcom SWARM board") | |
module_init (cs4297a_init) | |
module_exit (cs4297a_cleanup) | |
Variables | |
struct list_head | cs4297a_devs = { &cs4297a_devs, &cs4297a_devs } |
#define AC97_3D_CONTROL 0x0022 |
Definition at line 213 of file swarm_cs4297a.c.
#define AC97_AUX_VOL 0x0016 /* Aux Input (stereo) */ |
Definition at line 208 of file swarm_cs4297a.c.
#define AC97_CD_VOL 0x0012 /* CD Input (stereo) */ |
Definition at line 207 of file swarm_cs4297a.c.
#define AC97_GENERAL_PURPOSE 0x0020 |
Definition at line 212 of file swarm_cs4297a.c.
#define AC97_LINEIN_VOL 0x0010 /* Line Input (stereo) */ |
Definition at line 206 of file swarm_cs4297a.c.
#define AC97_MASTER_VOL_STEREO 0x0002 /* Line Out */ |
Definition at line 202 of file swarm_cs4297a.c.
#define AC97_MIC_VOL 0x000e /* MIC Input (mono) */ |
Definition at line 205 of file swarm_cs4297a.c.
#define AC97_PCBEEP_VOL 0x000a /* none */ |
Definition at line 203 of file swarm_cs4297a.c.
#define AC97_PCMOUT_VOL 0x0018 /* Wave Output (stereo) */ |
Definition at line 209 of file swarm_cs4297a.c.
#define AC97_PHONE_VOL 0x000c /* TAD Input (mono) */ |
Definition at line 204 of file swarm_cs4297a.c.
#define AC97_POWER_CONTROL 0x0026 |
Definition at line 214 of file swarm_cs4297a.c.
#define AC97_RECORD_GAIN 0x001c |
Definition at line 211 of file swarm_cs4297a.c.
#define AC97_RECORD_SELECT 0x001a /* */ |
Definition at line 210 of file swarm_cs4297a.c.
#define AC97_VENDOR_ID1 0x007c |
Definition at line 215 of file swarm_cs4297a.c.
#define CS4297a_MAGIC 0xf00beef1 |
Definition at line 104 of file swarm_cs4297a.c.
#define CS_AC97 0x00000040 |
Definition at line 131 of file swarm_cs4297a.c.
Definition at line 148 of file swarm_cs4297a.c.
#define CS_DESCR 0x00000080 |
Definition at line 132 of file swarm_cs4297a.c.
#define CS_ERROR 0x00000002 |
Definition at line 126 of file swarm_cs4297a.c.
#define CS_FALSE 0 |
Definition at line 158 of file swarm_cs4297a.c.
#define CS_FUNCTION 0x00000008 |
Definition at line 128 of file swarm_cs4297a.c.
#define CS_INIT 0x00000001 |
Definition at line 125 of file swarm_cs4297a.c.
#define CS_INTERRUPT 0x00000004 |
Definition at line 127 of file swarm_cs4297a.c.
#define CS_IOCTL 0x00002000 |
Definition at line 136 of file swarm_cs4297a.c.
#define CS_OPEN 0x00000400 |
Definition at line 133 of file swarm_cs4297a.c.
#define CS_PARMS 0x00001000 |
Definition at line 135 of file swarm_cs4297a.c.
#define CS_RELEASE 0x00000800 |
Definition at line 134 of file swarm_cs4297a.c.
#define CS_TMP 0x10000000 |
Definition at line 137 of file swarm_cs4297a.c.
#define CS_TRUE 1 |
Definition at line 157 of file swarm_cs4297a.c.
#define CS_TYPE_ADC 0 |
Definition at line 160 of file swarm_cs4297a.c.
#define CS_TYPE_DAC 1 |
Definition at line 161 of file swarm_cs4297a.c.
#define CS_WAVE_READ 0x00000020 |
Definition at line 130 of file swarm_cs4297a.c.
#define CS_WAVE_WRITE 0x00000010 |
Definition at line 129 of file swarm_cs4297a.c.
#define CSDEBUG 0 |
Definition at line 116 of file swarm_cs4297a.c.
Definition at line 328 of file swarm_cs4297a.c.
#define DMA_BLOAT_FACTOR 1 |
Definition at line 176 of file swarm_cs4297a.c.
#define DMA_BUF_SIZE (DMA_DESCR * FRAME_BYTES) |
Definition at line 178 of file swarm_cs4297a.c.
#define DMA_DESCR (SAMPLE_FRAME_COUNT / DMA_BLOAT_FACTOR) |
Definition at line 177 of file swarm_cs4297a.c.
#define DMA_INT_CNT ((1 << S_DMA_INT_PKTCNT) - 1) |
Definition at line 181 of file swarm_cs4297a.c.
#define FRAME_BYTES 32 |
Definition at line 168 of file swarm_cs4297a.c.
#define FRAME_SAMPLE_BYTES 4 |
Definition at line 169 of file swarm_cs4297a.c.
#define FRAME_TX_US 20 |
Definition at line 186 of file swarm_cs4297a.c.
Definition at line 327 of file swarm_cs4297a.c.
#define REG_LATENCY 150 |
Definition at line 184 of file swarm_cs4297a.c.
#define SAMPLE_BUF_SIZE (16*1024) |
Definition at line 172 of file swarm_cs4297a.c.
#define SAMPLE_FRAME_COUNT (SAMPLE_BUF_SIZE / FRAME_SAMPLE_BYTES) |
Definition at line 173 of file swarm_cs4297a.c.
#define SER_BASE (A_SER_BASE_1 + KSEG1) |
Definition at line 163 of file swarm_cs4297a.c.
Definition at line 188 of file swarm_cs4297a.c.
Definition at line 164 of file swarm_cs4297a.c.
Definition at line 166 of file swarm_cs4297a.c.
Definition at line 165 of file swarm_cs4297a.c.
#define VALIDATE_STATE | ( | s | ) |
Definition at line 193 of file swarm_cs4297a.c.
Definition at line 224 of file swarm_cs4297a.c.
typedef struct serdma_descr_s serdma_descr_t |
MODULE_AUTHOR | ( | "Kip | Walker, |
Broadcom Corp." | |||
) |
module_exit | ( | cs4297a_cleanup | ) |
module_init | ( | cs4297a_init | ) |
Definition at line 217 of file swarm_cs4297a.c.