Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
xc4000.c File Reference
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/videodev2.h>
#include <linux/delay.h>
#include <linux/dvb/frontend.h>
#include <linux/i2c.h>
#include <linux/mutex.h>
#include <asm/unaligned.h>
#include "dvb_frontend.h"
#include "xc4000.h"
#include "tuner-i2c.h"
#include "tuner-xc2028-types.h"

Go to the source code of this file.

Data Structures

struct  firmware_description
 
struct  firmware_properties
 
struct  xc4000_priv
 
struct  XC_TV_STANDARD
 

Macros

#define dprintk(level, fmt, arg...)
 
#define XC4000_AUDIO_STD_B   1
 
#define XC4000_AUDIO_STD_A2   2
 
#define XC4000_AUDIO_STD_K3   4
 
#define XC4000_AUDIO_STD_L   8
 
#define XC4000_AUDIO_STD_INPUT1   16
 
#define XC4000_AUDIO_STD_MONO   32
 
#define XC4000_DEFAULT_FIRMWARE   "dvb-fe-xc4000-1.4.fw"
 
#define MAX_TV_STANDARD   24
 
#define XC_MAX_I2C_WRITE_LENGTH   64
 
#define XC_POWERED_DOWN   0x80000000U
 
#define XC_RF_MODE_AIR   0
 
#define XC_RF_MODE_CABLE   1
 
#define XC_PRODUCT_ID_FW_NOT_LOADED   0x2000
 
#define XC_PRODUCT_ID_XC4000   0x0FA0
 
#define XC_PRODUCT_ID_XC4100   0x1004
 
#define XREG_INIT   0x00
 
#define XREG_VIDEO_MODE   0x01
 
#define XREG_AUDIO_MODE   0x02
 
#define XREG_RF_FREQ   0x03
 
#define XREG_D_CODE   0x04
 
#define XREG_DIRECTSITTING_MODE   0x05
 
#define XREG_SEEK_MODE   0x06
 
#define XREG_POWER_DOWN   0x08
 
#define XREG_SIGNALSOURCE   0x0A
 
#define XREG_SMOOTHEDCVBS   0x0E
 
#define XREG_AMPLITUDE   0x10
 
#define XREG_ADC_ENV   0x00
 
#define XREG_QUALITY   0x01
 
#define XREG_FRAME_LINES   0x02
 
#define XREG_HSYNC_FREQ   0x03
 
#define XREG_LOCK   0x04
 
#define XREG_FREQ_ERROR   0x05
 
#define XREG_SNR   0x06
 
#define XREG_VERSION   0x07
 
#define XREG_PRODUCT_ID   0x08
 
#define XREG_SIGNAL_LEVEL   0x0A
 
#define XREG_NOISE_LEVEL   0x0B
 
#define XC4000_MN_NTSC_PAL_BTSC   0
 
#define XC4000_MN_NTSC_PAL_A2   1
 
#define XC4000_MN_NTSC_PAL_EIAJ   2
 
#define XC4000_MN_NTSC_PAL_Mono   3
 
#define XC4000_BG_PAL_A2   4
 
#define XC4000_BG_PAL_NICAM   5
 
#define XC4000_BG_PAL_MONO   6
 
#define XC4000_I_PAL_NICAM   7
 
#define XC4000_I_PAL_NICAM_MONO   8
 
#define XC4000_DK_PAL_A2   9
 
#define XC4000_DK_PAL_NICAM   10
 
#define XC4000_DK_PAL_MONO   11
 
#define XC4000_DK_SECAM_A2DK1   12
 
#define XC4000_DK_SECAM_A2LDK3   13
 
#define XC4000_DK_SECAM_A2MONO   14
 
#define XC4000_DK_SECAM_NICAM   15
 
#define XC4000_L_SECAM_NICAM   16
 
#define XC4000_LC_SECAM_NICAM   17
 
#define XC4000_DTV6   18
 
#define XC4000_DTV8   19
 
#define XC4000_DTV7_8   20
 
#define XC4000_DTV7   21
 
#define XC4000_FM_Radio_INPUT2   22
 
#define XC4000_FM_Radio_INPUT1   23
 
#define dump_firm_type(t)   dump_firm_type_and_int_freq(t, 0)
 

Functions

 module_param (debug, int, 0644)
 
 MODULE_PARM_DESC (debug,"Debugging level (0 to 2, default: 0 (off)).")
 
 module_param (no_poweroff, int, 0644)
 
 MODULE_PARM_DESC (no_poweroff,"Power management (1: disabled, 2: enabled, ""0 (default): use device-specific default mode).")
 
 module_param (audio_std, int, 0644)
 
 MODULE_PARM_DESC (audio_std,"Audio standard. XC4000 audio decoder explicitly ""needs to know what audio standard is needed for some video standards ""with audio A2 or NICAM. The valid settings are a sum of:\n"" 1: use NICAM/B or A2/B instead of NICAM/A or A2/A\n"" 2: use A2 instead of NICAM or BTSC\n"" 4: use SECAM/K3 instead of K1\n"" 8: use PAL-D/K audio for SECAM-D/K\n""16: use FM radio input 1 instead of input 2\n""32: use mono audio (the lower three bits are ignored)")
 
 module_param_string (firmware_name, firmware_name, sizeof(firmware_name), 0)
 
 MODULE_PARM_DESC (firmware_name,"Firmware file name. Allows overriding the ""default firmware name.")
 
struct dvb_frontendxc4000_attach (struct dvb_frontend *fe, struct i2c_adapter *i2c, struct xc4000_config *cfg)
 
 EXPORT_SYMBOL (xc4000_attach)
 
 MODULE_AUTHOR ("Steven Toth, Davide Ferri")
 
 MODULE_DESCRIPTION ("Xceive xc4000 silicon tuner driver")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define dprintk (   level,
  fmt,
  arg... 
)
Value:
if (debug >= level) \
printk(KERN_INFO "%s: " fmt, "xc4000", ## arg)

Definition at line 69 of file xc4000.c.

#define dump_firm_type (   t)    dump_firm_type_and_int_freq(t, 0)

Definition at line 568 of file xc4000.c.

#define MAX_TV_STANDARD   24

Definition at line 121 of file xc4000.c.

#define XC4000_AUDIO_STD_A2   2

Definition at line 112 of file xc4000.c.

#define XC4000_AUDIO_STD_B   1

Definition at line 111 of file xc4000.c.

#define XC4000_AUDIO_STD_INPUT1   16

Definition at line 115 of file xc4000.c.

#define XC4000_AUDIO_STD_K3   4

Definition at line 113 of file xc4000.c.

#define XC4000_AUDIO_STD_L   8

Definition at line 114 of file xc4000.c.

#define XC4000_AUDIO_STD_MONO   32

Definition at line 116 of file xc4000.c.

#define XC4000_BG_PAL_A2   4

Definition at line 205 of file xc4000.c.

#define XC4000_BG_PAL_MONO   6

Definition at line 207 of file xc4000.c.

#define XC4000_BG_PAL_NICAM   5

Definition at line 206 of file xc4000.c.

#define XC4000_DEFAULT_FIRMWARE   "dvb-fe-xc4000-1.4.fw"

Definition at line 118 of file xc4000.c.

#define XC4000_DK_PAL_A2   9

Definition at line 210 of file xc4000.c.

#define XC4000_DK_PAL_MONO   11

Definition at line 212 of file xc4000.c.

#define XC4000_DK_PAL_NICAM   10

Definition at line 211 of file xc4000.c.

#define XC4000_DK_SECAM_A2DK1   12

Definition at line 213 of file xc4000.c.

#define XC4000_DK_SECAM_A2LDK3   13

Definition at line 214 of file xc4000.c.

#define XC4000_DK_SECAM_A2MONO   14

Definition at line 215 of file xc4000.c.

#define XC4000_DK_SECAM_NICAM   15

Definition at line 216 of file xc4000.c.

#define XC4000_DTV6   18

Definition at line 219 of file xc4000.c.

#define XC4000_DTV7   21

Definition at line 222 of file xc4000.c.

#define XC4000_DTV7_8   20

Definition at line 221 of file xc4000.c.

#define XC4000_DTV8   19

Definition at line 220 of file xc4000.c.

#define XC4000_FM_Radio_INPUT1   23

Definition at line 224 of file xc4000.c.

#define XC4000_FM_Radio_INPUT2   22

Definition at line 223 of file xc4000.c.

#define XC4000_I_PAL_NICAM   7

Definition at line 208 of file xc4000.c.

#define XC4000_I_PAL_NICAM_MONO   8

Definition at line 209 of file xc4000.c.

#define XC4000_L_SECAM_NICAM   16

Definition at line 217 of file xc4000.c.

#define XC4000_LC_SECAM_NICAM   17

Definition at line 218 of file xc4000.c.

#define XC4000_MN_NTSC_PAL_A2   1

Definition at line 202 of file xc4000.c.

#define XC4000_MN_NTSC_PAL_BTSC   0

Definition at line 201 of file xc4000.c.

#define XC4000_MN_NTSC_PAL_EIAJ   2

Definition at line 203 of file xc4000.c.

#define XC4000_MN_NTSC_PAL_Mono   3

Definition at line 204 of file xc4000.c.

#define XC_MAX_I2C_WRITE_LENGTH   64

Definition at line 122 of file xc4000.c.

#define XC_POWERED_DOWN   0x80000000U

Definition at line 123 of file xc4000.c.

#define XC_PRODUCT_ID_FW_NOT_LOADED   0x2000

Definition at line 130 of file xc4000.c.

#define XC_PRODUCT_ID_XC4000   0x0FA0

Definition at line 131 of file xc4000.c.

#define XC_PRODUCT_ID_XC4100   0x1004

Definition at line 132 of file xc4000.c.

#define XC_RF_MODE_AIR   0

Definition at line 126 of file xc4000.c.

#define XC_RF_MODE_CABLE   1

Definition at line 127 of file xc4000.c.

#define XREG_ADC_ENV   0x00

Definition at line 148 of file xc4000.c.

#define XREG_AMPLITUDE   0x10

Definition at line 145 of file xc4000.c.

#define XREG_AUDIO_MODE   0x02

Definition at line 137 of file xc4000.c.

#define XREG_D_CODE   0x04

Definition at line 139 of file xc4000.c.

#define XREG_DIRECTSITTING_MODE   0x05

Definition at line 140 of file xc4000.c.

#define XREG_FRAME_LINES   0x02

Definition at line 150 of file xc4000.c.

#define XREG_FREQ_ERROR   0x05

Definition at line 153 of file xc4000.c.

#define XREG_HSYNC_FREQ   0x03

Definition at line 151 of file xc4000.c.

#define XREG_INIT   0x00

Definition at line 135 of file xc4000.c.

#define XREG_LOCK   0x04

Definition at line 152 of file xc4000.c.

#define XREG_NOISE_LEVEL   0x0B

Definition at line 158 of file xc4000.c.

#define XREG_POWER_DOWN   0x08

Definition at line 142 of file xc4000.c.

#define XREG_PRODUCT_ID   0x08

Definition at line 156 of file xc4000.c.

#define XREG_QUALITY   0x01

Definition at line 149 of file xc4000.c.

#define XREG_RF_FREQ   0x03

Definition at line 138 of file xc4000.c.

#define XREG_SEEK_MODE   0x06

Definition at line 141 of file xc4000.c.

#define XREG_SIGNAL_LEVEL   0x0A

Definition at line 157 of file xc4000.c.

#define XREG_SIGNALSOURCE   0x0A

Definition at line 143 of file xc4000.c.

#define XREG_SMOOTHEDCVBS   0x0E

Definition at line 144 of file xc4000.c.

#define XREG_SNR   0x06

Definition at line 154 of file xc4000.c.

#define XREG_VERSION   0x07

Definition at line 155 of file xc4000.c.

#define XREG_VIDEO_MODE   0x01

Definition at line 136 of file xc4000.c.

Function Documentation

EXPORT_SYMBOL ( xc4000_attach  )
MODULE_AUTHOR ( "Steven  Toth,
Davide Ferri"   
)
MODULE_DESCRIPTION ( "Xceive xc4000 silicon tuner driver )
MODULE_LICENSE ( "GPL"  )
module_param ( debug  ,
int  ,
0644   
)
module_param ( no_poweroff  ,
int  ,
0644   
)
module_param ( audio_std  ,
int  ,
0644   
)
module_param_string ( firmware_name  ,
firmware_name  ,
sizeof(firmware_name)  ,
 
)
MODULE_PARM_DESC ( debug  ,
"Debugging level (0 to 2, default: 0 (off))."   
)
MODULE_PARM_DESC ( no_poweroff  ,
"Power management (1: disabled, 2: enabled, ""0 (default): use device-specific default mode)."   
)
MODULE_PARM_DESC ( audio_std  ,
"Audio standard. XC4000 audio decoder explicitly ""needs to know what audio standard is needed for some video standards ""with audio A2 or NICAM. The valid settings are a sum of:\n"" 1: use NICAM/B or A2/B instead of NICAM/A or A2/A\n"" 2: use A2 instead of NICAM or BTSC\n"" 4: use SECAM/K3 instead of K1\n"" 8: use PAL-D/K audio for SECAM-D/K\n""16: use FM radio input 1 instead of input 2\n""32: use mono audio (the lower three bits are ignored)"   
)
MODULE_PARM_DESC ( firmware_name  ,
"Firmware file name. Allows overriding the ""default firmware name."   
)
struct dvb_frontend* xc4000_attach ( struct dvb_frontend fe,
struct i2c_adapter i2c,
struct xc4000_config cfg 
)
read

Definition at line 1651 of file xc4000.c.