Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
patch_si3054.c File Reference
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <sound/core.h>
#include "hda_codec.h"
#include "hda_local.h"

Go to the source code of this file.

Data Structures

struct  si3054_spec
 

Macros

#define SI3054_VERB_READ_NODE   0x900
 
#define SI3054_VERB_WRITE_NODE   0x100
 
#define SI3054_EXTENDED_MID   2
 
#define SI3054_LINE_RATE   3
 
#define SI3054_LINE_LEVEL   4
 
#define SI3054_GPIO_CFG   5
 
#define SI3054_GPIO_POLARITY   6
 
#define SI3054_GPIO_STICKY   7
 
#define SI3054_GPIO_WAKEUP   8
 
#define SI3054_GPIO_STATUS   9
 
#define SI3054_GPIO_CONTROL   10
 
#define SI3054_MISC_AFE   11
 
#define SI3054_CHIPID   12
 
#define SI3054_LINE_CFG1   13
 
#define SI3054_LINE_STATUS   14
 
#define SI3054_DC_TERMINATION   15
 
#define SI3054_LINE_CONFIG   16
 
#define SI3054_CALLPROG_ATT   17
 
#define SI3054_SQ_CONTROL   18
 
#define SI3054_MISC_CONTROL   19
 
#define SI3054_RING_CTRL1   20
 
#define SI3054_RING_CTRL2   21
 
#define SI3054_MEI_READY   0xf
 
#define SI3054_ATAG_MASK   0x00f0
 
#define SI3054_DTAG_MASK   0xf000
 
#define SI3054_GPIO_OH   0x0001
 
#define SI3054_GPIO_CID   0x0002
 
#define SI3054_CHIPID_CODEC_REV_MASK   0x000f
 
#define SI3054_CHIPID_DAA_REV_MASK   0x00f0
 
#define SI3054_CHIPID_INTERNATIONAL   0x0100
 
#define SI3054_CHIPID_DAA_ID   0x0f00
 
#define SI3054_CHIPID_CODEC_ID   (1<<12)
 
#define GET_REG(codec, reg)   (snd_hda_codec_read(codec,reg,0,SI3054_VERB_READ_NODE,0))
 
#define SET_REG(codec, reg, val)   (snd_hda_codec_write(codec,reg,0,SI3054_VERB_WRITE_NODE,val))
 
#define SET_REG_CACHE(codec, reg, val)   snd_hda_codec_write_cache(codec,reg,0,SI3054_VERB_WRITE_NODE,val)
 
#define PRIVATE_VALUE(reg, mask)   ((reg<<16)|(mask&0xffff))
 
#define PRIVATE_REG(val)   ((val>>16)&0xffff)
 
#define PRIVATE_MASK(val)   (val&0xffff)
 
#define si3054_switch_info   snd_ctl_boolean_mono_info
 
#define SI3054_KCONTROL(kname, reg, mask)
 

Functions

 MODULE_ALIAS ("snd-hda-codec-id:163c3055")
 
 MODULE_ALIAS ("snd-hda-codec-id:163c3155")
 
 MODULE_ALIAS ("snd-hda-codec-id:11c13026")
 
 MODULE_ALIAS ("snd-hda-codec-id:11c13055")
 
 MODULE_ALIAS ("snd-hda-codec-id:11c13155")
 
 MODULE_ALIAS ("snd-hda-codec-id:10573055")
 
 MODULE_ALIAS ("snd-hda-codec-id:10573057")
 
 MODULE_ALIAS ("snd-hda-codec-id:10573155")
 
 MODULE_ALIAS ("snd-hda-codec-id:11063288")
 
 MODULE_ALIAS ("snd-hda-codec-id:15433155")
 
 MODULE_ALIAS ("snd-hda-codec-id:18540018")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_DESCRIPTION ("Si3054 HD-audio modem codec")
 

Macro Definition Documentation

#define GET_REG (   codec,
  reg 
)    (snd_hda_codec_read(codec,reg,0,SI3054_VERB_READ_NODE,0))

Definition at line 78 of file patch_si3054.c.

#define PRIVATE_MASK (   val)    (val&0xffff)

Definition at line 96 of file patch_si3054.c.

#define PRIVATE_REG (   val)    ((val>>16)&0xffff)

Definition at line 95 of file patch_si3054.c.

#define PRIVATE_VALUE (   reg,
  mask 
)    ((reg<<16)|(mask&0xffff))

Definition at line 94 of file patch_si3054.c.

#define SET_REG (   codec,
  reg,
  val 
)    (snd_hda_codec_write(codec,reg,0,SI3054_VERB_WRITE_NODE,val))

Definition at line 79 of file patch_si3054.c.

#define SET_REG_CACHE (   codec,
  reg,
  val 
)    snd_hda_codec_write_cache(codec,reg,0,SI3054_VERB_WRITE_NODE,val)

Definition at line 80 of file patch_si3054.c.

#define SI3054_ATAG_MASK   0x00f0

Definition at line 63 of file patch_si3054.c.

#define SI3054_CALLPROG_ATT   17

Definition at line 53 of file patch_si3054.c.

#define SI3054_CHIPID   12

Definition at line 48 of file patch_si3054.c.

#define SI3054_CHIPID_CODEC_ID   (1<<12)

Definition at line 75 of file patch_si3054.c.

#define SI3054_CHIPID_CODEC_REV_MASK   0x000f

Definition at line 71 of file patch_si3054.c.

#define SI3054_CHIPID_DAA_ID   0x0f00

Definition at line 74 of file patch_si3054.c.

#define SI3054_CHIPID_DAA_REV_MASK   0x00f0

Definition at line 72 of file patch_si3054.c.

#define SI3054_CHIPID_INTERNATIONAL   0x0100

Definition at line 73 of file patch_si3054.c.

#define SI3054_DC_TERMINATION   15

Definition at line 51 of file patch_si3054.c.

#define SI3054_DTAG_MASK   0xf000

Definition at line 64 of file patch_si3054.c.

#define SI3054_EXTENDED_MID   2

Definition at line 38 of file patch_si3054.c.

#define SI3054_GPIO_CFG   5

Definition at line 41 of file patch_si3054.c.

#define SI3054_GPIO_CID   0x0002

Definition at line 68 of file patch_si3054.c.

#define SI3054_GPIO_CONTROL   10

Definition at line 46 of file patch_si3054.c.

#define SI3054_GPIO_OH   0x0001

Definition at line 67 of file patch_si3054.c.

#define SI3054_GPIO_POLARITY   6

Definition at line 42 of file patch_si3054.c.

#define SI3054_GPIO_STATUS   9

Definition at line 45 of file patch_si3054.c.

#define SI3054_GPIO_STICKY   7

Definition at line 43 of file patch_si3054.c.

#define SI3054_GPIO_WAKEUP   8

Definition at line 44 of file patch_si3054.c.

#define SI3054_KCONTROL (   kname,
  reg,
  mask 
)
Value:
{ \
.name = kname, \
.subdevice = HDA_SUBDEV_NID_FLAG | reg, \
.info = si3054_switch_info, \
.get = si3054_switch_get, \
.put = si3054_switch_put, \
.private_value = PRIVATE_VALUE(reg,mask), \
}

Definition at line 123 of file patch_si3054.c.

#define SI3054_LINE_CFG1   13

Definition at line 49 of file patch_si3054.c.

#define SI3054_LINE_CONFIG   16

Definition at line 52 of file patch_si3054.c.

#define SI3054_LINE_LEVEL   4

Definition at line 40 of file patch_si3054.c.

#define SI3054_LINE_RATE   3

Definition at line 39 of file patch_si3054.c.

#define SI3054_LINE_STATUS   14

Definition at line 50 of file patch_si3054.c.

#define SI3054_MEI_READY   0xf

Definition at line 60 of file patch_si3054.c.

#define SI3054_MISC_AFE   11

Definition at line 47 of file patch_si3054.c.

#define SI3054_MISC_CONTROL   19

Definition at line 55 of file patch_si3054.c.

#define SI3054_RING_CTRL1   20

Definition at line 56 of file patch_si3054.c.

#define SI3054_RING_CTRL2   21

Definition at line 57 of file patch_si3054.c.

#define SI3054_SQ_CONTROL   18

Definition at line 54 of file patch_si3054.c.

#define si3054_switch_info   snd_ctl_boolean_mono_info

Definition at line 98 of file patch_si3054.c.

#define SI3054_VERB_READ_NODE   0x900

Definition at line 34 of file patch_si3054.c.

#define SI3054_VERB_WRITE_NODE   0x100

Definition at line 35 of file patch_si3054.c.

Function Documentation

MODULE_ALIAS ( "snd-hda-codec-id:163c3055"  )
MODULE_ALIAS ( "snd-hda-codec-id:163c3155"  )
MODULE_ALIAS ( "snd-hda-codec-id:11c13026"  )
MODULE_ALIAS ( "snd-hda-codec-id:11c13055"  )
MODULE_ALIAS ( "snd-hda-codec-id:11c13155"  )
MODULE_ALIAS ( "snd-hda-codec-id:10573055"  )
MODULE_ALIAS ( "snd-hda-codec-id:10573057"  )
MODULE_ALIAS ( "snd-hda-codec-id:10573155"  )
MODULE_ALIAS ( "snd-hda-codec-id:11063288"  )
MODULE_ALIAS ( "snd-hda-codec-id:15433155"  )
MODULE_ALIAS ( "snd-hda-codec-id:18540018"  )
MODULE_DESCRIPTION ( "Si3054 HD-audio modem codec )
MODULE_LICENSE ( "GPL"  )