⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hamaro_regs.h

📁 机顶盒Hamaro解调器驱动。包含自动搜台
💻 H
📖 第 1 页 / 共 2 页
字号:
/* hamaro_regs.h */

/*+++ *******************************************************************\
*
*   Copyright and Disclaimer:
*
*       ---------------------------------------------------------------
*       ALL SOFTWARE, APPLICATIONS, DOCUMENTATION, OR MATERIALS        
*       FURNISHED HEREIN IS PROVIDED *AS IS*.  CONEXANT DOES NOT MAKE  
*       ANY WARRANTIES, EITHER EXPRESS OR IMPLIED, AND HEREBY EXPRESSLY
*       DISCLAIMS ANY AND ALL SUCH WARRANTIES TO THE EXTENT PERMITTED  
*       BY LAW, INCLUDING, SPECIFICALLY, ANY IMPLIED WARRANTY ARISING  
*       BY STATUTE OR OTHERWISE IN LAW OR FROM A COURSE OF DEALING OR  
*       USAGE OF TRADE.  CONEXANT DOES NOT MAKE ANY WARRANTIES, EITHER 
*       EXPRESS OR IMPLIED, AND HEREBY EXPRESSLY DISCLAIMS ANY AND ALL 
*       SUCH WARRANTIES WITH RESPECT TO ALL SOFTWARE, APPLICATIONS,    
*       DOCUMENTATION, AND MATERIALS INCLUDING ALL IMPLIED WARRANTIES  
*       OF MERCHANTABILITY, OR OF MERCHANTABLE QUALITY, OR OF FITNESS  
*       FOR ANY PURPOSE, PARTICULAR, SPECIFIC OR OTHERWISE, OR OF      
*       NONINFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OF OTHERS,     
*       RELATING TO THE SOFTWARE, APPLICATIONS, OPERATION,             
*       DOCUMENTATION, DATA OR RESULTS GENERATED BY THE OPERATION OR   
*       USE THEREOF, AND MATERIALS PROVIDED HEREIN.  THE ENTIRE RISK AS
*       TO THE SUBSTANCE, QUALITY AND PERFORMANCE OF SOFTWARE,         
*       APPLICATIONS, AND DOCUMENTATION DESCRIBING SUCH SOFTWARE       
*       REMAINS WITH THE BUYER.                                        
*                                                                      
*       REGARDLESS OF WHETHER ANY REMEDY SET FORTH HEREIN FAILS OF ITS 
*       ESSENTIAL PURPOSE OR OTHERWISE, CONEXANT SHALL NOT BE LIABLE   
*       FOR ANY EXEMPLARY, SPECIAL, PUNITIVE, SPECULATIVE, INDIRECT,   
*       CONSEQUENTIAL OR INCIDENTAL DAMAGES OF ANY KIND (INCLUDING     
*       WITHOUT LIMITATION LOST PROFITS, LOSS OF INCOME, LOSS OF       
*       GOODWILL, OR OTHER TANGIBLE OR INTANGIBLE BUSINESS LOSS)       
*       ARISING OUT OF OR IN CONNECTION WITH, DIRECTLY OR INDIRECTLY,  
*       SOFTWARE, APPLICATIONS, DOCUMENTATION, OR ANY SERVICES OR      
*       MATERIALS PROVIDED HEREUNDER, OR USE OR INABILITY TO USE THE   
*       SOFTWARE, EVEN IF CONEXANT HAS BEEN ADVISED OF THE POSSIBILITY 
*       OF SUCH DAMAGES.                                               
*
*       Copyright (c) 2001 Conexant Systems, Inc.
*       All Rights Reserved.
*       ---------------------------------------------------------------
*
*   Module Revision Id:
*
*       $Header: hamaro_regs.h, 4, 2007-8-17 15:37:13, Tim Lu$
*
*   Abstract:
*
*       Contains structure and definitions used internally by the Hamaro Driver software.
*
\******************************************************************* ---*/

#ifndef HAMARO_REGS_H_DEFINED
#define HAMARO_REGS_H_DEFINED

/*******************************************************************************************************/
/* Include Hamaro internal */
/*******************************************************************************************************/
#include "hamaro_gbls.h"                /* Hamaro Globals */


#ifdef __cplusplus
extern "C" {
#else
#endif  /* __cplusplus */

/*******************************************************************************************************/
/* Register-specific Enums */
/*******************************************************************************************************/
enum HAMARORegDataType{                      /* all possible types of register data must be defined */
  HAMARO_REGT_BIT=1,                          /* bit (most common type) */
  HAMARO_REGT_BYTE,                           /* byte-wide register */
  HAMARO_REGT_MINT,                           /* int with n-bit msb in first register, remaining bits in next reg(s) */
  HAMARO_REGT_INT,                            /* int type */
  HAMARO_REGT_UINT,                           /* unsigned int register type */
  HAMARO_REGT_LONG,                           /* standard long */
  HAMARO_REGT_ULONG,                          /* unsigned long */
  HAMARO_REGT_BITHL,                          /* special-purpose: bit is set high, then immediatly set low */
  HAMARO_REGT_NULL,                           /* byte-wide register */
  HAMARO_REGT_EOLIST=0                        /* end-of-list indicator */
};

/*******************************************************************************************************/
/* REGRW */
/*******************************************************************************************************/
enum HamaroRegRW{                            /* register access controls */
  HAMARO_REG_RW=1,                            /* register has full read/write capabilities */
  HAMARO_REG_RO=2,                            /* register is read-only */
  HAMARO_REG_WO=3,                            /* register is write-only */
  HAMARO_REG_UNUSED=0                         /* register is unused (also EOL indicator) */
};


/*******************************************************************************************************/
/* REGFILTER (upgraded to Hamaro) */
/*******************************************************************************************************/
#define HAMARO_REGF  unsigned int
typedef enum HamaroRegFilter{
  HAMARO_REGF_COBRA=0x01,                     /* register item is part of Cobra-class */
  HAMARO_REGF_CAM_DEF=0x02,                   /* register is used within camaric-only default settings */
  HAMARO_REGF_CAM_EXT=0x04,                   /* Register is an extended register (to acomodate Hamaro) */
  HAMARO_REGF_CAM_ONLY=0x08,                  /* Register is a Hamaro-only register */
  HAMARO_REGF_CAM_RED=0x10,                   /* Register is reduced to accomodate Hamaro (none id'd yet) */
  HAMARO_REGF_VIPER=0x20,                     /* Viper/Mongoose register */
  HAMARO_REGF_ZEROB6=0x80,                    /* zero bit 6 before write (accomodate register 0x29) */
  HAMARO_REGF_NONE=0                          /* no particular filter attached to a register item */
}_HAMARO_REGF;

/*******************************************************************************************************/
/* REGISTER Struct */
/*******************************************************************************************************/
typedef struct                  /* REGISTER.  This struct will be used to control access to */
{                               /* register mapped items in the various demods */
  char    *regname;             /*   asciz name of register */
  unsigned short bit_field;     /*   register simplification ID */
  unsigned char address;        /*   address from register map (hex) */
  unsigned char start_bit;      /*   starting pt. of bits in addr */
  unsigned char bit_count;      /*   length of reg item in bits */
  enum   HamaroRegRW  access_level;   /*   Indicates if register HW can be read/written */
  HAMARO_REGF   regfilter;             /*   Additional layer of filterization */
  enum   HAMARORegDataType reg_type;  /*   type of data held in register(s): */
                                /*     ...  BIT, COMP2, COMP1, FLOAT, UINT, INT ,....*/
  unsigned long  default_value; /*   holds default value (for reset) to write to the register */
  char   *p_hw_mask;            /*   holds hardware mask string -- 1st byte of mask is first reg addr */
}HAMARO_REGISTER_MAP;


/*******************************************************************************************************/
/* external reference to Register array in hamaro_reg.c */
/*******************************************************************************************************/
extern const HAMARO_REGISTER_MAP hamaro_demod_register_map[];

/*******************************************************************************************************/
/* Register-specific test functions */
/*******************************************************************************************************/
char *hamaro_test_regname(const char *regname);
char *hamaro_test_regidx(const char  *regname);
char *hamaro_test_regrw(int regrw);
char *hamaro_test_regfilt(int regfilt);
char *hamaro_test_regtype(int regtype);
char *hamaro_test_regshad(int regtype);

#if HAMARO_INCLUDE_VIPER
/**********************************************************************************
 * Viper tuner register address enumerations 
 **********************************************************************************/
typedef enum hamaro_viper_register_address {
    HAMARO_CX24128_CHIP_ID_00 = 0x00,
    HAMARO_CX24128_CHIP_VERSION_01 = 0x01,
    HAMARO_CX24128_XTAL_02 = 0x02,
    HAMARO_CX24128_TEST_MUX_SEL_03 = 0x03,
    HAMARO_CX24128_LO_TEST = 0x10,
    HAMARO_CX24128_LO_CTL1 = 0x11,
    HAMARO_CX24128_LO_CTL2 = 0x12,
    HAMARO_CX24128_BAND_SEL2_14 = 0x14,
    HAMARO_CX24128_BAND_SEL3_15 = 0x15,
    HAMARO_CX24128_BAND_SEL4_16 = 0x16,
    HAMARO_CX24128_BAND_SEL5_17 = 0x17,
    HAMARO_CX24128_VCO_18 = 0x18,
    HAMARO_CX24128_LO1_19 = 0x19,
    HAMARO_CX24128_LO2_1A = 0x1A,
    HAMARO_CX24128_LO3_1B = 0x1B,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -