Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
ep93xx-ac97.c File Reference
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <sound/core.h>
#include <sound/ac97_codec.h>
#include <sound/soc.h>
#include <linux/platform_data/dma-ep93xx.h>
#include "ep93xx-pcm.h"

Go to the source code of this file.

Data Structures

struct  ep93xx_ac97_info
 

Macros

#define AC97CH(n)   (((n) - 1) * 0x20)
 
#define AC97DR(n)   (AC97CH(n) + 0x0000)
 
#define AC97RXCR(n)   (AC97CH(n) + 0x0004)
 
#define AC97RXCR_REN   BIT(0)
 
#define AC97RXCR_RX3   BIT(3)
 
#define AC97RXCR_RX4   BIT(4)
 
#define AC97RXCR_CM   BIT(15)
 
#define AC97TXCR(n)   (AC97CH(n) + 0x0008)
 
#define AC97TXCR_TEN   BIT(0)
 
#define AC97TXCR_TX3   BIT(3)
 
#define AC97TXCR_TX4   BIT(4)
 
#define AC97TXCR_CM   BIT(15)
 
#define AC97SR(n)   (AC97CH(n) + 0x000c)
 
#define AC97SR_TXFE   BIT(1)
 
#define AC97SR_TXUE   BIT(6)
 
#define AC97RISR(n)   (AC97CH(n) + 0x0010)
 
#define AC97ISR(n)   (AC97CH(n) + 0x0014)
 
#define AC97IE(n)   (AC97CH(n) + 0x0018)
 
#define AC97S1DATA   0x0080
 
#define AC97S2DATA   0x0084
 
#define AC97S12DATA   0x0088
 
#define AC97RGIS   0x008c
 
#define AC97GIS   0x0090
 
#define AC97IM   0x0094
 
#define AC97_SLOT2RXVALID   BIT(1)
 
#define AC97_CODECREADY   BIT(5)
 
#define AC97_SLOT2TXCOMPLETE   BIT(6)
 
#define AC97EOI   0x0098
 
#define AC97EOI_WINT   BIT(0)
 
#define AC97EOI_CODECREADY   BIT(1)
 
#define AC97GCR   0x009c
 
#define AC97GCR_AC97IFE   BIT(0)
 
#define AC97RESET   0x00a0
 
#define AC97RESET_TIMEDRESET   BIT(0)
 
#define AC97SYNC   0x00a4
 
#define AC97SYNC_TIMEDSYNC   BIT(0)
 
#define AC97_TIMEOUT   msecs_to_jiffies(5)
 

Functions

 EXPORT_SYMBOL_GPL (soc_ac97_ops)
 
 module_platform_driver (ep93xx_ac97_driver)
 
 MODULE_DESCRIPTION ("EP93xx AC97 ASoC Driver")
 
 MODULE_AUTHOR ("Mika Westerberg <[email protected]>")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS ("platform:ep93xx-ac97")
 

Variables

struct snd_ac97_bus_ops soc_ac97_ops
 

Macro Definition Documentation

#define AC97_CODECREADY   BIT(5)

Definition at line 68 of file ep93xx-ac97.c.

#define AC97_SLOT2RXVALID   BIT(1)

Definition at line 67 of file ep93xx-ac97.c.

#define AC97_SLOT2TXCOMPLETE   BIT(6)

Definition at line 69 of file ep93xx-ac97.c.

#define AC97_TIMEOUT   msecs_to_jiffies(5)

Definition at line 84 of file ep93xx-ac97.c.

#define AC97CH (   n)    (((n) - 1) * 0x20)

Definition at line 30 of file ep93xx-ac97.c.

#define AC97DR (   n)    (AC97CH(n) + 0x0000)

Definition at line 32 of file ep93xx-ac97.c.

#define AC97EOI   0x0098

Definition at line 71 of file ep93xx-ac97.c.

#define AC97EOI_CODECREADY   BIT(1)

Definition at line 73 of file ep93xx-ac97.c.

#define AC97EOI_WINT   BIT(0)

Definition at line 72 of file ep93xx-ac97.c.

#define AC97GCR   0x009c

Definition at line 75 of file ep93xx-ac97.c.

#define AC97GCR_AC97IFE   BIT(0)

Definition at line 76 of file ep93xx-ac97.c.

#define AC97GIS   0x0090

Definition at line 62 of file ep93xx-ac97.c.

#define AC97IE (   n)    (AC97CH(n) + 0x0018)

Definition at line 52 of file ep93xx-ac97.c.

#define AC97IM   0x0094

Definition at line 63 of file ep93xx-ac97.c.

#define AC97ISR (   n)    (AC97CH(n) + 0x0014)

Definition at line 51 of file ep93xx-ac97.c.

#define AC97RESET   0x00a0

Definition at line 78 of file ep93xx-ac97.c.

#define AC97RESET_TIMEDRESET   BIT(0)

Definition at line 79 of file ep93xx-ac97.c.

#define AC97RGIS   0x008c

Definition at line 61 of file ep93xx-ac97.c.

#define AC97RISR (   n)    (AC97CH(n) + 0x0010)

Definition at line 50 of file ep93xx-ac97.c.

#define AC97RXCR (   n)    (AC97CH(n) + 0x0004)

Definition at line 34 of file ep93xx-ac97.c.

#define AC97RXCR_CM   BIT(15)

Definition at line 38 of file ep93xx-ac97.c.

#define AC97RXCR_REN   BIT(0)

Definition at line 35 of file ep93xx-ac97.c.

#define AC97RXCR_RX3   BIT(3)

Definition at line 36 of file ep93xx-ac97.c.

#define AC97RXCR_RX4   BIT(4)

Definition at line 37 of file ep93xx-ac97.c.

#define AC97S12DATA   0x0088

Definition at line 59 of file ep93xx-ac97.c.

#define AC97S1DATA   0x0080

Definition at line 57 of file ep93xx-ac97.c.

#define AC97S2DATA   0x0084

Definition at line 58 of file ep93xx-ac97.c.

#define AC97SR (   n)    (AC97CH(n) + 0x000c)

Definition at line 46 of file ep93xx-ac97.c.

#define AC97SR_TXFE   BIT(1)

Definition at line 47 of file ep93xx-ac97.c.

#define AC97SR_TXUE   BIT(6)

Definition at line 48 of file ep93xx-ac97.c.

#define AC97SYNC   0x00a4

Definition at line 81 of file ep93xx-ac97.c.

#define AC97SYNC_TIMEDSYNC   BIT(0)

Definition at line 82 of file ep93xx-ac97.c.

#define AC97TXCR (   n)    (AC97CH(n) + 0x0008)

Definition at line 40 of file ep93xx-ac97.c.

#define AC97TXCR_CM   BIT(15)

Definition at line 44 of file ep93xx-ac97.c.

#define AC97TXCR_TEN   BIT(0)

Definition at line 41 of file ep93xx-ac97.c.

#define AC97TXCR_TX3   BIT(3)

Definition at line 42 of file ep93xx-ac97.c.

#define AC97TXCR_TX4   BIT(4)

Definition at line 43 of file ep93xx-ac97.c.

Function Documentation

EXPORT_SYMBOL_GPL ( soc_ac97_ops  )
MODULE_ALIAS ( "platform:ep93xx-ac97 )
MODULE_AUTHOR ( "Mika Westerberg <[email protected]>"  )
MODULE_DESCRIPTION ( "EP93xx AC97 ASoC Driver"  )
MODULE_LICENSE ( "GPL"  )
module_platform_driver ( ep93xx_ac97_driver  )

Variable Documentation

struct snd_ac97_bus_ops soc_ac97_ops
Initial value:
= {
.read = ep93xx_ac97_read,
.write = ep93xx_ac97_write,
.reset = ep93xx_ac97_cold_reset,
.warm_reset = ep93xx_ac97_warm_reset,
}

Definition at line 238 of file ep93xx-ac97.c.