Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
pdaudiocf.h File Reference
#include <sound/pcm.h>
#include <linux/io.h>
#include <linux/interrupt.h>
#include <pcmcia/cistpl.h>
#include <pcmcia/ds.h>
#include <sound/ak4117.h>

Go to the source code of this file.

Data Structures

struct  snd_pdacf
 

Macros

#define PDAUDIOCF_REG_MD   0x00 /* music data, R/O */
 
#define PDAUDIOCF_REG_WDP   0x02 /* write data pointer / 2, R/O */
 
#define PDAUDIOCF_REG_RDP   0x04 /* read data pointer / 2, R/O */
 
#define PDAUDIOCF_REG_TCR   0x06 /* test control register W/O */
 
#define PDAUDIOCF_REG_SCR   0x08 /* status and control, R/W (see bit description) */
 
#define PDAUDIOCF_REG_ISR   0x0a /* interrupt status, R/O */
 
#define PDAUDIOCF_REG_IER   0x0c /* interrupt enable, R/W */
 
#define PDAUDIOCF_REG_AK_IFR   0x0e /* AK interface register, R/W */
 
#define PDAUDIOCF_ELIMAKMBIT   (1<<0) /* simulate AKM music data */
 
#define PDAUDIOCF_TESTDATASEL   (1<<1) /* test data selection, 0 = 0x55, 1 = pseudo-random */
 
#define PDAUDIOCF_AK_SBP   (1<<0) /* serial port busy flag */
 
#define PDAUDIOCF_RST   (1<<2) /* FPGA, AKM + SRAM buffer reset */
 
#define PDAUDIOCF_PDN   (1<<3) /* power down bit */
 
#define PDAUDIOCF_CLKDIV0   (1<<4) /* choose 24.576Mhz clock divided by 1,2,3 or 4 */
 
#define PDAUDIOCF_CLKDIV1   (1<<5)
 
#define PDAUDIOCF_RECORD   (1<<6) /* start capturing to SRAM */
 
#define PDAUDIOCF_AK_SDD   (1<<7) /* music data detected */
 
#define PDAUDIOCF_RED_LED_OFF   (1<<8) /* red LED off override */
 
#define PDAUDIOCF_BLUE_LED_OFF   (1<<9) /* blue LED off override */
 
#define PDAUDIOCF_DATAFMT0   (1<<10) /* data format bits: 00 = 16-bit, 01 = 18-bit */
 
#define PDAUDIOCF_DATAFMT1   (1<<11) /* 10 = 20-bit, 11 = 24-bit, all right justified */
 
#define PDAUDIOCF_FPGAREV(x)   ((x>>12)&0x0f) /* FPGA revision */
 
#define PDAUDIOCF_IRQLVL   (1<<0) /* Buffer level IRQ */
 
#define PDAUDIOCF_IRQOVR   (1<<1) /* Overrun IRQ */
 
#define PDAUDIOCF_IRQAKM   (1<<2) /* AKM IRQ */
 
#define PDAUDIOCF_IRQLVLEN0   (1<<0) /* fill threshold levels; 00 = none, 01 = 1/8th of buffer */
 
#define PDAUDIOCF_IRQLVLEN1   (1<<1) /* 10 = 1/4th of buffer, 11 = 1/2th of buffer */
 
#define PDAUDIOCF_IRQOVREN   (1<<2) /* enable overrun IRQ */
 
#define PDAUDIOCF_IRQAKMEN   (1<<3) /* enable AKM IRQ */
 
#define PDAUDIOCF_BLUEDUTY0   (1<<8) /* blue LED duty cycle; 00 = 100%, 01 = 50% */
 
#define PDAUDIOCF_BLUEDUTY1   (1<<9) /* 02 = 25%, 11 = 12% */
 
#define PDAUDIOCF_REDDUTY0   (1<<10) /* red LED duty cycle; 00 = 100%, 01 = 50% */
 
#define PDAUDIOCF_REDDUTY1   (1<<11) /* 02 = 25%, 11 = 12% */
 
#define PDAUDIOCF_BLUESDD   (1<<12) /* blue LED against SDD bit */
 
#define PDAUDIOCF_BLUEMODULATE   (1<<13) /* save power when 100% duty cycle selected */
 
#define PDAUDIOCF_REDMODULATE   (1<<14) /* save power when 100% duty cycle selected */
 
#define PDAUDIOCF_HALFRATE   (1<<15) /* slow both LED blinks by half (also spdif detect rate) */
 
#define PDAUDIOCF_STAT_IS_STALE   (1<<0)
 
#define PDAUDIOCF_STAT_IS_CONFIGURED   (1<<1)
 
#define PDAUDIOCF_STAT_IS_SUSPENDED   (1<<2)
 

Functions

struct snd_pdacfsnd_pdacf_create (struct snd_card *card)
 
int snd_pdacf_ak4117_create (struct snd_pdacf *pdacf)
 
void snd_pdacf_powerdown (struct snd_pdacf *chip)
 
int snd_pdacf_pcm_new (struct snd_pdacf *chip)
 
irqreturn_t pdacf_interrupt (int irq, void *dev)
 
void pdacf_tasklet (unsigned long private_data)
 
void pdacf_reinit (struct snd_pdacf *chip, int resume)
 

Macro Definition Documentation

#define PDAUDIOCF_AK_SBP   (1<<0) /* serial port busy flag */

Definition at line 47 of file pdaudiocf.h.

#define PDAUDIOCF_AK_SDD   (1<<7) /* music data detected */

Definition at line 53 of file pdaudiocf.h.

#define PDAUDIOCF_BLUE_LED_OFF   (1<<9) /* blue LED off override */

Definition at line 55 of file pdaudiocf.h.

#define PDAUDIOCF_BLUEDUTY0   (1<<8) /* blue LED duty cycle; 00 = 100%, 01 = 50% */

Definition at line 70 of file pdaudiocf.h.

#define PDAUDIOCF_BLUEDUTY1   (1<<9) /* 02 = 25%, 11 = 12% */

Definition at line 71 of file pdaudiocf.h.

#define PDAUDIOCF_BLUEMODULATE   (1<<13) /* save power when 100% duty cycle selected */

Definition at line 75 of file pdaudiocf.h.

#define PDAUDIOCF_BLUESDD   (1<<12) /* blue LED against SDD bit */

Definition at line 74 of file pdaudiocf.h.

#define PDAUDIOCF_CLKDIV0   (1<<4) /* choose 24.576Mhz clock divided by 1,2,3 or 4 */

Definition at line 50 of file pdaudiocf.h.

#define PDAUDIOCF_CLKDIV1   (1<<5)

Definition at line 51 of file pdaudiocf.h.

#define PDAUDIOCF_DATAFMT0   (1<<10) /* data format bits: 00 = 16-bit, 01 = 18-bit */

Definition at line 56 of file pdaudiocf.h.

#define PDAUDIOCF_DATAFMT1   (1<<11) /* 10 = 20-bit, 11 = 24-bit, all right justified */

Definition at line 57 of file pdaudiocf.h.

#define PDAUDIOCF_ELIMAKMBIT   (1<<0) /* simulate AKM music data */

Definition at line 43 of file pdaudiocf.h.

#define PDAUDIOCF_FPGAREV (   x)    ((x>>12)&0x0f) /* FPGA revision */

Definition at line 58 of file pdaudiocf.h.

#define PDAUDIOCF_HALFRATE   (1<<15) /* slow both LED blinks by half (also spdif detect rate) */

Definition at line 77 of file pdaudiocf.h.

#define PDAUDIOCF_IRQAKM   (1<<2) /* AKM IRQ */

Definition at line 63 of file pdaudiocf.h.

#define PDAUDIOCF_IRQAKMEN   (1<<3) /* enable AKM IRQ */

Definition at line 69 of file pdaudiocf.h.

#define PDAUDIOCF_IRQLVL   (1<<0) /* Buffer level IRQ */

Definition at line 61 of file pdaudiocf.h.

#define PDAUDIOCF_IRQLVLEN0   (1<<0) /* fill threshold levels; 00 = none, 01 = 1/8th of buffer */

Definition at line 66 of file pdaudiocf.h.

#define PDAUDIOCF_IRQLVLEN1   (1<<1) /* 10 = 1/4th of buffer, 11 = 1/2th of buffer */

Definition at line 67 of file pdaudiocf.h.

#define PDAUDIOCF_IRQOVR   (1<<1) /* Overrun IRQ */

Definition at line 62 of file pdaudiocf.h.

#define PDAUDIOCF_IRQOVREN   (1<<2) /* enable overrun IRQ */

Definition at line 68 of file pdaudiocf.h.

#define PDAUDIOCF_PDN   (1<<3) /* power down bit */

Definition at line 49 of file pdaudiocf.h.

#define PDAUDIOCF_RECORD   (1<<6) /* start capturing to SRAM */

Definition at line 52 of file pdaudiocf.h.

#define PDAUDIOCF_RED_LED_OFF   (1<<8) /* red LED off override */

Definition at line 54 of file pdaudiocf.h.

#define PDAUDIOCF_REDDUTY0   (1<<10) /* red LED duty cycle; 00 = 100%, 01 = 50% */

Definition at line 72 of file pdaudiocf.h.

#define PDAUDIOCF_REDDUTY1   (1<<11) /* 02 = 25%, 11 = 12% */

Definition at line 73 of file pdaudiocf.h.

#define PDAUDIOCF_REDMODULATE   (1<<14) /* save power when 100% duty cycle selected */

Definition at line 76 of file pdaudiocf.h.

#define PDAUDIOCF_REG_AK_IFR   0x0e /* AK interface register, R/W */

Definition at line 40 of file pdaudiocf.h.

#define PDAUDIOCF_REG_IER   0x0c /* interrupt enable, R/W */

Definition at line 39 of file pdaudiocf.h.

#define PDAUDIOCF_REG_ISR   0x0a /* interrupt status, R/O */

Definition at line 38 of file pdaudiocf.h.

#define PDAUDIOCF_REG_MD   0x00 /* music data, R/O */

Definition at line 33 of file pdaudiocf.h.

#define PDAUDIOCF_REG_RDP   0x04 /* read data pointer / 2, R/O */

Definition at line 35 of file pdaudiocf.h.

#define PDAUDIOCF_REG_SCR   0x08 /* status and control, R/W (see bit description) */

Definition at line 37 of file pdaudiocf.h.

#define PDAUDIOCF_REG_TCR   0x06 /* test control register W/O */

Definition at line 36 of file pdaudiocf.h.

#define PDAUDIOCF_REG_WDP   0x02 /* write data pointer / 2, R/O */

Definition at line 34 of file pdaudiocf.h.

#define PDAUDIOCF_RST   (1<<2) /* FPGA, AKM + SRAM buffer reset */

Definition at line 48 of file pdaudiocf.h.

#define PDAUDIOCF_STAT_IS_CONFIGURED   (1<<1)

Definition at line 81 of file pdaudiocf.h.

#define PDAUDIOCF_STAT_IS_STALE   (1<<0)

Definition at line 80 of file pdaudiocf.h.

#define PDAUDIOCF_STAT_IS_SUSPENDED   (1<<2)

Definition at line 82 of file pdaudiocf.h.

#define PDAUDIOCF_TESTDATASEL   (1<<1) /* test data selection, 0 = 0x55, 1 = pseudo-random */

Definition at line 44 of file pdaudiocf.h.

Function Documentation

irqreturn_t pdacf_interrupt ( int  irq,
void dev 
)

Definition at line 29 of file pdaudiocf_irq.c.

void pdacf_reinit ( struct snd_pdacf chip,
int  resume 
)

Definition at line 127 of file pdaudiocf_core.c.

void pdacf_tasklet ( unsigned long  private_data)

Definition at line 259 of file pdaudiocf_irq.c.

int snd_pdacf_ak4117_create ( struct snd_pdacf pdacf)

Definition at line 192 of file pdaudiocf_core.c.

struct snd_pdacf* snd_pdacf_create ( struct snd_card card)
read

Definition at line 157 of file pdaudiocf_core.c.

int snd_pdacf_pcm_new ( struct snd_pdacf chip)

Definition at line 286 of file pdaudiocf_pcm.c.

void snd_pdacf_powerdown ( struct snd_pdacf chip)

Definition at line 248 of file pdaudiocf_core.c.