Browse Source

[media] mt2063: CodingStyle fixes

convert to Unix eol, run Lindent and remove bad whitespaces

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab 14 years ago
parent
commit
0e301442d6
3 changed files with 5377 additions and 5190 deletions
  1. 4642 4409
      drivers/media/common/tuners/mt2063.c
  2. 654 711
      drivers/media/common/tuners/mt2063.h
  3. 81 70
      drivers/media/common/tuners/mt2063_cfg.h

File diff suppressed because it is too large
+ 4642 - 4409
drivers/media/common/tuners/mt2063.c


+ 654 - 711
drivers/media/common/tuners/mt2063.h

@@ -1,729 +1,672 @@
-#ifndef __MT2063_H__
-#define __MT2063_H__
-
+#ifndef __MT2063_H__
+#define __MT2063_H__
+
 #include <linux/dvb/frontend.h>
-#include "dvb_frontend.h"
-
-//context of mt2063_errordef.h	<Henry>	======================================
-//#################################################################
-//=================================================================
-
-/*
-** Note to users:  DO NOT EDIT THIS FILE  
-**
-** If you wish to rename any of the "user defined" bits,
-** it should be done in the user file that includes this
-** source file (e.g. mt_userdef.h)
-**
-*/
-
-
-
-#define MT2063_ERROR (1 << 31)
-#define MT2063_USER_ERROR (1 << 30)
-
-/*  Macro to be used to check for errors  */
-#define MT2063_IS_ERROR(s) (((s) >> 30) != 0)
-#define MT2063_NO_ERROR(s) (((s) >> 30) == 0)
-
-
-#define MT2063_OK                           (0x00000000)
-
-/*  Unknown error  */
-#define MT2063_UNKNOWN                      (0x80000001)
-
-/*  Error:  Upconverter PLL is not locked  */
-#define MT2063_UPC_UNLOCK                   (0x80000002)
-
-/*  Error:  Downconverter PLL is not locked  */
-#define MT2063_DNC_UNLOCK                   (0x80000004)
-
-/*  Error:  Two-wire serial bus communications error  */
-#define MT2063_COMM_ERR                     (0x80000008)
-
-/*  Error:  Tuner handle passed to function was invalid  */
-#define MT2063_INV_HANDLE                   (0x80000010)
-
-/*  Error:  Function argument is invalid (out of range)  */
-#define MT2063_ARG_RANGE                    (0x80000020)
-
-/*  Error:  Function argument (ptr to return value) was NULL  */
-#define MT2063_ARG_NULL                     (0x80000040)
-
-/*  Error: Attempt to open more than MT_TUNER_CNT tuners  */
-#define MT2063_TUNER_CNT_ERR                (0x80000080)
-
-/*  Error: Tuner Part Code / Rev Code mismatches expected value  */
-#define MT2063_TUNER_ID_ERR                 (0x80000100)
-
-/*  Error: Tuner Initialization failure  */
-#define MT2063_TUNER_INIT_ERR               (0x80000200)
-
-#define MT2063_TUNER_OPEN_ERR               (0x80000400)
-
-/*  User-definable fields (see mt_userdef.h)  */
-#define MT2063_USER_DEFINED1                (0x00001000)
-#define MT2063_USER_DEFINED2                (0x00002000)
-#define MT2063_USER_DEFINED3                (0x00004000)
-#define MT2063_USER_DEFINED4                (0x00008000)
-#define MT2063_USER_MASK                    (0x4000f000)
-#define MT2063_USER_SHIFT                   (12)
-
-/*  Info: Mask of bits used for # of LO-related spurs that were avoided during tuning  */
-#define MT2063_SPUR_CNT_MASK                (0x001f0000)
-#define MT2063_SPUR_SHIFT                   (16)
-
-/*  Info: Tuner timeout waiting for condition  */
-#define MT2063_TUNER_TIMEOUT                (0x00400000)
-
-/*  Info: Unavoidable LO-related spur may be present in the output  */
-#define MT2063_SPUR_PRESENT_ERR                 (0x00800000)
-
-/*  Info: Tuner input frequency is out of range */
-#define MT2063_FIN_RANGE                    (0x01000000)
-
-/*  Info: Tuner output frequency is out of range */
-#define MT2063_FOUT_RANGE                   (0x02000000)
-
-/*  Info: Upconverter frequency is out of range (may be reason for MT_UPC_UNLOCK) */
-#define MT2063_UPC_RANGE                    (0x04000000)
-
-/*  Info: Downconverter frequency is out of range (may be reason for MT_DPC_UNLOCK) */
-#define MT2063_DNC_RANGE                    (0x08000000)
-
-//end of mt2063_errordef.h	
-//=================================================================
-//#################################################################
-//=================================================================
-
-//context of mt2063_userdef.h	<Henry>	======================================
-//#################################################################
-//=================================================================
-/*
-**  Data Types
-*/
-#define MT2060_CNT 10
-
-typedef unsigned char   U8Data;         /*  type corresponds to 8 bits      */
-typedef unsigned int    UData_t;        /*  type must be at least 32 bits   */
-typedef int             SData_t;        /*  type must be at least 32 bits   */
-typedef void *          Handle_t;       /*  memory pointer type             */
-//typedef double          FData_t;        /*  floating point data type        */
-
-#define MAX_UDATA         (4294967295)  /*  max value storable in UData_t   */
-
-/*
-** Define an MTxxxx_CNT macro for each type of tuner that will be built
-** into your application (e.g., MT2121, MT2060). MT_TUNER_CNT
-** must be set to the SUM of all of the MTxxxx_CNT macros.
-**
-** #define MT2050_CNT  (1)
-** #define MT2060_CNT  (1)
-** #define MT2111_CNT  (1)
-** #define MT2121_CNT  (3)
-*/
-
-#define MT2063_CNT (1)
-
-#if !defined( MT2063_TUNER_CNT )
-#define MT2063_TUNER_CNT               (1)  /*  total num of MicroTuner tuners  */
-#endif
-#define MT2063_I2C (0xC0)
-
-UData_t MT2063_WriteSub(Handle_t hUserData, 
-                    UData_t addr, 
-                    U8Data subAddress, 
-                    U8Data *pData, 
-                    UData_t cnt);
-
-
-UData_t MT2063_ReadSub(Handle_t hUserData, 
-                   UData_t addr, 
-                   U8Data subAddress, 
-                   U8Data *pData, 
-                   UData_t cnt);
-
-
-void MT2063_Sleep(Handle_t hUserData,
-              UData_t nMinDelayTime);
-
-
-#if defined(MT2060_CNT)
-#if MT2060_CNT > 0
-UData_t MT2060_TunerGain(Handle_t hUserData,
-                     SData_t* pMeas);
-#endif
-#endif
-//end of mt2063_userdef.h
-//=================================================================
-//#################################################################
-//=================================================================
-
-
-//context of mt2063_spruavoid.h	<Henry>	======================================
-//#################################################################
-//=================================================================
-/*
-**  Constant defining the version of the following structure
-**  and therefore the API for this code.
-**
-**  When compiling the tuner driver, the preprocessor will
-**  check against this version number to make sure that
-**  it matches the version that the tuner driver knows about.
-*/
-/* Version 010201 => 1.21 */
-#define MT2063_AVOID_SPURS_INFO_VERSION 010201
-
-
-/* DECT Frequency Avoidance */
-#define MT2063_DECT_AVOID_US_FREQS      0x00000001
-
-#define MT2063_DECT_AVOID_EURO_FREQS    0x00000002
-
-#define MT2063_EXCLUDE_US_DECT_FREQUENCIES(s) (((s) & MT2063_DECT_AVOID_US_FREQS) != 0)
-
-#define MT2063_EXCLUDE_EURO_DECT_FREQUENCIES(s) (((s) & MT2063_DECT_AVOID_EURO_FREQS) != 0)
-
-
-enum MT2063_DECT_Avoid_Type
-{
-    MT2063_NO_DECT_AVOIDANCE = 0,                          /* Do not create DECT exclusion zones.     */
-    MT2063_AVOID_US_DECT     = MT2063_DECT_AVOID_US_FREQS,     /* Avoid US DECT frequencies.              */
-    MT2063_AVOID_EURO_DECT   = MT2063_DECT_AVOID_EURO_FREQS,   /* Avoid European DECT frequencies.        */
-    MT2063_AVOID_BOTH                                      /* Avoid both regions. Not typically used. */
-
-} ;
-
-
-#define MT2063_MAX_ZONES 48
-
-struct MT2063_ExclZone_t;
-
-struct MT2063_ExclZone_t
-{
-    UData_t         min_;
-    UData_t         max_;
-    struct MT2063_ExclZone_t*  next_;
-};
-
-/*
-**  Structure of data needed for Spur Avoidance
-*/
-struct MT2063_AvoidSpursData_t
-{
-    UData_t nAS_Algorithm;
-    UData_t f_ref;
-    UData_t f_in;
-    UData_t f_LO1;
-    UData_t f_if1_Center;
-    UData_t f_if1_Request;
-    UData_t f_if1_bw;
-    UData_t f_LO2;
-    UData_t f_out;
-    UData_t f_out_bw;
-    UData_t f_LO1_Step;
-    UData_t f_LO2_Step;
-    UData_t f_LO1_FracN_Avoid;
-    UData_t f_LO2_FracN_Avoid;
-    UData_t f_zif_bw;
-    UData_t f_min_LO_Separation;
-    UData_t maxH1;
-    UData_t maxH2;
-    enum MT2063_DECT_Avoid_Type  avoidDECT;
-    UData_t bSpurPresent;
-    UData_t bSpurAvoided;
-    UData_t nSpursFound;
-    UData_t nZones;
-    struct MT2063_ExclZone_t* freeZones;
-    struct MT2063_ExclZone_t* usedZones;
-    struct MT2063_ExclZone_t MT2063_ExclZones[MT2063_MAX_ZONES];
-};
-
-UData_t MT2063_RegisterTuner(struct MT2063_AvoidSpursData_t* pAS_Info);
-
-void MT2063_UnRegisterTuner(struct MT2063_AvoidSpursData_t* pAS_Info);
-
-void MT2063_ResetExclZones(struct MT2063_AvoidSpursData_t* pAS_Info);
-
-void MT2063_AddExclZone(struct MT2063_AvoidSpursData_t* pAS_Info,
-                    UData_t f_min,
-                    UData_t f_max);
-
-UData_t MT2063_ChooseFirstIF(struct MT2063_AvoidSpursData_t* pAS_Info);
-
-UData_t MT2063_AvoidSpurs(Handle_t h,
-                     struct MT2063_AvoidSpursData_t* pAS_Info);
-
-UData_t MT2063_AvoidSpursVersion(void);
-
-//end of mt2063_spuravoid.h
-//=================================================================
-//#################################################################
-//=================================================================
-
-
-/*
-**  Values returned by the MT2063's on-chip temperature sensor
-**  to be read/written.
-*/
-enum MT2063_Temperature
-{
-    MT2063_T_0C = 0,                    /*  Temperature approx 0C           */
-    MT2063_T_10C,                       /*  Temperature approx 10C          */
-    MT2063_T_20C,                       /*  Temperature approx 20C          */
-    MT2063_T_30C,                       /*  Temperature approx 30C          */
-    MT2063_T_40C,                       /*  Temperature approx 40C          */
-    MT2063_T_50C,                       /*  Temperature approx 50C          */
-    MT2063_T_60C,                       /*  Temperature approx 60C          */
-    MT2063_T_70C,                       /*  Temperature approx 70C          */
-    MT2063_T_80C,                       /*  Temperature approx 80C          */
-    MT2063_T_90C,                       /*  Temperature approx 90C          */
-    MT2063_T_100C,                      /*  Temperature approx 100C         */
-    MT2063_T_110C,                      /*  Temperature approx 110C         */
-    MT2063_T_120C,                      /*  Temperature approx 120C         */
-    MT2063_T_130C,                      /*  Temperature approx 130C         */
-    MT2063_T_140C,                      /*  Temperature approx 140C         */
-    MT2063_T_150C,                      /*  Temperature approx 150C         */
-};
-
-
-/*
-** Parameters for selecting GPIO bits
-*/
-enum MT2063_GPIO_Attr
-{
-    MT2063_GPIO_IN,
-    MT2063_GPIO_DIR,
-    MT2063_GPIO_OUT,
-};
-
-enum MT2063_GPIO_ID
-{
-    MT2063_GPIO0,
-    MT2063_GPIO1,
-    MT2063_GPIO2,
-};
-
-
-/*
-**  Parameter for function MT2063_SetExtSRO that specifies the external
-**  SRO drive frequency.
-**
-**  MT2063_EXT_SRO_OFF is the power-up default value.
-*/
-enum MT2063_Ext_SRO
-{
-    MT2063_EXT_SRO_OFF,                 /*  External SRO drive off          */
-    MT2063_EXT_SRO_BY_4,                /*  External SRO drive divide by 4  */
-    MT2063_EXT_SRO_BY_2,                /*  External SRO drive divide by 2  */
-    MT2063_EXT_SRO_BY_1                 /*  External SRO drive divide by 1  */
-};
-
-
-/*
-**  Parameter for function MT2063_SetPowerMask that specifies the power down
-**  of various sections of the MT2063.
-*/
-enum MT2063_Mask_Bits
-{
-    MT2063_REG_SD   = 0x0040,   /* Shutdown regulator                 */
-    MT2063_SRO_SD   = 0x0020,   /* Shutdown SRO                       */
-    MT2063_AFC_SD   = 0x0010,   /* Shutdown AFC A/D                   */
-    MT2063_PD_SD    = 0x0002,   /* Enable power detector shutdown     */
-    MT2063_PDADC_SD = 0x0001,   /* Enable power detector A/D shutdown */
-    MT2063_VCO_SD   = 0x8000,   /* Enable VCO shutdown                */
-    MT2063_LTX_SD   = 0x4000,   /* Enable LTX shutdown                */
-    MT2063_LT1_SD   = 0x2000,   /* Enable LT1 shutdown                */
-    MT2063_LNA_SD   = 0x1000,   /* Enable LNA shutdown                */
-    MT2063_UPC_SD   = 0x0800,   /* Enable upconverter shutdown        */
-    MT2063_DNC_SD   = 0x0400,   /* Enable downconverter shutdown      */
-    MT2063_VGA_SD   = 0x0200,   /* Enable VGA shutdown                */
-    MT2063_AMP_SD   = 0x0100,   /* Enable AMP shutdown                */
-    MT2063_ALL_SD   = 0xFF73,   /* All shutdown bits for this tuner   */
-    MT2063_NONE_SD  = 0x0000    /* No shutdown bits                   */
-};
-
-
-/*
-**  Parameter for function MT2063_GetParam & MT2063_SetParam that
-**  specifies the tuning algorithm parameter to be read/written.
-*/
-enum MT2063_Param
-{
-    /*  tuner address                                  set by MT2063_Open() */
-    MT2063_IC_ADDR,
-
-    /*  max number of MT2063 tuners     set by MT_TUNER_CNT in mt_userdef.h */
-    MT2063_MAX_OPEN,
-
-    /*  current number of open MT2063 tuners           set by MT2063_Open() */
-    MT2063_NUM_OPEN,
-
-    /*  crystal frequency                            (default: 16000000 Hz) */
-    MT2063_SRO_FREQ,
-
-    /*  min tuning step size                            (default: 50000 Hz) */
-    MT2063_STEPSIZE,
-
-    /*  input center frequency                         set by MT2063_Tune() */
-    MT2063_INPUT_FREQ,
-
-    /*  LO1 Frequency                                  set by MT2063_Tune() */
-    MT2063_LO1_FREQ,
-
-    /*  LO1 minimum step size                          (default: 250000 Hz) */
-    MT2063_LO1_STEPSIZE,
-
-    /*  LO1 FracN keep-out region                      (default: 999999 Hz) */
-    MT2063_LO1_FRACN_AVOID_PARAM,
-
-    /*  Current 1st IF in use                          set by MT2063_Tune() */
-    MT2063_IF1_ACTUAL,
-
-    /*  Requested 1st IF                               set by MT2063_Tune() */
-    MT2063_IF1_REQUEST,
-
-    /*  Center of 1st IF SAW filter                (default: 1218000000 Hz) */
-    MT2063_IF1_CENTER,
-
-    /*  Bandwidth of 1st IF SAW filter               (default: 20000000 Hz) */
-    MT2063_IF1_BW,
-
-    /*  zero-IF bandwidth                             (default: 2000000 Hz) */
-    MT2063_ZIF_BW,
-
-    /*  LO2 Frequency                                  set by MT2063_Tune() */
-    MT2063_LO2_FREQ,
-
-    /*  LO2 minimum step size                           (default: 50000 Hz) */
-    MT2063_LO2_STEPSIZE,
-
-    /*  LO2 FracN keep-out region                      (default: 374999 Hz) */
-    MT2063_LO2_FRACN_AVOID,
-
-    /*  output center frequency                        set by MT2063_Tune() */
-    MT2063_OUTPUT_FREQ,
-
-    /*  output bandwidth                               set by MT2063_Tune() */
-    MT2063_OUTPUT_BW,
-
-    /*  min inter-tuner LO separation                 (default: 1000000 Hz) */
-    MT2063_LO_SEPARATION,
-
-    /*  ID of avoid-spurs algorithm in use            compile-time constant */
-    MT2063_AS_ALG,
-
-    /*  max # of intra-tuner harmonics                       (default: 15)  */
-    MT2063_MAX_HARM1,
-
-    /*  max # of inter-tuner harmonics                        (default: 7)  */
-    MT2063_MAX_HARM2,
-
-    /*  # of 1st IF exclusion zones used               set by MT2063_Tune() */
-    MT2063_EXCL_ZONES,
-
-    /*  # of spurs found/avoided                       set by MT2063_Tune() */
-    MT2063_NUM_SPURS,
-
-    /*  >0 spurs avoided                               set by MT2063_Tune() */
-    MT2063_SPUR_AVOIDED,
-
-    /*  >0 spurs in output (mathematically)            set by MT2063_Tune() */
-    MT2063_SPUR_PRESENT,
-
-    /* Receiver Mode for some parameters. 1 is DVB-T                        */
-    MT2063_RCVR_MODE,
-
-    /* directly set LNA attenuation, parameter is value to set              */
-    MT2063_ACLNA,
-
-    /* maximum LNA attenuation, parameter is value to set                   */
-    MT2063_ACLNA_MAX,
-
-    /* directly set ATN attenuation.  Paremeter is value to set.            */
-    MT2063_ACRF,
-
-    /* maxium ATN attenuation.  Paremeter is value to set.                  */
-    MT2063_ACRF_MAX,
-
-    /* directly set FIF attenuation.  Paremeter is value to set.            */
-    MT2063_ACFIF,
-
-    /* maxium FIF attenuation.  Paremeter is value to set.                  */
-    MT2063_ACFIF_MAX,
-
-    /*  LNA Rin                                                             */
-    MT2063_LNA_RIN,
-
-    /*  Power Detector LNA level target                                     */
-    MT2063_LNA_TGT,
-
-    /*  Power Detector 1 level                                              */
-    MT2063_PD1,
-
-    /*  Power Detector 1 level target                                       */
-    MT2063_PD1_TGT,
-
-    /*  Power Detector 2 level                                              */
-    MT2063_PD2,
-
-    /*  Power Detector 2 level target                                       */
-    MT2063_PD2_TGT,
-
-    /*  Selects, which DNC is activ                                         */
-    MT2063_DNC_OUTPUT_ENABLE,
-
-    /*  VGA gain code                                                       */
-    MT2063_VGAGC,
-
-    /*  VGA bias current                                                    */
-    MT2063_VGAOI,
-
-    /*  TAGC, determins the speed of the AGC                                */
-    MT2063_TAGC,
-
-    /*  AMP gain code                                                       */
-    MT2063_AMPGC,
-
-    /* Control setting to avoid DECT freqs         (default: MT_AVOID_BOTH) */
-    MT2063_AVOID_DECT,
-
-    /* Cleartune filter selection: 0 - by IC (default), 1 - by software     */
-    MT2063_CTFILT_SW,
-
-    MT2063_EOP                    /*  last entry in enumerated list         */
-
-};
-
-
-/*
-**  Parameter for selecting tuner mode
-*/
-enum MT2063_RCVR_MODES
-{
-    MT2063_CABLE_QAM = 0,            /* Digital cable              */
-    MT2063_CABLE_ANALOG,             /* Analog cable               */
-    MT2063_OFFAIR_COFDM,             /* Digital offair             */
-    MT2063_OFFAIR_COFDM_SAWLESS,     /* Digital offair without SAW */
-    MT2063_OFFAIR_ANALOG,            /* Analog offair              */
-    MT2063_OFFAIR_8VSB,              /* Analog offair              */
-    MT2063_NUM_RCVR_MODES
-};
-
-
-/*
-**  Possible values for MT2063_DNC_OUTPUT
-*/
-enum MT2063_DNC_Output_Enable{
-    MT2063_DNC_NONE = 0,
-    MT2063_DNC_1,
-    MT2063_DNC_2,
-    MT2063_DNC_BOTH
-};
-
-/*
-**  Two-wire serial bus subaddresses of the tuner registers.
-**  Also known as the tuner's register addresses.
-*/
-enum MT2063_Register_Offsets
-{
-    MT2063_REG_PART_REV = 0,   /*  0x00: Part/Rev Code         */
-    MT2063_REG_LO1CQ_1,        /*  0x01: LO1C Queued Byte 1    */
-    MT2063_REG_LO1CQ_2,        /*  0x02: LO1C Queued Byte 2    */
-    MT2063_REG_LO2CQ_1,        /*  0x03: LO2C Queued Byte 1    */
-    MT2063_REG_LO2CQ_2,        /*  0x04: LO2C Queued Byte 2    */
-    MT2063_REG_LO2CQ_3,        /*  0x05: LO2C Queued Byte 3    */
-    MT2063_REG_RSVD_06,        /*  0x06: Reserved              */
-    MT2063_REG_LO_STATUS,      /*  0x07: LO Status             */
-    MT2063_REG_FIFFC,          /*  0x08: FIFF Center           */
-    MT2063_REG_CLEARTUNE,      /*  0x09: ClearTune Filter      */
-    MT2063_REG_ADC_OUT,        /*  0x0A: ADC_OUT               */
-    MT2063_REG_LO1C_1,         /*  0x0B: LO1C Byte 1           */
-    MT2063_REG_LO1C_2,         /*  0x0C: LO1C Byte 2           */
-    MT2063_REG_LO2C_1,         /*  0x0D: LO2C Byte 1           */
-    MT2063_REG_LO2C_2,         /*  0x0E: LO2C Byte 2           */
-    MT2063_REG_LO2C_3,         /*  0x0F: LO2C Byte 3           */
-    MT2063_REG_RSVD_10,        /*  0x10: Reserved              */
-    MT2063_REG_PWR_1,          /*  0x11: PWR Byte 1            */
-    MT2063_REG_PWR_2,          /*  0x12: PWR Byte 2            */
-    MT2063_REG_TEMP_STATUS,    /*  0x13: Temp Status           */
-    MT2063_REG_XO_STATUS,      /*  0x14: Crystal Status        */
-    MT2063_REG_RF_STATUS,      /*  0x15: RF Attn Status        */
-    MT2063_REG_FIF_STATUS,     /*  0x16: FIF Attn Status       */
-    MT2063_REG_LNA_OV,         /*  0x17: LNA Attn Override     */
-    MT2063_REG_RF_OV,          /*  0x18: RF Attn Override      */
-    MT2063_REG_FIF_OV,         /*  0x19: FIF Attn Override     */
-    MT2063_REG_LNA_TGT,        /*  0x1A: Reserved              */
-    MT2063_REG_PD1_TGT,        /*  0x1B: Pwr Det 1 Target      */
-    MT2063_REG_PD2_TGT,        /*  0x1C: Pwr Det 2 Target      */
-    MT2063_REG_RSVD_1D,        /*  0x1D: Reserved              */
-    MT2063_REG_RSVD_1E,        /*  0x1E: Reserved              */
-    MT2063_REG_RSVD_1F,        /*  0x1F: Reserved              */
-    MT2063_REG_RSVD_20,        /*  0x20: Reserved              */
-    MT2063_REG_BYP_CTRL,       /*  0x21: Bypass Control        */
-    MT2063_REG_RSVD_22,        /*  0x22: Reserved              */
-    MT2063_REG_RSVD_23,        /*  0x23: Reserved              */
-    MT2063_REG_RSVD_24,        /*  0x24: Reserved              */
-    MT2063_REG_RSVD_25,        /*  0x25: Reserved              */
-    MT2063_REG_RSVD_26,        /*  0x26: Reserved              */
-    MT2063_REG_RSVD_27,        /*  0x27: Reserved              */
-    MT2063_REG_FIFF_CTRL,      /*  0x28: FIFF Control          */
-    MT2063_REG_FIFF_OFFSET,    /*  0x29: FIFF Offset           */
-    MT2063_REG_CTUNE_CTRL,     /*  0x2A: Reserved              */
-    MT2063_REG_CTUNE_OV,       /*  0x2B: Reserved              */
-    MT2063_REG_CTRL_2C,        /*  0x2C: Reserved              */
-    MT2063_REG_FIFF_CTRL2,     /*  0x2D: Fiff Control          */
-    MT2063_REG_RSVD_2E,        /*  0x2E: Reserved              */
-    MT2063_REG_DNC_GAIN,       /*  0x2F: DNC Control           */
-    MT2063_REG_VGA_GAIN,       /*  0x30: VGA Gain Ctrl         */
-    MT2063_REG_RSVD_31,        /*  0x31: Reserved              */
-    MT2063_REG_TEMP_SEL,       /*  0x32: Temperature Selection */
-    MT2063_REG_RSVD_33,        /*  0x33: Reserved              */
-    MT2063_REG_RSVD_34,        /*  0x34: Reserved              */
-    MT2063_REG_RSVD_35,        /*  0x35: Reserved              */
-    MT2063_REG_RSVD_36,        /*  0x36: Reserved              */
-    MT2063_REG_RSVD_37,        /*  0x37: Reserved              */
-    MT2063_REG_RSVD_38,        /*  0x38: Reserved              */
-    MT2063_REG_RSVD_39,        /*  0x39: Reserved              */
-    MT2063_REG_RSVD_3A,        /*  0x3A: Reserved              */
-    MT2063_REG_RSVD_3B,        /*  0x3B: Reserved              */
-    MT2063_REG_RSVD_3C,        /*  0x3C: Reserved              */
-    MT2063_REG_END_REGS
-};
-
-struct MT2063_Info_t
-{
-    Handle_t    handle;
-    Handle_t    hUserData;
-    UData_t     address;
-    UData_t     version;
-    UData_t     tuner_id;
-    struct MT2063_AvoidSpursData_t AS_Data;
-    UData_t     f_IF1_actual;
-    UData_t     rcvr_mode;
-    UData_t     ctfilt_sw;
-    UData_t     CTFiltMax[31];
-    UData_t     num_regs;
-    U8Data      reg[MT2063_REG_END_REGS];
-} ;
-typedef struct MT2063_Info_t* pMT2063_Info_t;
-
-enum MTTune_atv_standard{
-	MTTUNEA_UNKNOWN = 0,
-	MTTUNEA_PAL_B,
-	MTTUNEA_PAL_G,
-	MTTUNEA_PAL_I,
-	MTTUNEA_PAL_L,
-	MTTUNEA_PAL_MN,
-	MTTUNEA_PAL_DK,
-	MTTUNEA_DIGITAL,
-	MTTUNEA_FMRADIO,
-	MTTUNEA_DVBC,
-	MTTUNEA_DVBT
-};
-
-/* ====== Functions which are declared in MT2063.c File ======= */
-
-UData_t MT2063_Open(UData_t MT2063_Addr,
-                    Handle_t* hMT2063,
-                    Handle_t hUserData);
-
-
-UData_t MT2063_Close(Handle_t hMT2063);
-
-UData_t MT2063_Tune(Handle_t h,
-                    UData_t f_in);    /* RF input center frequency   */
-
-UData_t MT2063_GetGPIO(Handle_t h, enum MT2063_GPIO_ID gpio_id, enum MT2063_GPIO_Attr attr, UData_t* value);
-
-
-UData_t MT2063_GetLocked(Handle_t h);
-
-
-UData_t MT2063_GetParam(Handle_t     h,
-                        enum MT2063_Param param,
-                        UData_t*     pValue);
-
-
-UData_t MT2063_GetReg(Handle_t h,
-                      U8Data   reg,
-                      U8Data*  val);
-
-
-UData_t MT2063_GetTemp(Handle_t h, enum MT2063_Temperature* value);
-
-
-UData_t MT2063_GetUserData(Handle_t h,
-                           Handle_t* hUserData);
-
-UData_t MT2063_ReInit(Handle_t h);
-
-
-UData_t MT2063_SetGPIO(Handle_t h, enum MT2063_GPIO_ID gpio_id, enum MT2063_GPIO_Attr attr, UData_t value);
-
-UData_t MT2063_SetParam(Handle_t     h,
-                        enum MT2063_Param param,
-                        UData_t      nValue);
-
-
-UData_t MT2063_SetPowerMaskBits(Handle_t h, enum MT2063_Mask_Bits Bits);
-
-UData_t MT2063_ClearPowerMaskBits(Handle_t h, enum MT2063_Mask_Bits Bits);
-
-UData_t MT2063_GetPowerMaskBits(Handle_t h, enum MT2063_Mask_Bits *Bits);
-
-UData_t MT2063_EnableExternalShutdown(Handle_t h, U8Data Enabled);
-
-UData_t MT2063_SoftwareShutdown(Handle_t h, U8Data Shutdown);
-
-UData_t MT2063_SetExtSRO(Handle_t h, enum MT2063_Ext_SRO Ext_SRO_Setting);
-
-UData_t MT2063_SetReg(Handle_t h,
-                      U8Data   reg,
-                      U8Data   val);
-
-UData_t MT_Tune_atv(Handle_t h, UData_t f_in,UData_t bw_in, enum MTTune_atv_standard tv_type); 
-
-
-
-struct mt2063_config {
-	u8	tuner_address;
-	u32	refclock;
+#include "dvb_frontend.h"
+
+//context of mt2063_errordef.h  <Henry> ======================================
+//#################################################################
+//=================================================================
+
+/*
+** Note to users:  DO NOT EDIT THIS FILE
+**
+** If you wish to rename any of the "user defined" bits,
+** it should be done in the user file that includes this
+** source file (e.g. mt_userdef.h)
+**
+*/
+
+#define MT2063_ERROR (1 << 31)
+#define MT2063_USER_ERROR (1 << 30)
+
+/*  Macro to be used to check for errors  */
+#define MT2063_IS_ERROR(s) (((s) >> 30) != 0)
+#define MT2063_NO_ERROR(s) (((s) >> 30) == 0)
+
+#define MT2063_OK                           (0x00000000)
+
+/*  Unknown error  */
+#define MT2063_UNKNOWN                      (0x80000001)
+
+/*  Error:  Upconverter PLL is not locked  */
+#define MT2063_UPC_UNLOCK                   (0x80000002)
+
+/*  Error:  Downconverter PLL is not locked  */
+#define MT2063_DNC_UNLOCK                   (0x80000004)
+
+/*  Error:  Two-wire serial bus communications error  */
+#define MT2063_COMM_ERR                     (0x80000008)
+
+/*  Error:  Tuner handle passed to function was invalid  */
+#define MT2063_INV_HANDLE                   (0x80000010)
+
+/*  Error:  Function argument is invalid (out of range)  */
+#define MT2063_ARG_RANGE                    (0x80000020)
+
+/*  Error:  Function argument (ptr to return value) was NULL  */
+#define MT2063_ARG_NULL                     (0x80000040)
+
+/*  Error: Attempt to open more than MT_TUNER_CNT tuners  */
+#define MT2063_TUNER_CNT_ERR                (0x80000080)
+
+/*  Error: Tuner Part Code / Rev Code mismatches expected value  */
+#define MT2063_TUNER_ID_ERR                 (0x80000100)
+
+/*  Error: Tuner Initialization failure  */
+#define MT2063_TUNER_INIT_ERR               (0x80000200)
+
+#define MT2063_TUNER_OPEN_ERR               (0x80000400)
+
+/*  User-definable fields (see mt_userdef.h)  */
+#define MT2063_USER_DEFINED1                (0x00001000)
+#define MT2063_USER_DEFINED2                (0x00002000)
+#define MT2063_USER_DEFINED3                (0x00004000)
+#define MT2063_USER_DEFINED4                (0x00008000)
+#define MT2063_USER_MASK                    (0x4000f000)
+#define MT2063_USER_SHIFT                   (12)
+
+/*  Info: Mask of bits used for # of LO-related spurs that were avoided during tuning  */
+#define MT2063_SPUR_CNT_MASK                (0x001f0000)
+#define MT2063_SPUR_SHIFT                   (16)
+
+/*  Info: Tuner timeout waiting for condition  */
+#define MT2063_TUNER_TIMEOUT                (0x00400000)
+
+/*  Info: Unavoidable LO-related spur may be present in the output  */
+#define MT2063_SPUR_PRESENT_ERR                 (0x00800000)
+
+/*  Info: Tuner input frequency is out of range */
+#define MT2063_FIN_RANGE                    (0x01000000)
+
+/*  Info: Tuner output frequency is out of range */
+#define MT2063_FOUT_RANGE                   (0x02000000)
+
+/*  Info: Upconverter frequency is out of range (may be reason for MT_UPC_UNLOCK) */
+#define MT2063_UPC_RANGE                    (0x04000000)
+
+/*  Info: Downconverter frequency is out of range (may be reason for MT_DPC_UNLOCK) */
+#define MT2063_DNC_RANGE                    (0x08000000)
+
+//end of mt2063_errordef.h
+//=================================================================
+//#################################################################
+//=================================================================
+
+//context of mt2063_userdef.h   <Henry> ======================================
+//#################################################################
+//=================================================================
+/*
+**  Data Types
+*/
+#define MT2060_CNT 10
+
+typedef unsigned char U8Data;	/*  type corresponds to 8 bits      */
+typedef unsigned int UData_t;	/*  type must be at least 32 bits   */
+typedef int SData_t;		/*  type must be at least 32 bits   */
+typedef void *Handle_t;		/*  memory pointer type             */
+//typedef double          FData_t;        /*  floating point data type        */
+
+#define MAX_UDATA         (4294967295)	/*  max value storable in UData_t   */
+
+/*
+** Define an MTxxxx_CNT macro for each type of tuner that will be built
+** into your application (e.g., MT2121, MT2060). MT_TUNER_CNT
+** must be set to the SUM of all of the MTxxxx_CNT macros.
+**
+** #define MT2050_CNT  (1)
+** #define MT2060_CNT  (1)
+** #define MT2111_CNT  (1)
+** #define MT2121_CNT  (3)
+*/
+
+#define MT2063_CNT (1)
+
+#if !defined( MT2063_TUNER_CNT )
+#define MT2063_TUNER_CNT               (1)	/*  total num of MicroTuner tuners  */
+#endif
+#define MT2063_I2C (0xC0)
+
+UData_t MT2063_WriteSub(Handle_t hUserData,
+			UData_t addr,
+			U8Data subAddress, U8Data * pData, UData_t cnt);
+
+UData_t MT2063_ReadSub(Handle_t hUserData,
+		       UData_t addr,
+		       U8Data subAddress, U8Data * pData, UData_t cnt);
+
+void MT2063_Sleep(Handle_t hUserData, UData_t nMinDelayTime);
+
+#if defined(MT2060_CNT)
+#if MT2060_CNT > 0
+UData_t MT2060_TunerGain(Handle_t hUserData, SData_t * pMeas);
+#endif
+#endif
+//end of mt2063_userdef.h
+//=================================================================
+//#################################################################
+//=================================================================
+
+//context of mt2063_spruavoid.h <Henry> ======================================
+//#################################################################
+//=================================================================
+/*
+**  Constant defining the version of the following structure
+**  and therefore the API for this code.
+**
+**  When compiling the tuner driver, the preprocessor will
+**  check against this version number to make sure that
+**  it matches the version that the tuner driver knows about.
+*/
+/* Version 010201 => 1.21 */
+#define MT2063_AVOID_SPURS_INFO_VERSION 010201
+
+/* DECT Frequency Avoidance */
+#define MT2063_DECT_AVOID_US_FREQS      0x00000001
+
+#define MT2063_DECT_AVOID_EURO_FREQS    0x00000002
+
+#define MT2063_EXCLUDE_US_DECT_FREQUENCIES(s) (((s) & MT2063_DECT_AVOID_US_FREQS) != 0)
+
+#define MT2063_EXCLUDE_EURO_DECT_FREQUENCIES(s) (((s) & MT2063_DECT_AVOID_EURO_FREQS) != 0)
+
+enum MT2063_DECT_Avoid_Type {
+	MT2063_NO_DECT_AVOIDANCE = 0,	/* Do not create DECT exclusion zones.     */
+	MT2063_AVOID_US_DECT = MT2063_DECT_AVOID_US_FREQS,	/* Avoid US DECT frequencies.              */
+	MT2063_AVOID_EURO_DECT = MT2063_DECT_AVOID_EURO_FREQS,	/* Avoid European DECT frequencies.        */
+	MT2063_AVOID_BOTH	/* Avoid both regions. Not typically used. */
+};
+
+#define MT2063_MAX_ZONES 48
+
+struct MT2063_ExclZone_t;
+
+struct MT2063_ExclZone_t {
+	UData_t min_;
+	UData_t max_;
+	struct MT2063_ExclZone_t *next_;
+};
+
+/*
+**  Structure of data needed for Spur Avoidance
+*/
+struct MT2063_AvoidSpursData_t {
+	UData_t nAS_Algorithm;
+	UData_t f_ref;
+	UData_t f_in;
+	UData_t f_LO1;
+	UData_t f_if1_Center;
+	UData_t f_if1_Request;
+	UData_t f_if1_bw;
+	UData_t f_LO2;
+	UData_t f_out;
+	UData_t f_out_bw;
+	UData_t f_LO1_Step;
+	UData_t f_LO2_Step;
+	UData_t f_LO1_FracN_Avoid;
+	UData_t f_LO2_FracN_Avoid;
+	UData_t f_zif_bw;
+	UData_t f_min_LO_Separation;
+	UData_t maxH1;
+	UData_t maxH2;
+	enum MT2063_DECT_Avoid_Type avoidDECT;
+	UData_t bSpurPresent;
+	UData_t bSpurAvoided;
+	UData_t nSpursFound;
+	UData_t nZones;
+	struct MT2063_ExclZone_t *freeZones;
+	struct MT2063_ExclZone_t *usedZones;
+	struct MT2063_ExclZone_t MT2063_ExclZones[MT2063_MAX_ZONES];
+};
+
+UData_t MT2063_RegisterTuner(struct MT2063_AvoidSpursData_t *pAS_Info);
+
+void MT2063_UnRegisterTuner(struct MT2063_AvoidSpursData_t *pAS_Info);
+
+void MT2063_ResetExclZones(struct MT2063_AvoidSpursData_t *pAS_Info);
+
+void MT2063_AddExclZone(struct MT2063_AvoidSpursData_t *pAS_Info,
+			UData_t f_min, UData_t f_max);
+
+UData_t MT2063_ChooseFirstIF(struct MT2063_AvoidSpursData_t *pAS_Info);
+
+UData_t MT2063_AvoidSpurs(Handle_t h, struct MT2063_AvoidSpursData_t *pAS_Info);
+
+UData_t MT2063_AvoidSpursVersion(void);
+
+//end of mt2063_spuravoid.h
+//=================================================================
+//#################################################################
+//=================================================================
+
+/*
+**  Values returned by the MT2063's on-chip temperature sensor
+**  to be read/written.
+*/
+enum MT2063_Temperature {
+	MT2063_T_0C = 0,	/*  Temperature approx 0C           */
+	MT2063_T_10C,		/*  Temperature approx 10C          */
+	MT2063_T_20C,		/*  Temperature approx 20C          */
+	MT2063_T_30C,		/*  Temperature approx 30C          */
+	MT2063_T_40C,		/*  Temperature approx 40C          */
+	MT2063_T_50C,		/*  Temperature approx 50C          */
+	MT2063_T_60C,		/*  Temperature approx 60C          */
+	MT2063_T_70C,		/*  Temperature approx 70C          */
+	MT2063_T_80C,		/*  Temperature approx 80C          */
+	MT2063_T_90C,		/*  Temperature approx 90C          */
+	MT2063_T_100C,		/*  Temperature approx 100C         */
+	MT2063_T_110C,		/*  Temperature approx 110C         */
+	MT2063_T_120C,		/*  Temperature approx 120C         */
+	MT2063_T_130C,		/*  Temperature approx 130C         */
+	MT2063_T_140C,		/*  Temperature approx 140C         */
+	MT2063_T_150C,		/*  Temperature approx 150C         */
+};
+
+/*
+** Parameters for selecting GPIO bits
+*/
+enum MT2063_GPIO_Attr {
+	MT2063_GPIO_IN,
+	MT2063_GPIO_DIR,
+	MT2063_GPIO_OUT,
+};
+
+enum MT2063_GPIO_ID {
+	MT2063_GPIO0,
+	MT2063_GPIO1,
+	MT2063_GPIO2,
+};
+
+/*
+**  Parameter for function MT2063_SetExtSRO that specifies the external
+**  SRO drive frequency.
+**
+**  MT2063_EXT_SRO_OFF is the power-up default value.
+*/
+enum MT2063_Ext_SRO {
+	MT2063_EXT_SRO_OFF,	/*  External SRO drive off          */
+	MT2063_EXT_SRO_BY_4,	/*  External SRO drive divide by 4  */
+	MT2063_EXT_SRO_BY_2,	/*  External SRO drive divide by 2  */
+	MT2063_EXT_SRO_BY_1	/*  External SRO drive divide by 1  */
+};
+
+/*
+**  Parameter for function MT2063_SetPowerMask that specifies the power down
+**  of various sections of the MT2063.
+*/
+enum MT2063_Mask_Bits {
+	MT2063_REG_SD = 0x0040,	/* Shutdown regulator                 */
+	MT2063_SRO_SD = 0x0020,	/* Shutdown SRO                       */
+	MT2063_AFC_SD = 0x0010,	/* Shutdown AFC A/D                   */
+	MT2063_PD_SD = 0x0002,	/* Enable power detector shutdown     */
+	MT2063_PDADC_SD = 0x0001,	/* Enable power detector A/D shutdown */
+	MT2063_VCO_SD = 0x8000,	/* Enable VCO shutdown                */
+	MT2063_LTX_SD = 0x4000,	/* Enable LTX shutdown                */
+	MT2063_LT1_SD = 0x2000,	/* Enable LT1 shutdown                */
+	MT2063_LNA_SD = 0x1000,	/* Enable LNA shutdown                */
+	MT2063_UPC_SD = 0x0800,	/* Enable upconverter shutdown        */
+	MT2063_DNC_SD = 0x0400,	/* Enable downconverter shutdown      */
+	MT2063_VGA_SD = 0x0200,	/* Enable VGA shutdown                */
+	MT2063_AMP_SD = 0x0100,	/* Enable AMP shutdown                */
+	MT2063_ALL_SD = 0xFF73,	/* All shutdown bits for this tuner   */
+	MT2063_NONE_SD = 0x0000	/* No shutdown bits                   */
+};
+
+/*
+**  Parameter for function MT2063_GetParam & MT2063_SetParam that
+**  specifies the tuning algorithm parameter to be read/written.
+*/
+enum MT2063_Param {
+	/*  tuner address                                  set by MT2063_Open() */
+	MT2063_IC_ADDR,
+
+	/*  max number of MT2063 tuners     set by MT_TUNER_CNT in mt_userdef.h */
+	MT2063_MAX_OPEN,
+
+	/*  current number of open MT2063 tuners           set by MT2063_Open() */
+	MT2063_NUM_OPEN,
+
+	/*  crystal frequency                            (default: 16000000 Hz) */
+	MT2063_SRO_FREQ,
+
+	/*  min tuning step size                            (default: 50000 Hz) */
+	MT2063_STEPSIZE,
+
+	/*  input center frequency                         set by MT2063_Tune() */
+	MT2063_INPUT_FREQ,
+
+	/*  LO1 Frequency                                  set by MT2063_Tune() */
+	MT2063_LO1_FREQ,
+
+	/*  LO1 minimum step size                          (default: 250000 Hz) */
+	MT2063_LO1_STEPSIZE,
+
+	/*  LO1 FracN keep-out region                      (default: 999999 Hz) */
+	MT2063_LO1_FRACN_AVOID_PARAM,
+
+	/*  Current 1st IF in use                          set by MT2063_Tune() */
+	MT2063_IF1_ACTUAL,
+
+	/*  Requested 1st IF                               set by MT2063_Tune() */
+	MT2063_IF1_REQUEST,
+
+	/*  Center of 1st IF SAW filter                (default: 1218000000 Hz) */
+	MT2063_IF1_CENTER,
+
+	/*  Bandwidth of 1st IF SAW filter               (default: 20000000 Hz) */
+	MT2063_IF1_BW,
+
+	/*  zero-IF bandwidth                             (default: 2000000 Hz) */
+	MT2063_ZIF_BW,
+
+	/*  LO2 Frequency                                  set by MT2063_Tune() */
+	MT2063_LO2_FREQ,
+
+	/*  LO2 minimum step size                           (default: 50000 Hz) */
+	MT2063_LO2_STEPSIZE,
+
+	/*  LO2 FracN keep-out region                      (default: 374999 Hz) */
+	MT2063_LO2_FRACN_AVOID,
+
+	/*  output center frequency                        set by MT2063_Tune() */
+	MT2063_OUTPUT_FREQ,
+
+	/*  output bandwidth                               set by MT2063_Tune() */
+	MT2063_OUTPUT_BW,
+
+	/*  min inter-tuner LO separation                 (default: 1000000 Hz) */
+	MT2063_LO_SEPARATION,
+
+	/*  ID of avoid-spurs algorithm in use            compile-time constant */
+	MT2063_AS_ALG,
+
+	/*  max # of intra-tuner harmonics                       (default: 15)  */
+	MT2063_MAX_HARM1,
+
+	/*  max # of inter-tuner harmonics                        (default: 7)  */
+	MT2063_MAX_HARM2,
+
+	/*  # of 1st IF exclusion zones used               set by MT2063_Tune() */
+	MT2063_EXCL_ZONES,
+
+	/*  # of spurs found/avoided                       set by MT2063_Tune() */
+	MT2063_NUM_SPURS,
+
+	/*  >0 spurs avoided                               set by MT2063_Tune() */
+	MT2063_SPUR_AVOIDED,
+
+	/*  >0 spurs in output (mathematically)            set by MT2063_Tune() */
+	MT2063_SPUR_PRESENT,
+
+	/* Receiver Mode for some parameters. 1 is DVB-T                        */
+	MT2063_RCVR_MODE,
+
+	/* directly set LNA attenuation, parameter is value to set              */
+	MT2063_ACLNA,
+
+	/* maximum LNA attenuation, parameter is value to set                   */
+	MT2063_ACLNA_MAX,
+
+	/* directly set ATN attenuation.  Paremeter is value to set.            */
+	MT2063_ACRF,
+
+	/* maxium ATN attenuation.  Paremeter is value to set.                  */
+	MT2063_ACRF_MAX,
+
+	/* directly set FIF attenuation.  Paremeter is value to set.            */
+	MT2063_ACFIF,
+
+	/* maxium FIF attenuation.  Paremeter is value to set.                  */
+	MT2063_ACFIF_MAX,
+
+	/*  LNA Rin                                                             */
+	MT2063_LNA_RIN,
+
+	/*  Power Detector LNA level target                                     */
+	MT2063_LNA_TGT,
+
+	/*  Power Detector 1 level                                              */
+	MT2063_PD1,
+
+	/*  Power Detector 1 level target                                       */
+	MT2063_PD1_TGT,
+
+	/*  Power Detector 2 level                                              */
+	MT2063_PD2,
+
+	/*  Power Detector 2 level target                                       */
+	MT2063_PD2_TGT,
+
+	/*  Selects, which DNC is activ                                         */
+	MT2063_DNC_OUTPUT_ENABLE,
+
+	/*  VGA gain code                                                       */
+	MT2063_VGAGC,
+
+	/*  VGA bias current                                                    */
+	MT2063_VGAOI,
+
+	/*  TAGC, determins the speed of the AGC                                */
+	MT2063_TAGC,
+
+	/*  AMP gain code                                                       */
+	MT2063_AMPGC,
+
+	/* Control setting to avoid DECT freqs         (default: MT_AVOID_BOTH) */
+	MT2063_AVOID_DECT,
+
+	/* Cleartune filter selection: 0 - by IC (default), 1 - by software     */
+	MT2063_CTFILT_SW,
+
+	MT2063_EOP		/*  last entry in enumerated list         */
+};
+
+/*
+**  Parameter for selecting tuner mode
+*/
+enum MT2063_RCVR_MODES {
+	MT2063_CABLE_QAM = 0,	/* Digital cable              */
+	MT2063_CABLE_ANALOG,	/* Analog cable               */
+	MT2063_OFFAIR_COFDM,	/* Digital offair             */
+	MT2063_OFFAIR_COFDM_SAWLESS,	/* Digital offair without SAW */
+	MT2063_OFFAIR_ANALOG,	/* Analog offair              */
+	MT2063_OFFAIR_8VSB,	/* Analog offair              */
+	MT2063_NUM_RCVR_MODES
+};
+
+/*
+**  Possible values for MT2063_DNC_OUTPUT
+*/
+enum MT2063_DNC_Output_Enable {
+	MT2063_DNC_NONE = 0,
+	MT2063_DNC_1,
+	MT2063_DNC_2,
+	MT2063_DNC_BOTH
+};
+
+/*
+**  Two-wire serial bus subaddresses of the tuner registers.
+**  Also known as the tuner's register addresses.
+*/
+enum MT2063_Register_Offsets {
+	MT2063_REG_PART_REV = 0,	/*  0x00: Part/Rev Code         */
+	MT2063_REG_LO1CQ_1,	/*  0x01: LO1C Queued Byte 1    */
+	MT2063_REG_LO1CQ_2,	/*  0x02: LO1C Queued Byte 2    */
+	MT2063_REG_LO2CQ_1,	/*  0x03: LO2C Queued Byte 1    */
+	MT2063_REG_LO2CQ_2,	/*  0x04: LO2C Queued Byte 2    */
+	MT2063_REG_LO2CQ_3,	/*  0x05: LO2C Queued Byte 3    */
+	MT2063_REG_RSVD_06,	/*  0x06: Reserved              */
+	MT2063_REG_LO_STATUS,	/*  0x07: LO Status             */
+	MT2063_REG_FIFFC,	/*  0x08: FIFF Center           */
+	MT2063_REG_CLEARTUNE,	/*  0x09: ClearTune Filter      */
+	MT2063_REG_ADC_OUT,	/*  0x0A: ADC_OUT               */
+	MT2063_REG_LO1C_1,	/*  0x0B: LO1C Byte 1           */
+	MT2063_REG_LO1C_2,	/*  0x0C: LO1C Byte 2           */
+	MT2063_REG_LO2C_1,	/*  0x0D: LO2C Byte 1           */
+	MT2063_REG_LO2C_2,	/*  0x0E: LO2C Byte 2           */
+	MT2063_REG_LO2C_3,	/*  0x0F: LO2C Byte 3           */
+	MT2063_REG_RSVD_10,	/*  0x10: Reserved              */
+	MT2063_REG_PWR_1,	/*  0x11: PWR Byte 1            */
+	MT2063_REG_PWR_2,	/*  0x12: PWR Byte 2            */
+	MT2063_REG_TEMP_STATUS,	/*  0x13: Temp Status           */
+	MT2063_REG_XO_STATUS,	/*  0x14: Crystal Status        */
+	MT2063_REG_RF_STATUS,	/*  0x15: RF Attn Status        */
+	MT2063_REG_FIF_STATUS,	/*  0x16: FIF Attn Status       */
+	MT2063_REG_LNA_OV,	/*  0x17: LNA Attn Override     */
+	MT2063_REG_RF_OV,	/*  0x18: RF Attn Override      */
+	MT2063_REG_FIF_OV,	/*  0x19: FIF Attn Override     */
+	MT2063_REG_LNA_TGT,	/*  0x1A: Reserved              */
+	MT2063_REG_PD1_TGT,	/*  0x1B: Pwr Det 1 Target      */
+	MT2063_REG_PD2_TGT,	/*  0x1C: Pwr Det 2 Target      */
+	MT2063_REG_RSVD_1D,	/*  0x1D: Reserved              */
+	MT2063_REG_RSVD_1E,	/*  0x1E: Reserved              */
+	MT2063_REG_RSVD_1F,	/*  0x1F: Reserved              */
+	MT2063_REG_RSVD_20,	/*  0x20: Reserved              */
+	MT2063_REG_BYP_CTRL,	/*  0x21: Bypass Control        */
+	MT2063_REG_RSVD_22,	/*  0x22: Reserved              */
+	MT2063_REG_RSVD_23,	/*  0x23: Reserved              */
+	MT2063_REG_RSVD_24,	/*  0x24: Reserved              */
+	MT2063_REG_RSVD_25,	/*  0x25: Reserved              */
+	MT2063_REG_RSVD_26,	/*  0x26: Reserved              */
+	MT2063_REG_RSVD_27,	/*  0x27: Reserved              */
+	MT2063_REG_FIFF_CTRL,	/*  0x28: FIFF Control          */
+	MT2063_REG_FIFF_OFFSET,	/*  0x29: FIFF Offset           */
+	MT2063_REG_CTUNE_CTRL,	/*  0x2A: Reserved              */
+	MT2063_REG_CTUNE_OV,	/*  0x2B: Reserved              */
+	MT2063_REG_CTRL_2C,	/*  0x2C: Reserved              */
+	MT2063_REG_FIFF_CTRL2,	/*  0x2D: Fiff Control          */
+	MT2063_REG_RSVD_2E,	/*  0x2E: Reserved              */
+	MT2063_REG_DNC_GAIN,	/*  0x2F: DNC Control           */
+	MT2063_REG_VGA_GAIN,	/*  0x30: VGA Gain Ctrl         */
+	MT2063_REG_RSVD_31,	/*  0x31: Reserved              */
+	MT2063_REG_TEMP_SEL,	/*  0x32: Temperature Selection */
+	MT2063_REG_RSVD_33,	/*  0x33: Reserved              */
+	MT2063_REG_RSVD_34,	/*  0x34: Reserved              */
+	MT2063_REG_RSVD_35,	/*  0x35: Reserved              */
+	MT2063_REG_RSVD_36,	/*  0x36: Reserved              */
+	MT2063_REG_RSVD_37,	/*  0x37: Reserved              */
+	MT2063_REG_RSVD_38,	/*  0x38: Reserved              */
+	MT2063_REG_RSVD_39,	/*  0x39: Reserved              */
+	MT2063_REG_RSVD_3A,	/*  0x3A: Reserved              */
+	MT2063_REG_RSVD_3B,	/*  0x3B: Reserved              */
+	MT2063_REG_RSVD_3C,	/*  0x3C: Reserved              */
+	MT2063_REG_END_REGS
+};
+
+struct MT2063_Info_t {
+	Handle_t handle;
+	Handle_t hUserData;
+	UData_t address;
+	UData_t version;
+	UData_t tuner_id;
+	struct MT2063_AvoidSpursData_t AS_Data;
+	UData_t f_IF1_actual;
+	UData_t rcvr_mode;
+	UData_t ctfilt_sw;
+	UData_t CTFiltMax[31];
+	UData_t num_regs;
+	U8Data reg[MT2063_REG_END_REGS];
+};
+typedef struct MT2063_Info_t *pMT2063_Info_t;
+
+enum MTTune_atv_standard {
+	MTTUNEA_UNKNOWN = 0,
+	MTTUNEA_PAL_B,
+	MTTUNEA_PAL_G,
+	MTTUNEA_PAL_I,
+	MTTUNEA_PAL_L,
+	MTTUNEA_PAL_MN,
+	MTTUNEA_PAL_DK,
+	MTTUNEA_DIGITAL,
+	MTTUNEA_FMRADIO,
+	MTTUNEA_DVBC,
+	MTTUNEA_DVBT
+};
+
+/* ====== Functions which are declared in MT2063.c File ======= */
+
+UData_t MT2063_Open(UData_t MT2063_Addr,
+		    Handle_t * hMT2063, Handle_t hUserData);
+
+UData_t MT2063_Close(Handle_t hMT2063);
+
+UData_t MT2063_Tune(Handle_t h, UData_t f_in);	/* RF input center frequency   */
+
+UData_t MT2063_GetGPIO(Handle_t h, enum MT2063_GPIO_ID gpio_id,
+		       enum MT2063_GPIO_Attr attr, UData_t * value);
+
+UData_t MT2063_GetLocked(Handle_t h);
+
+UData_t MT2063_GetParam(Handle_t h, enum MT2063_Param param, UData_t * pValue);
+
+UData_t MT2063_GetReg(Handle_t h, U8Data reg, U8Data * val);
+
+UData_t MT2063_GetTemp(Handle_t h, enum MT2063_Temperature *value);
+
+UData_t MT2063_GetUserData(Handle_t h, Handle_t * hUserData);
+
+UData_t MT2063_ReInit(Handle_t h);
+
+UData_t MT2063_SetGPIO(Handle_t h, enum MT2063_GPIO_ID gpio_id,
+		       enum MT2063_GPIO_Attr attr, UData_t value);
+
+UData_t MT2063_SetParam(Handle_t h, enum MT2063_Param param, UData_t nValue);
+
+UData_t MT2063_SetPowerMaskBits(Handle_t h, enum MT2063_Mask_Bits Bits);
+
+UData_t MT2063_ClearPowerMaskBits(Handle_t h, enum MT2063_Mask_Bits Bits);
+
+UData_t MT2063_GetPowerMaskBits(Handle_t h, enum MT2063_Mask_Bits *Bits);
+
+UData_t MT2063_EnableExternalShutdown(Handle_t h, U8Data Enabled);
+
+UData_t MT2063_SoftwareShutdown(Handle_t h, U8Data Shutdown);
+
+UData_t MT2063_SetExtSRO(Handle_t h, enum MT2063_Ext_SRO Ext_SRO_Setting);
+
+UData_t MT2063_SetReg(Handle_t h, U8Data reg, U8Data val);
+
+UData_t MT_Tune_atv(Handle_t h, UData_t f_in, UData_t bw_in,
+		    enum MTTune_atv_standard tv_type);
+
+struct mt2063_config {
+	u8 tuner_address;
+	u32 refclock;
 };
 
-struct mt2063_state {
+struct mt2063_state {
 	struct i2c_adapter *i2c;
 
-	const struct mt2063_config	*config;
-	struct dvb_tuner_ops		ops;
-	struct dvb_frontend		*frontend;
-	struct tuner_state		status;
-	const struct MT2063_Info_t	*MT2063_ht;
-	enum Bool_t			MT2063_init;
-	
-	enum MTTune_atv_standard tv_type;
+	const struct mt2063_config *config;
+	struct dvb_tuner_ops ops;
+	struct dvb_frontend *frontend;
+	struct tuner_state status;
+	const struct MT2063_Info_t *MT2063_ht;
+	enum Bool_t MT2063_init;
+
+	enum MTTune_atv_standard tv_type;
 	u32 frequency;
 	u32 srate;
 	u32 bandwidth;
 	u32 reference;
-};
-
-#if defined(CONFIG_DVB_MT2063) || (defined(CONFIG_DVB_MT2063_MODULE) && defined(MODULE))
+};
 
-extern struct dvb_frontend *mt2063_attach(struct dvb_frontend *fe,
-					   struct mt2063_config *config,
-					   struct i2c_adapter *i2c);
+#if defined(CONFIG_DVB_MT2063) || (defined(CONFIG_DVB_MT2063_MODULE) && defined(MODULE))
+
+extern struct dvb_frontend *mt2063_attach(struct dvb_frontend *fe,
+					  struct mt2063_config *config,
+					  struct i2c_adapter *i2c);
 
 #else
 
-static inline struct dvb_frontend *mt2063_attach(struct dvb_frontend *fe,
-						  struct mt2063_config *config,
-						  struct i2c_adapter *i2c)
+static inline struct dvb_frontend *mt2063_attach(struct dvb_frontend *fe,
+						 struct mt2063_config *config,
+						 struct i2c_adapter *i2c)
 {
 	printk(KERN_WARNING "%s: Driver disabled by Kconfig\n", __func__);
 	return NULL;
 }
 
-#endif //CONFIG_DVB_MT2063
-
-#endif  //__MT2063_H__
+#endif //CONFIG_DVB_MT2063
+
+#endif //__MT2063_H__

+ 81 - 70
drivers/media/common/tuners/mt2063_cfg.h

@@ -1,37 +1,40 @@
-
-
-static unsigned int mt2063_setTune(struct dvb_frontend *fe, UData_t f_in,UData_t bw_in, enum MTTune_atv_standard tv_type)
+
+static unsigned int mt2063_setTune(struct dvb_frontend *fe, UData_t f_in,
+				   UData_t bw_in,
+				   enum MTTune_atv_standard tv_type)
 {
-	//return (int)MT_Tune_atv(h, f_in, bw_in, tv_type);
-
-	struct dvb_frontend_ops	*frontend_ops = NULL;
-	struct dvb_tuner_ops	*tuner_ops = NULL;
-	struct tuner_state	t_state;
-	struct mt2063_state *mt2063State = fe->tuner_priv;
+	//return (int)MT_Tune_atv(h, f_in, bw_in, tv_type);
+
+	struct dvb_frontend_ops *frontend_ops = NULL;
+	struct dvb_tuner_ops *tuner_ops = NULL;
+	struct tuner_state t_state;
+	struct mt2063_state *mt2063State = fe->tuner_priv;
 	int err = 0;
 
-	t_state.frequency = f_in;
-	t_state.bandwidth = bw_in;
-	mt2063State->tv_type = tv_type;
-	if (&fe->ops)
+	t_state.frequency = f_in;
+	t_state.bandwidth = bw_in;
+	mt2063State->tv_type = tv_type;
+	if (&fe->ops)
 		frontend_ops = &fe->ops;
 	if (&frontend_ops->tuner_ops)
 		tuner_ops = &frontend_ops->tuner_ops;
 	if (tuner_ops->set_state) {
-		if ((err = tuner_ops->set_state(fe, DVBFE_TUNER_FREQUENCY, &t_state)) < 0) {
+		if ((err =
+		     tuner_ops->set_state(fe, DVBFE_TUNER_FREQUENCY,
+					  &t_state)) < 0) {
 			printk("%s: Invalid parameter\n", __func__);
 			return err;
 		}
-	}
-	
-	return err;
-}
-
-static unsigned int mt2063_lockStatus(struct dvb_frontend *fe)
-{
-	struct dvb_frontend_ops	*frontend_ops = &fe->ops;
-	struct dvb_tuner_ops	*tuner_ops = &frontend_ops->tuner_ops;
-	struct tuner_state	t_state;
+	}
+
+	return err;
+}
+
+static unsigned int mt2063_lockStatus(struct dvb_frontend *fe)
+{
+	struct dvb_frontend_ops *frontend_ops = &fe->ops;
+	struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
+	struct tuner_state t_state;
 	int err = 0;
 
 	if (&fe->ops)
@@ -39,73 +42,81 @@ static unsigned int mt2063_lockStatus(struct dvb_frontend *fe)
 	if (&frontend_ops->tuner_ops)
 		tuner_ops = &frontend_ops->tuner_ops;
 	if (tuner_ops->get_state) {
-		if ((err = tuner_ops->get_state(fe, DVBFE_TUNER_REFCLOCK, &t_state)) < 0) {
+		if ((err =
+		     tuner_ops->get_state(fe, DVBFE_TUNER_REFCLOCK,
+					  &t_state)) < 0) {
 			printk("%s: Invalid parameter\n", __func__);
 			return err;
 		}
-	}
-	return err;
-}
-
-static unsigned int tuner_MT2063_Open(struct dvb_frontend *fe)
-{
-	struct dvb_frontend_ops	*frontend_ops = &fe->ops;
-	struct dvb_tuner_ops	*tuner_ops = &frontend_ops->tuner_ops;
-	struct tuner_state	t_state;
-	int err = 0;
-
-	if (&fe->ops)
+	}
+	return err;
+}
+
+static unsigned int tuner_MT2063_Open(struct dvb_frontend *fe)
+{
+	struct dvb_frontend_ops *frontend_ops = &fe->ops;
+	struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
+	struct tuner_state t_state;
+	int err = 0;
+
+	if (&fe->ops)
 		frontend_ops = &fe->ops;
 	if (&frontend_ops->tuner_ops)
 		tuner_ops = &frontend_ops->tuner_ops;
 	if (tuner_ops->set_state) {
-		if ((err = tuner_ops->set_state(fe, DVBFE_TUNER_OPEN, &t_state)) < 0) {
+		if ((err =
+		     tuner_ops->set_state(fe, DVBFE_TUNER_OPEN,
+					  &t_state)) < 0) {
 			printk("%s: Invalid parameter\n", __func__);
 			return err;
 		}
-	}
-	
-	return err;
-}
-
-static unsigned int tuner_MT2063_SoftwareShutdown(struct dvb_frontend *fe)
-{
-	struct dvb_frontend_ops	*frontend_ops = &fe->ops;
-	struct dvb_tuner_ops	*tuner_ops = &frontend_ops->tuner_ops;
-	struct tuner_state	t_state;
-	int err = 0;
-
-	if (&fe->ops)
+	}
+
+	return err;
+}
+
+static unsigned int tuner_MT2063_SoftwareShutdown(struct dvb_frontend *fe)
+{
+	struct dvb_frontend_ops *frontend_ops = &fe->ops;
+	struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
+	struct tuner_state t_state;
+	int err = 0;
+
+	if (&fe->ops)
 		frontend_ops = &fe->ops;
 	if (&frontend_ops->tuner_ops)
 		tuner_ops = &frontend_ops->tuner_ops;
 	if (tuner_ops->set_state) {
-		if ((err = tuner_ops->set_state(fe, DVBFE_TUNER_SOFTWARE_SHUTDOWN, &t_state)) < 0) {
+		if ((err =
+		     tuner_ops->set_state(fe, DVBFE_TUNER_SOFTWARE_SHUTDOWN,
+					  &t_state)) < 0) {
 			printk("%s: Invalid parameter\n", __func__);
 			return err;
 		}
-	}
-	
-	return err;
-}
-
-static unsigned int tuner_MT2063_ClearPowerMaskBits(struct dvb_frontend *fe)
-{
-	struct dvb_frontend_ops	*frontend_ops = &fe->ops;
-	struct dvb_tuner_ops	*tuner_ops = &frontend_ops->tuner_ops;
-	struct tuner_state	t_state;
-	int err = 0;
-
-	if (&fe->ops)
+	}
+
+	return err;
+}
+
+static unsigned int tuner_MT2063_ClearPowerMaskBits(struct dvb_frontend *fe)
+{
+	struct dvb_frontend_ops *frontend_ops = &fe->ops;
+	struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
+	struct tuner_state t_state;
+	int err = 0;
+
+	if (&fe->ops)
 		frontend_ops = &fe->ops;
 	if (&frontend_ops->tuner_ops)
 		tuner_ops = &frontend_ops->tuner_ops;
 	if (tuner_ops->set_state) {
-		if ((err = tuner_ops->set_state(fe, DVBFE_TUNER_CLEAR_POWER_MASKBITS, &t_state)) < 0) {
+		if ((err =
+		     tuner_ops->set_state(fe, DVBFE_TUNER_CLEAR_POWER_MASKBITS,
+					  &t_state)) < 0) {
 			printk("%s: Invalid parameter\n", __func__);
 			return err;
 		}
-	}
-	
-	return err;
-}
+	}
+
+	return err;
+}

Some files were not shown because too many files changed in this diff