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

📄 d0899_init.c

📁 st7710的tuner标准驱动
💻 C
📖 第 1 页 / 共 5 页
字号:
/* -------------------------------------------------------------------------
File Name: d0899_init.c

History:
Description: STb0899 driver LLA	V1.0.8 17/01/2005

Date 18/04/05
Comments: LLA2.0.0 integration
author: SD

Date 29/03/06
Comments: LLA V3.6.0 integration
author: HS
---------------------------------------------------------------------------- */
#include "d0899_init.h"

ST_ErrorCode_t STB0899Reg_Install(STTUNER_IOREG_DeviceMap_t *DeviceMap)
{
    
    U32             *DefVal;
	ST_ErrorCode_t Error = ST_NO_ERROR;
    /*
    **   REGISTER CONFIGURATION
    **     ----------------------
    */
        DefVal = DeviceMap->DefVal;
        
        		/*	REGISTER INITIALISATION	*/
			/*	ID	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_ID,0xf000,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_ID,FSTB0899_CHIP_IDENT,4,4,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_ID,FSTB0899_RELEASE,0,4,FIELD_TYPE_UNSIGNED);

			/*	TDISCNTRL1	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_TDISCNTRL1,0xf0a0,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_TDISCNTRL1,FSTB0899_TIMOFF,7,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_TDISCNTRL1,FSTB0899_DISEQC_RESET,6,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_TDISCNTRL1,FSTB0899_TIMCMD,4,2,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_TDISCNTRL1,FSTB0899_TDISCNTRL1_RESERVED,3,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_TDISCNTRL1,FSTB0899_DISPRECHARGE,2,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_TDISCNTRL1,FSTB0899_DISEQCMODE,0,2,FIELD_TYPE_UNSIGNED);

			/*	DISCNTRL2	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_DISCNTRL2,0xf0a1,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISCNTRL2,FSTB0899_RECEIVER_ON,7,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISCNTRL2,FSTB0899_IGNO_SHORT22K,6,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISCNTRL2,FSTB0899_ONECHIPTRX,5,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISCNTRL2,FSTB0899_EXTENVELOP,4,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISCNTRL2,FSTB0899_PINSELECT,2,2,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISCNTRL2,FSTB0899_IRQRXEND,1,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISCNTRL2,FSTB0899_IRQ4NBYTES,0,1,FIELD_TYPE_UNSIGNED);

			/*	DISRX_ST0	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_DISRX_ST0,0xf0a4,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST0,FSTB0899_RXEND,7,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST0,FSTB0899_RXACTIVE,6,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST0,FSTB0899_SHORT22K,5,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST0,FSTB0899_CONTTONE,4,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST0,FSTB0899_DIS_4BFIFORDY,3,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST0,FSTB0899_FIFOEMPTY,2,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST0,FSTB0899_DISRX_ST0_RESERVED,1,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST0,FSTB0899_ABORTRX,0,1,FIELD_TYPE_UNSIGNED);

			/*	DISRX_ST1	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_DISRX_ST1,0xf0a5,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST1,FSTB0899_RXFAIL,7,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST1,FSTB0899_FIFOPFAIL,6,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST1,FSTB0899_RXNONBYTE,5,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST1,FSTB0899_FIFOOVF,4,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISRX_ST1,FSTB0899_FIFOBYTENBR,0,4,FIELD_TYPE_UNSIGNED);

			/*	DISPARITY	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_DISPARITY,0xf0a6,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISPARITY,FSTB0899_DISEQC_PARITY,0,8,FIELD_TYPE_UNSIGNED);

			/*	DISFIFO	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_DISFIFO,0xf0a7,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISFIFO,FSTB0899_DISEQCFIFO,0,8,FIELD_TYPE_UNSIGNED);

			/*	DISSTATUS	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_DISSTATUS,0xf0a8,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISSTATUS,FSTB0899_TXFAIL,7,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISSTATUS,FSTB0899_FIFO_FULL,6,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISSTATUS,FSTB0899_TX_IDLE,5,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISSTATUS,FSTB0899_GAPBURST,4,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISSTATUS,FSTB0899_TXFIFOBYTES,0,4,FIELD_TYPE_UNSIGNED);

			/*	DISF22	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_DISF22,0xf0a9,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISF22,FSTB0899_F22,0,8,FIELD_TYPE_UNSIGNED);

			/*	DISF22RX	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_DISF22RX,0xf0aa,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DISF22RX,FSTB0899_F22RX,0,8,FIELD_TYPE_UNSIGNED);

			/*	SYSREG	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_SYSREG,0xf101,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_SYSREG,FSTB0899_SYS_MODE,5,3,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_SYSREG,FSTB0899_DUPLMODE_IN,4,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_SYSREG,FSTB0899_DUPLIN_3CK,3,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_SYSREG,FSTB0899_DUPLMODE_OUT,2,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_SYSREG,FSTB0899_SYSREG_1,1,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_SYSREG,FSTB0899_RST_IQLSB_IN,0,1,FIELD_TYPE_UNSIGNED);

			/*	ACRPRESC	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_ACRPRESC,0xf110,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_ACRPRESC,FSTB0899_ACRPRESC_RESERVED,7,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_ACRPRESC,FSTB0899_ACRPRESC,4,3,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_ACRPRESC,FSTB0899_ACRPRESC_RESERVED2,3,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_ACRPRESC,FSTB0899_ACRPRESC2,0,3,FIELD_TYPE_UNSIGNED);

			/*	ACRDIV1	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_ACRDIV1,0xf111,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_ACRDIV1,FSTB0899_ACRDIV1,0,8,FIELD_TYPE_UNSIGNED);

			/*	ACRDIV2	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_ACRDIV2,0xf112,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_ACRDIV2,FSTB0899_ACRDIV2,0,8,FIELD_TYPE_UNSIGNED);

			/*	DACR1	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_DACR1,0xf113,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DACR1,FSTB0899_DACMODE,5,3,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DACR1,FSTB0899_DACHZ,4,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DACR1,FSTB0899_DAC_MSB,0,4,FIELD_TYPE_UNSIGNED);

			/*	DACR2	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_DACR2,0xf114,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_DACR2,FSTB0899_DAC_LSB,0,8,FIELD_TYPE_UNSIGNED);

			/*	OUTCFG	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_OUTCFG,0xf11c,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_OUTCFG,FSTB0899_TSSEROUTHZ,7,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_OUTCFG,FSTB0899_TSPOUTHZ,6,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_OUTCFG,FSTB0899_OUTCFG_RESERVED,0,6,FIELD_TYPE_UNSIGNED);

			/*	MODECFG	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_MODECFG,0xf11d,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_MODECFG,FSTB0899_INV_DATA,7,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_MODECFG,FSTB0899_INV_DATA6,6,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_MODECFG,FSTB0899_MODECFG_RESERVED,3,3,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_MODECFG,FSTB0899_INV_ERROR,2,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_MODECFG,FSTB0899_INV_STROUT,1,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_MODECFG,FSTB0899_INV_DP,0,1,FIELD_TYPE_UNSIGNED);

			/*	IRQSTATUS3	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_IRQSTATUS3,0xf120,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS3,FSTB0899_SIP1,7,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS3,FSTB0899_NSIP1,6,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS3,FSTB0899_SCF_SYNC,5,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS3,FSTB0899_NSCF_SYNC,4,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS3,FSTB0899_SAGC0_LOCK,3,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS3,FSTB0899_NSAGC0_LOCK,2,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS3,FSTB0899_SDISEQCTX_IRQ,1,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS3,FSTB0899_SDISEQCRX_IRQ,0,1,FIELD_TYPE_UNSIGNED);

			/*	IRQSTATUS2	*/
			STTUNER_IOREG_Add_PointedReg(DeviceMap,REGSIZE_8BITS,RSTB0899_IRQSTATUS2,0xf121,*DefVal++,IOREG_ACCESS_WR,IOREG_NOT_POINTED,0x0000,0x0);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS2,FSTB0899_SEND_LOOPTC,7,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS2,FSTB0899_SOV_RSFIFO,6,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS2,FSTB0899_SLOCKEDBW,5,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS2,FSTB0899_NSLOCKEDBW,4,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS2,FSTB0899_SPRFBW,3,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS2,FSTB0899_NSPRFBW,2,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS2,FSTB0899_SINPUTX,1,1,FIELD_TYPE_UNSIGNED);
			STTUNER_IOREG_AddField(DeviceMap,RSTB0899_IRQSTATUS2,FSTB0899_NSINPUTX,0,1,FIELD_TYPE_UNSIGNED);

			/*	IRQSTATUS1	*/

⌨️ 快捷键说明

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