Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
mxl5005s.c File Reference
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include "dvb_frontend.h"
#include "mxl5005s.h"

Go to the source code of this file.

Data Structures

struct  TunerReg
 
struct  TunerControl
 
struct  mxl5005s_state
 

Macros

#define dprintk(level, arg...)
 
#define TUNER_REGS_NUM   104
 
#define INITCTRL_NUM   40
 
#define CHCTRL_NUM   36
 
#define MXLCTRL_NUM   189
 
#define MASTER_CONTROL_ADDR   9
 
#define MXL5005S_REG_WRITING_TABLE_LEN_MAX   104
 
#define MXL5005S_LATCH_BYTE   0xfe
 
#define MXL5005S_BB_IQSWAP_ADDR   59
 
#define MXL5005S_BB_IQSWAP_MSB   0
 
#define MXL5005S_BB_IQSWAP_LSB   0
 
#define MXL5005S_BB_DLPF_BANDSEL_ADDR   53
 
#define MXL5005S_BB_DLPF_BANDSEL_MSB   4
 
#define MXL5005S_BB_DLPF_BANDSEL_LSB   3
 
#define MXL5005S_STANDARD_MODE_NUM   2
 
#define MXL5005S_BANDWIDTH_MODE_NUM   3
 

Enumerations

enum  master_control_state { MC_LOAD_START = 1, MC_POWER_DOWN, MC_SYNTH_RESET, MC_SEQ_OFF }
 
enum  {
  MXL_DEFAULT_MODULATION = 0, MXL_DVBT, MXL_ATSC, MXL_QAM,
  MXL_ANALOG_CABLE, MXL_ANALOG_OTA
}
 
enum  {
  DN_IQTN_AMP_CUT = 1, BB_MODE, BB_BUF, BB_BUF_OA,
  BB_ALPF_BANDSELECT, BB_IQSWAP, BB_DLPF_BANDSEL, RFSYN_CHP_GAIN,
  RFSYN_EN_CHP_HIGAIN, AGC_IF, AGC_RF, IF_DIVVAL,
  IF_VCO_BIAS, CHCAL_INT_MOD_IF, CHCAL_FRAC_MOD_IF, DRV_RES_SEL,
  I_DRIVER, EN_AAF, EN_3P, EN_AUX_3P,
  SEL_AAF_BAND, SEQ_ENCLK16_CLK_OUT, SEQ_SEL4_16B, XTAL_CAPSELECT,
  IF_SEL_DBL, RFSYN_R_DIV, SEQ_EXTSYNTHCALIF, SEQ_EXTDCCAL,
  AGC_EN_RSSI, RFA_ENCLKRFAGC, RFA_RSSI_REFH, RFA_RSSI_REF,
  RFA_RSSI_REFL, RFA_FLR, RFA_CEIL, SEQ_EXTIQFSMPULSE,
  OVERRIDE_1, BB_INITSTATE_DLPF_TUNE, TG_R_DIV, EN_CHP_LIN_B,
  DN_POLY = 51, DN_RFGAIN, DN_CAP_RFLPF, DN_EN_VHFUHFBAR,
  DN_GAIN_ADJUST, DN_IQTNBUF_AMP, DN_IQTNGNBFBIAS_BST, RFSYN_EN_OUTMUX,
  RFSYN_SEL_VCO_OUT, RFSYN_SEL_VCO_HI, RFSYN_SEL_DIVM, RFSYN_RF_DIV_BIAS,
  DN_SEL_FREQ, RFSYN_VCO_BIAS, CHCAL_INT_MOD_RF, CHCAL_FRAC_MOD_RF,
  RFSYN_LPF_R, CHCAL_EN_INT_RF, TG_LO_DIVVAL, TG_LO_SELVAL,
  TG_DIV_VAL, TG_VCO_BIAS, SEQ_EXTPOWERUP, OVERRIDE_2,
  OVERRIDE_3, OVERRIDE_4, SEQ_FSM_PULSE, GPIO_4B,
  GPIO_3B, GPIO_4, GPIO_3, GPIO_1B,
  DAC_A_ENABLE, DAC_B_ENABLE, DAC_DIN_A, DAC_DIN_B
}
 
enum  { MXL5005S_STANDARD_DVBT, MXL5005S_STANDARD_ATSC }
 
enum  { MXL5005S_BANDWIDTH_6MHZ = 6000000, MXL5005S_BANDWIDTH_7MHZ = 7000000, MXL5005S_BANDWIDTH_8MHZ = 8000000 }
 

Functions

struct dvb_frontendmxl5005s_attach (struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mxl5005s_config *config)
 
 EXPORT_SYMBOL (mxl5005s_attach)
 
 MODULE_DESCRIPTION ("MaxLinear MXL5005S silicon tuner driver")
 
 MODULE_AUTHOR ("Steven Toth")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define CHCTRL_NUM   36

Definition at line 82 of file mxl5005s.c.

#define dprintk (   level,
  arg... 
)
Value:
do { \
if (level <= debug) \
printk(arg); \
} while (0)

Definition at line 71 of file mxl5005s.c.

#define INITCTRL_NUM   40

Definition at line 77 of file mxl5005s.c.

#define MASTER_CONTROL_ADDR   9

Definition at line 86 of file mxl5005s.c.

#define MXL5005S_BANDWIDTH_MODE_NUM   3

Definition at line 230 of file mxl5005s.c.

#define MXL5005S_BB_DLPF_BANDSEL_ADDR   53

Definition at line 213 of file mxl5005s.c.

#define MXL5005S_BB_DLPF_BANDSEL_LSB   3

Definition at line 215 of file mxl5005s.c.

#define MXL5005S_BB_DLPF_BANDSEL_MSB   4

Definition at line 214 of file mxl5005s.c.

#define MXL5005S_BB_IQSWAP_ADDR   59

Definition at line 209 of file mxl5005s.c.

#define MXL5005S_BB_IQSWAP_LSB   0

Definition at line 211 of file mxl5005s.c.

#define MXL5005S_BB_IQSWAP_MSB   0

Definition at line 210 of file mxl5005s.c.

#define MXL5005S_LATCH_BYTE   0xfe

Definition at line 206 of file mxl5005s.c.

#define MXL5005S_REG_WRITING_TABLE_LEN_MAX   104

Definition at line 205 of file mxl5005s.c.

#define MXL5005S_STANDARD_MODE_NUM   2

Definition at line 222 of file mxl5005s.c.

#define MXLCTRL_NUM   189

Definition at line 85 of file mxl5005s.c.

#define TUNER_REGS_NUM   104

Definition at line 76 of file mxl5005s.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
MXL_DEFAULT_MODULATION 
MXL_DVBT 
MXL_ATSC 
MXL_QAM 
MXL_ANALOG_CABLE 
MXL_ANALOG_OTA 

Definition at line 97 of file mxl5005s.c.

anonymous enum
Enumerator:
DN_IQTN_AMP_CUT 
BB_MODE 
BB_BUF 
BB_BUF_OA 
BB_ALPF_BANDSELECT 
BB_IQSWAP 
BB_DLPF_BANDSEL 
RFSYN_CHP_GAIN 
RFSYN_EN_CHP_HIGAIN 
AGC_IF 
AGC_RF 
IF_DIVVAL 
IF_VCO_BIAS 
CHCAL_INT_MOD_IF 
CHCAL_FRAC_MOD_IF 
DRV_RES_SEL 
I_DRIVER 
EN_AAF 
EN_3P 
EN_AUX_3P 
SEL_AAF_BAND 
SEQ_ENCLK16_CLK_OUT 
SEQ_SEL4_16B 
XTAL_CAPSELECT 
IF_SEL_DBL 
RFSYN_R_DIV 
SEQ_EXTSYNTHCALIF 
SEQ_EXTDCCAL 
AGC_EN_RSSI 
RFA_ENCLKRFAGC 
RFA_RSSI_REFH 
RFA_RSSI_REF 
RFA_RSSI_REFL 
RFA_FLR 
RFA_CEIL 
SEQ_EXTIQFSMPULSE 
OVERRIDE_1 
BB_INITSTATE_DLPF_TUNE 
TG_R_DIV 
EN_CHP_LIN_B 
DN_POLY 
DN_RFGAIN 
DN_CAP_RFLPF 
DN_EN_VHFUHFBAR 
DN_GAIN_ADJUST 
DN_IQTNBUF_AMP 
DN_IQTNGNBFBIAS_BST 
RFSYN_EN_OUTMUX 
RFSYN_SEL_VCO_OUT 
RFSYN_SEL_VCO_HI 
RFSYN_SEL_DIVM 
RFSYN_RF_DIV_BIAS 
DN_SEL_FREQ 
RFSYN_VCO_BIAS 
CHCAL_INT_MOD_RF 
CHCAL_FRAC_MOD_RF 
RFSYN_LPF_R 
CHCAL_EN_INT_RF 
TG_LO_DIVVAL 
TG_LO_SELVAL 
TG_DIV_VAL 
TG_VCO_BIAS 
SEQ_EXTPOWERUP 
OVERRIDE_2 
OVERRIDE_3 
OVERRIDE_4 
SEQ_FSM_PULSE 
GPIO_4B 
GPIO_3B 
GPIO_4 
GPIO_3 
GPIO_1B 
DAC_A_ENABLE 
DAC_B_ENABLE 
DAC_DIN_A 
DAC_DIN_B 

Definition at line 112 of file mxl5005s.c.

anonymous enum
Enumerator:
MXL5005S_STANDARD_DVBT 
MXL5005S_STANDARD_ATSC 

Definition at line 218 of file mxl5005s.c.

anonymous enum
Enumerator:
MXL5005S_BANDWIDTH_6MHZ 
MXL5005S_BANDWIDTH_7MHZ 
MXL5005S_BANDWIDTH_8MHZ 

Definition at line 225 of file mxl5005s.c.

Enumerator:
MC_LOAD_START 
MC_POWER_DOWN 
MC_SYNTH_RESET 
MC_SEQ_OFF 

Definition at line 89 of file mxl5005s.c.

Function Documentation

EXPORT_SYMBOL ( mxl5005s_attach  )
MODULE_AUTHOR ( "Steven Toth"  )
MODULE_DESCRIPTION ( "MaxLinear MXL5005S silicon tuner driver )
MODULE_LICENSE ( "GPL"  )
struct dvb_frontend* mxl5005s_attach ( struct dvb_frontend fe,
struct i2c_adapter i2c,
struct mxl5005s_config config 
)
read

Definition at line 4092 of file mxl5005s.c.