Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
pcxhr_mix22.c File Reference
#include <linux/delay.h>
#include <linux/io.h>
#include <sound/core.h>
#include <sound/control.h>
#include <sound/tlv.h>
#include <sound/asoundef.h>
#include "pcxhr.h"
#include "pcxhr_core.h"
#include "pcxhr_mix22.h"

Go to the source code of this file.

Macros

#define PCXHR_DSP_RESET   0x20
 
#define PCXHR_XLX_CFG   0x24
 
#define PCXHR_XLX_RUER   0x28
 
#define PCXHR_XLX_DATA   0x2C
 
#define PCXHR_XLX_STATUS   0x30
 
#define PCXHR_XLX_LOFREQ   0x34
 
#define PCXHR_XLX_HIFREQ   0x38
 
#define PCXHR_XLX_CSUER   0x3C
 
#define PCXHR_XLX_SELMIC   0x40
 
#define PCXHR_DSP   2
 
#define PCXHR_INPB(mgr, x)   inb((mgr)->port[PCXHR_DSP] + (x))
 
#define PCXHR_OUTPB(mgr, x, data)   outb((data), (mgr)->port[PCXHR_DSP] + (x))
 
#define PCXHR_DSP_RESET_DSP   0x01
 
#define PCXHR_DSP_RESET_MUTE   0x02
 
#define PCXHR_DSP_RESET_CODEC   0x08
 
#define PCXHR_DSP_RESET_SMPTE   0x10
 
#define PCXHR_DSP_RESET_GPO_OFFSET   5
 
#define PCXHR_DSP_RESET_GPO_MASK   0x60
 
#define PCXHR_CFG_SYNCDSP_MASK   0x80
 
#define PCXHR_CFG_DEPENDENCY_MASK   0x60
 
#define PCXHR_CFG_INDEPENDANT_SEL   0x00
 
#define PCXHR_CFG_MASTER_SEL   0x40
 
#define PCXHR_CFG_SLAVE_SEL   0x20
 
#define PCXHR_CFG_DATA_UER1_SEL_MASK   0x10 /* 0 (UER0), 1(UER1) */
 
#define PCXHR_CFG_DATAIN_SEL_MASK   0x08 /* 0 (ana), 1 (UER) */
 
#define PCXHR_CFG_SRC_MASK   0x04 /* 0 (Bypass), 1 (SRC Actif) */
 
#define PCXHR_CFG_CLOCK_UER1_SEL_MASK   0x02 /* 0 (UER0), 1(UER1) */
 
#define PCXHR_CFG_CLOCKIN_SEL_MASK   0x01 /* 0 (internal), 1 (AES/EBU) */
 
#define PCXHR_DATA_CODEC   0x80
 
#define AKM_POWER_CONTROL_CMD   0xA007
 
#define AKM_RESET_ON_CMD   0xA100
 
#define AKM_RESET_OFF_CMD   0xA103
 
#define AKM_CLOCK_INF_55K_CMD   0xA240
 
#define AKM_CLOCK_SUP_55K_CMD   0xA24D
 
#define AKM_MUTE_CMD   0xA38D
 
#define AKM_UNMUTE_CMD   0xA30D
 
#define AKM_LEFT_LEVEL_CMD   0xA600
 
#define AKM_RIGHT_LEVEL_CMD   0xA700
 
#define PCXHR_STAT_SRC_LOCK   0x01
 
#define PCXHR_STAT_LEVEL_IN   0x02
 
#define PCXHR_STAT_GPI_OFFSET   2
 
#define PCXHR_STAT_GPI_MASK   0x0C
 
#define PCXHR_STAT_MIC_CAPS   0x10
 
#define PCXHR_STAT_FREQ_SYNC_MASK   0x01
 
#define PCXHR_STAT_FREQ_UER1_MASK   0x02
 
#define PCXHR_STAT_FREQ_SAVE_MASK   0x80
 
#define PCXHR_SUER1_BIT_U_READ_MASK   0x80
 
#define PCXHR_SUER1_BIT_C_READ_MASK   0x40
 
#define PCXHR_SUER1_DATA_PRESENT_MASK   0x20
 
#define PCXHR_SUER1_CLOCK_PRESENT_MASK   0x10
 
#define PCXHR_SUER_BIT_U_READ_MASK   0x08
 
#define PCXHR_SUER_BIT_C_READ_MASK   0x04
 
#define PCXHR_SUER_DATA_PRESENT_MASK   0x02
 
#define PCXHR_SUER_CLOCK_PRESENT_MASK   0x01
 
#define PCXHR_SUER_BIT_U_WRITE_MASK   0x02
 
#define PCXHR_SUER_BIT_C_WRITE_MASK   0x01
 
#define PCXHR_SELMIC_PREAMPLI_OFFSET   2
 
#define PCXHR_SELMIC_PREAMPLI_MASK   0x0C
 
#define PCXHR_SELMIC_PHANTOM_ALIM   0x80
 
#define SOURCE_LINE   0
 
#define SOURCE_DIGITAL   1
 
#define SOURCE_DIGISRC   2
 
#define SOURCE_MIC   3
 
#define SOURCE_LINEMIC   4
 
#define hr222_phantom_power_info   snd_ctl_boolean_mono_info
 

Functions

int hr222_sub_init (struct pcxhr_mgr *mgr)
 
int hr222_sub_set_clock (struct pcxhr_mgr *mgr, unsigned int rate, int *changed)
 
int hr222_get_external_clock (struct pcxhr_mgr *mgr, enum pcxhr_clock_type clock_type, int *sample_rate)
 
int hr222_read_gpio (struct pcxhr_mgr *mgr, int is_gpi, int *value)
 
int hr222_write_gpo (struct pcxhr_mgr *mgr, int value)
 
int hr222_manage_timecode (struct pcxhr_mgr *mgr, int enable)
 
int hr222_update_analog_audio_level (struct snd_pcxhr *chip, int is_capture, int channel)
 
int hr222_set_audio_source (struct snd_pcxhr *chip)
 
int hr222_iec958_capture_byte (struct snd_pcxhr *chip, int aes_idx, unsigned char *aes_bits)
 
int hr222_iec958_update_byte (struct snd_pcxhr *chip, int aes_idx, unsigned char aes_bits)
 
int hr222_add_mic_controls (struct snd_pcxhr *chip)
 

Macro Definition Documentation

#define AKM_CLOCK_INF_55K_CMD   0xA240

Definition at line 77 of file pcxhr_mix22.c.

#define AKM_CLOCK_SUP_55K_CMD   0xA24D

Definition at line 78 of file pcxhr_mix22.c.

#define AKM_LEFT_LEVEL_CMD   0xA600

Definition at line 81 of file pcxhr_mix22.c.

#define AKM_MUTE_CMD   0xA38D

Definition at line 79 of file pcxhr_mix22.c.

#define AKM_POWER_CONTROL_CMD   0xA007

Definition at line 74 of file pcxhr_mix22.c.

#define AKM_RESET_OFF_CMD   0xA103

Definition at line 76 of file pcxhr_mix22.c.

#define AKM_RESET_ON_CMD   0xA100

Definition at line 75 of file pcxhr_mix22.c.

#define AKM_RIGHT_LEVEL_CMD   0xA700

Definition at line 82 of file pcxhr_mix22.c.

#define AKM_UNMUTE_CMD   0xA30D

Definition at line 80 of file pcxhr_mix22.c.

#define hr222_phantom_power_info   snd_ctl_boolean_mono_info

Definition at line 805 of file pcxhr_mix22.c.

#define PCXHR_CFG_CLOCK_UER1_SEL_MASK   0x02 /* 0 (UER0), 1(UER1) */

Definition at line 69 of file pcxhr_mix22.c.

#define PCXHR_CFG_CLOCKIN_SEL_MASK   0x01 /* 0 (internal), 1 (AES/EBU) */

Definition at line 70 of file pcxhr_mix22.c.

#define PCXHR_CFG_DATA_UER1_SEL_MASK   0x10 /* 0 (UER0), 1(UER1) */

Definition at line 66 of file pcxhr_mix22.c.

#define PCXHR_CFG_DATAIN_SEL_MASK   0x08 /* 0 (ana), 1 (UER) */

Definition at line 67 of file pcxhr_mix22.c.

#define PCXHR_CFG_DEPENDENCY_MASK   0x60

Definition at line 62 of file pcxhr_mix22.c.

#define PCXHR_CFG_INDEPENDANT_SEL   0x00

Definition at line 63 of file pcxhr_mix22.c.

#define PCXHR_CFG_MASTER_SEL   0x40

Definition at line 64 of file pcxhr_mix22.c.

#define PCXHR_CFG_SLAVE_SEL   0x20

Definition at line 65 of file pcxhr_mix22.c.

#define PCXHR_CFG_SRC_MASK   0x04 /* 0 (Bypass), 1 (SRC Actif) */

Definition at line 68 of file pcxhr_mix22.c.

#define PCXHR_CFG_SYNCDSP_MASK   0x80

Definition at line 61 of file pcxhr_mix22.c.

#define PCXHR_DATA_CODEC   0x80

Definition at line 73 of file pcxhr_mix22.c.

#define PCXHR_DSP   2

Definition at line 45 of file pcxhr_mix22.c.

#define PCXHR_DSP_RESET   0x20

Definition at line 35 of file pcxhr_mix22.c.

#define PCXHR_DSP_RESET_CODEC   0x08

Definition at line 55 of file pcxhr_mix22.c.

#define PCXHR_DSP_RESET_DSP   0x01

Definition at line 53 of file pcxhr_mix22.c.

#define PCXHR_DSP_RESET_GPO_MASK   0x60

Definition at line 58 of file pcxhr_mix22.c.

#define PCXHR_DSP_RESET_GPO_OFFSET   5

Definition at line 57 of file pcxhr_mix22.c.

#define PCXHR_DSP_RESET_MUTE   0x02

Definition at line 54 of file pcxhr_mix22.c.

#define PCXHR_DSP_RESET_SMPTE   0x10

Definition at line 56 of file pcxhr_mix22.c.

#define PCXHR_INPB (   mgr,
  x 
)    inb((mgr)->port[PCXHR_DSP] + (x))

Definition at line 48 of file pcxhr_mix22.c.

#define PCXHR_OUTPB (   mgr,
  x,
  data 
)    outb((data), (mgr)->port[PCXHR_DSP] + (x))

Definition at line 49 of file pcxhr_mix22.c.

#define PCXHR_SELMIC_PHANTOM_ALIM   0x80

Definition at line 111 of file pcxhr_mix22.c.

#define PCXHR_SELMIC_PREAMPLI_MASK   0x0C

Definition at line 110 of file pcxhr_mix22.c.

#define PCXHR_SELMIC_PREAMPLI_OFFSET   2

Definition at line 109 of file pcxhr_mix22.c.

#define PCXHR_STAT_FREQ_SAVE_MASK   0x80

Definition at line 93 of file pcxhr_mix22.c.

#define PCXHR_STAT_FREQ_SYNC_MASK   0x01

Definition at line 91 of file pcxhr_mix22.c.

#define PCXHR_STAT_FREQ_UER1_MASK   0x02

Definition at line 92 of file pcxhr_mix22.c.

#define PCXHR_STAT_GPI_MASK   0x0C

Definition at line 88 of file pcxhr_mix22.c.

#define PCXHR_STAT_GPI_OFFSET   2

Definition at line 87 of file pcxhr_mix22.c.

#define PCXHR_STAT_LEVEL_IN   0x02

Definition at line 86 of file pcxhr_mix22.c.

#define PCXHR_STAT_MIC_CAPS   0x10

Definition at line 89 of file pcxhr_mix22.c.

#define PCXHR_STAT_SRC_LOCK   0x01

Definition at line 85 of file pcxhr_mix22.c.

#define PCXHR_SUER1_BIT_C_READ_MASK   0x40

Definition at line 97 of file pcxhr_mix22.c.

#define PCXHR_SUER1_BIT_U_READ_MASK   0x80

Definition at line 96 of file pcxhr_mix22.c.

#define PCXHR_SUER1_CLOCK_PRESENT_MASK   0x10

Definition at line 99 of file pcxhr_mix22.c.

#define PCXHR_SUER1_DATA_PRESENT_MASK   0x20

Definition at line 98 of file pcxhr_mix22.c.

#define PCXHR_SUER_BIT_C_READ_MASK   0x04

Definition at line 101 of file pcxhr_mix22.c.

#define PCXHR_SUER_BIT_C_WRITE_MASK   0x01

Definition at line 106 of file pcxhr_mix22.c.

#define PCXHR_SUER_BIT_U_READ_MASK   0x08

Definition at line 100 of file pcxhr_mix22.c.

#define PCXHR_SUER_BIT_U_WRITE_MASK   0x02

Definition at line 105 of file pcxhr_mix22.c.

#define PCXHR_SUER_CLOCK_PRESENT_MASK   0x01

Definition at line 103 of file pcxhr_mix22.c.

#define PCXHR_SUER_DATA_PRESENT_MASK   0x02

Definition at line 102 of file pcxhr_mix22.c.

#define PCXHR_XLX_CFG   0x24

Definition at line 36 of file pcxhr_mix22.c.

#define PCXHR_XLX_CSUER   0x3C

Definition at line 42 of file pcxhr_mix22.c.

#define PCXHR_XLX_DATA   0x2C

Definition at line 38 of file pcxhr_mix22.c.

#define PCXHR_XLX_HIFREQ   0x38

Definition at line 41 of file pcxhr_mix22.c.

#define PCXHR_XLX_LOFREQ   0x34

Definition at line 40 of file pcxhr_mix22.c.

#define PCXHR_XLX_RUER   0x28

Definition at line 37 of file pcxhr_mix22.c.

#define PCXHR_XLX_SELMIC   0x40

Definition at line 43 of file pcxhr_mix22.c.

#define PCXHR_XLX_STATUS   0x30

Definition at line 39 of file pcxhr_mix22.c.

#define SOURCE_DIGISRC   2

Definition at line 577 of file pcxhr_mix22.c.

#define SOURCE_DIGITAL   1

Definition at line 576 of file pcxhr_mix22.c.

#define SOURCE_LINE   0

Definition at line 575 of file pcxhr_mix22.c.

#define SOURCE_LINEMIC   4

Definition at line 579 of file pcxhr_mix22.c.

#define SOURCE_MIC   3

Definition at line 578 of file pcxhr_mix22.c.

Function Documentation

int hr222_add_mic_controls ( struct snd_pcxhr chip)

Definition at line 843 of file pcxhr_mix22.c.

int hr222_get_external_clock ( struct pcxhr_mgr mgr,
enum pcxhr_clock_type  clock_type,
int sample_rate 
)

Definition at line 413 of file pcxhr_mix22.c.

int hr222_iec958_capture_byte ( struct snd_pcxhr chip,
int  aes_idx,
unsigned char aes_bits 
)

Definition at line 631 of file pcxhr_mix22.c.

int hr222_iec958_update_byte ( struct snd_pcxhr chip,
int  aes_idx,
unsigned char  aes_bits 
)

Definition at line 652 of file pcxhr_mix22.c.

int hr222_manage_timecode ( struct pcxhr_mgr mgr,
int  enable 
)

Definition at line 531 of file pcxhr_mix22.c.

int hr222_read_gpio ( struct pcxhr_mgr mgr,
int  is_gpi,
int value 
)

Definition at line 505 of file pcxhr_mix22.c.

int hr222_set_audio_source ( struct snd_pcxhr chip)

Definition at line 581 of file pcxhr_mix22.c.

int hr222_sub_init ( struct pcxhr_mgr mgr)

Definition at line 283 of file pcxhr_mix22.c.

int hr222_sub_set_clock ( struct pcxhr_mgr mgr,
unsigned int  rate,
int changed 
)

Definition at line 349 of file pcxhr_mix22.c.

int hr222_update_analog_audio_level ( struct snd_pcxhr chip,
int  is_capture,
int  channel 
)

Definition at line 542 of file pcxhr_mix22.c.

int hr222_write_gpo ( struct pcxhr_mgr mgr,
int  value 
)

Definition at line 519 of file pcxhr_mix22.c.