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

📄 s5h1420_priv.h

📁 trident tm5600的linux驱动
💻 H
字号:
/* * Driver for *    Samsung S5H1420 and *    PnpNetwork PN1010 QPSK Demodulator * * Copyright (C) 2005 Andrew de Quincey <adq_dvb@lidskialf.net> * Copyright (C) 2005 Patrick Boettcher <pb@linuxtv.org> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 2 of the License, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE.  See the * * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 675 Mass * Ave, Cambridge, MA 02139, USA. */#ifndef S5H1420_PRIV#define S5H1420_PRIV#include <asm/types.h>enum s5h1420_register {	ID01      = 0x00,	CON_0     = 0x01,	CON_1     = 0x02,	PLL01     = 0x03,	PLL02     = 0x04,	QPSK01    = 0x05,	QPSK02    = 0x06,	Pre01     = 0x07,	Post01    = 0x08,	Loop01    = 0x09,	Loop02    = 0x0a,	Loop03    = 0x0b,	Loop04    = 0x0c,	Loop05    = 0x0d,	Pnco01    = 0x0e,	Pnco02    = 0x0f,	Pnco03    = 0x10,	Tnco01    = 0x11,	Tnco02    = 0x12,	Tnco03    = 0x13,	Monitor01 = 0x14,	Monitor02 = 0x15,	Monitor03 = 0x16,	Monitor04 = 0x17,	Monitor05 = 0x18,	Monitor06 = 0x19,	Monitor07 = 0x1a,	Monitor12 = 0x1f,	FEC01     = 0x22,	Soft01    = 0x23,	Soft02    = 0x24,	Soft03    = 0x25,	Soft04    = 0x26,	Soft05    = 0x27,	Soft06    = 0x28,	Vit01     = 0x29,	Vit02     = 0x2a,	Vit03     = 0x2b,	Vit04     = 0x2c,	Vit05     = 0x2d,	Vit06     = 0x2e,	Vit07     = 0x2f,	Vit08     = 0x30,	Vit09     = 0x31,	Vit10     = 0x32,	Vit11     = 0x33,	Vit12     = 0x34,	Sync01    = 0x35,	Sync02    = 0x36,	Rs01      = 0x37,	Mpeg01    = 0x38,	Mpeg02    = 0x39,	DiS01     = 0x3a,	DiS02     = 0x3b,	DiS03     = 0x3c,	DiS04     = 0x3d,	DiS05     = 0x3e,	DiS06     = 0x3f,	DiS07     = 0x40,	DiS08     = 0x41,	DiS09     = 0x42,	DiS10     = 0x43,	DiS11     = 0x44,	Rf01      = 0x45,	Err01     = 0x46,	Err02     = 0x47,	Err03     = 0x48,	Err04     = 0x49,};#if 0regsiter mapping follows/* ID01  */#define PN1010_ID 7, 0/* CON_0 */#define QPSK_ONLY 4, 4#define SOFT_RST  3, 3 /* System soft reset mode (active high) [1] Enable [0] Disable */#define CLK_MODE  2, 2#define BPSK_QPSK 1, 1#define DSS_DVB   0, 0 /* DSS/DVB mode selection [1] DSS [0] DVB *//* CON_1 */#define ADC_SPD   6, 6#define PLL_OEN   5, 5#define SER_SEL   4, 4#define XTAL_OEN  3, 3#define Q_TEST    2, 2#define PWR_DN    1, 1 /* Power down mode [1] Power down enable,  [0] Power down disable */#define I2C_RPT   0, 0 /* I2C repeater control [1] I2C repeater enable,  [0] I2C repeater disable.					   * Note: The master should be set this bit to "1" in order to interface with the tuner.					   * When the master is not communicated with the tuner,  this bit should be set to "0" *//* PLL programming information * Fout = ((M+8)*Fin)/((P+2)*2^S),   Fin = 4 MHz *//* PLL01 */#define M 7, 0/* PLL02 */#define P 5, 0#define S 7, 6/* QPSK01 */#define KICK_EN    7, 7 /* [1] PLL Kicker enable [0] Disable */#define ROLL_OFF   6, 6#define SCALE_EN   5, 5#define DC_EN      4, 4 /* DC offset remove [1] Enable [0] Disable */#define VMODE      3, 3#define TGL_MSB    2, 2#define MODE_QPSK  1, 1 /* QPSK operation mode [1] 1 sampling/1 symbol [0] 2 sampling/1 symbol */#define Q_SRESET_N 0, 0 /* QPSK start signal [1] Start [0] Idle *//* QPSK02 */#define DUMP_ACC   3, 3 /* Dump phase loop filter & timing loop filter accumulator [0 and then 1]					    * The read operation enabled,  when user set DUMP_ACC "0" and then "1". */#define DC_WIN     2, 0 /* Window position from MSB (0 <= DC_WIN <= 7) *//* AGC Controls *//* Pre01 */#define PRE_TH    4, 0 /* PRE-AGC threshold */#define INV_PULSE 7, 7 /* PWM signal is reversed [1] PWM signal active low [0] PWM signal active high *//* Post01 */#define RRC_SCALE 7, 6#define POST_TH   5, 0 /* POST-AGC threshold *//* Loop Controls *//* Loop01 */#define WT_TNCO 7, 7 /* Write TNCO center frequency [0 and then 1] The write operation enabled,  when user set WT_TNCO "0" and then "1" */#define WT_PNCO 6, 6 /* Write PNCO center frequency [0 and then 1] The write operation enabled,  when user set WT_PNCO "0" and then "1" *//* Loop02 */#define LOOP_OUT 7, 7 /* Loop filter monitoring selection [1] Loop filter accumulator + NCO [0] Loop filter accumulator */#define KICK_VAL 6, 4 /* The value that gets injected into the accumulator when a "kick" is needed. */#define KICK_MUL 3, 0 /* The number of bits KICK_VAL is up-shifted (2^N) before it is injected into the accumulator. *//* Loop03 */#define IGA_PLF 7, 4 /* Phase loop,  integral gain (2^IGA_PLF) in the acquisition mode */#define PGA_PLF 3, 0 /* Phase loop,  proportional gain (2^PGA_PLF) in the acquisition mode (default +8 added) *//* Loop04 */#define IGT_PLF 7, 4 /* Integral gain in the tracking mode */#define PGT_PLF 3, 0 /* Phase loop,  proportional gain in the tracking mode (default +8 added) *//* Loop 05 */#define IG_TLF 7, 4 /* Timing loop,  integral gain */#define PG_TLF 3, 0 /* Timing loop,  proportional gain (default +8 added) *//* NCO controls * LOOP_OUT [1] Read PLF accumulator + PNCO,  LOOP_OUT [0] Read PLF accumulator *//* Pnco01 */#define PNCO0 7, 0/* Pnco02 */#define PNCO1 7, 0/* Pnco03 */#define PNCO2 7, 0/* LOOP_OUT [1],  Read TLF accumulator + TNCO,  LOOP_OUT [0],  Read TLF accumulator *//* Tnco01 */#define TNCO0 7, 0/* Tnco02 */#define TNCO1 7, 0/* Tnco03 */#define TNCO2 7, 0/* Monitor01 */#define A_SCL 3, 3#define TLOCK 1, 1 /* Timing loop lock (Symbol sync) [1] Timing loop has locked [0] Timing loop has not locked */#define PLOCK 0, 0 /* Phase loop lock (Carrier sync) [1] Phase loop has locked [0] Phase loop has not locked *//* Monitor02 */#define PRE_LEVEL 7, 0 /* PRE-AGC gain level *//* Monitor03 */#define POST_LEVEL 7, 0 /* POST-AGC gain level *//* Monitor04 */#define DC_I_LEVEL 7, 0 /* DC offset of I samples *//* Monitor05 */#define DC_Q_LEVEL 7, 0 /* DC offset of Q samples *//* Monitor06 */#define PLOCK_CNT 7, 0/* Monitor07 */#define TLOCK_CNT 7, 0/* Monitor12 */#define QPSK_OUT  6, 1 /* QPSK output monitoring */#define DC_FREEZE 0, 0 /* [1] Do not update DC_OFFSET *//* FEC Block *//* FEC01 */#define DERAND_BPAS   6, 6#define RS_BPAS       5, 5#define FEC_SRST_CNTL 4, 4#define FEC_SRESET    3, 3#define MPEG_CLK_INTL 2, 0	/*  Tmp=(FMClk/FSR) x (1 / (2xCR)); FMClk: System Clock Frequency,  FSR: Symbol Rate,  CR: Code Rate	 *  0: 1 < Tmp <= 2,   4: 13 < Tmp <= 17,	 *  1: 2 < Tmp <= 5,   5: 17 < Tmp <= 25,	 *  2: 5 < Tmp <= 9,   6: 25 < Tmp <= 33,	 *  3: 9 < Tmp <= 13,  7: 33 < Tmp *//* Soft01 */#define ST_VAL_R12 2, 0#define STEP_R12   5, 3#define STEP_R23   5, 3#define STEP_R34   5, 3#define STEP_R56   5, 3#define STEP_R67   5, 3#define STEP_R78   5, 3/* Soft02 */#define ST_VAL_R23 7, 0/* Soft03 */#define ST_VAL_R34 7, 0/* Soft04 */#define ST_VAL_R56 7, 0/* Soft05 */#define ST_VAL_R67 7, 0/* Soft06 */#define ST_VAL_R78 7, 0/* Vit01 */#define RENORM_R12 7, 0/* Vit02 */#define RENORM_R23 7, 0/* Vit03 */#define RENORM_R34 7, 0/* Vit04 */#define RENORM_R56 7, 0/* Vit05 */#define RENORM_R67 7, 0/* Vit06 */#define RENORM_R78 7, 0/* Vit07 */#define RENORM_PRD 7, 0/* Vit08 */#define VIT_IN_SR78 7, 7#define VIT_IN_SR34 6, 6#define VIT_SR78    5, 5#define VIT_SR67    4, 4#define VIT_SR56    3, 3#define VIT_SR34    2, 2#define VIT_SR23    1, 1 /* .... */#define VIT_SR12    0, 0 /* Include CR 1/2 in search *//* Vit09 */#define PARM_FIX             4, 4 /* Parameter fix mode: [1] Known parameter [0] Unknown parameter */#define VIT_INV_SPECPARM_FIX 3, 3 /* Initial spectrum information */#define VIT_FR               2, 0 /* Start synchronization search at code rate as follows */	#define VIT_CR_12 0x00	#define VIT_CR_23 0x01	#define VIT_CR_34 0x02	#define VIT_CR_56 0x03	#define VIT_CR_67 0x04	#define VIT_CR_78 0x05/* Vit10 */#define INV_SPEC_STS 3, 3 /* Spectrum information monitoring [1] Inv spectrum [0] Not inv spectrum */#define VIT_CR       2, 0 /* Viterbi decoder current code rate [0] R=1/2 [1] R=2/3 [2] R=3/4 [3] R=5/6 [4] R=6/7 [5] R=7/8 *//* Vit11 */#define VIT_CER 7, 0/* Vit12 */#define RENORM_RAT 7, 0/* Sync01 */#define SYNC_MISS_TH 7, 4 /* Sync byte detector?s miss threshold */#define SYNC_HIT_TH  3, 0 /* Sync byte detector?s hit threshold This value should be greater than 2 *//* Sync02 */#define BYTE_SYNC     5, 5 /* [1] Acquire byte sync [0] Not acquire byte sync */#define SYNC_BYTE_STS 4, 2#define VIT_SRCH_STS  1, 1#define VIT_SYNC      0, 0 /* [1] Viterbi decoder is in sync [0] Viterbi decoder is out of sync *//* Rs01 */#define RS_ERR  3, 0#define PKT_ERR 4, 4/* Mpeg01 */#define ERR_POL   3, 3 /* Packet error polarity [1] Active low [0] Active high */#define SYNC_POL  2, 2 /* Sync polarity [1] Active low [0] Active high */#define VALID_POL 1, 1 /* Data valid polarity [1] Active low [0] Active high */#define CDCLK_POL 0, 0 /* CDCLK polarity [1] Falling edge event [0] Rising edge event *//* Mpeg02 */#define MPEG_OEN  6, 6#define DOUT_CONT 5, 5#define ERR_CONT  4, 4#define CLK_CONT  3, 3 /* Clock continuous mode [1] Continuous clock,  [0] Clock is enable during payload data transfer */#define ENVELOPE  2, 2#define SER_PAR   1, 1 /* Serial / Parallel mode [1] Serial mode,  [0] Parallel mode */#define DSS_SYNC  0, 0 /* DSS sync mode [1] Output sync,  [0] No output sync *//* DiS01 */#define TONE_FREQ 7, 0 /* Tone frequency ratio ftone = fclk / (TONE_FREQ x 32) *//* DiS02 */#define RCV_EN     7, 7 /* DiSEqC receive enable mode [1] Receive enable [0] Receive disable */#define DIS_LENGTH 6, 4 /* Message length */#define DIS_RDY    3, 3 /* Data Transfer ready / finish [1] Ready [0] Finish */#define SWITCH_CON 2, 2 /* Satellite switch in tone burst mode [1] Satellite B [0] Satellite A */#define LNB_CON    1, 0 /* LNB control mode,  [0] Continuous mode,  [1] Tone burst mode,  [2] DiSEqC mode,  [3] Reserved *//* DiS03 */#define OLF_N      2, 2 /* [1] Disable [0] OLF (active low) */#define LNB_DN     1, 1 /* [1] LNB down [0] Disable (active high) */#define V18_13V    0, 0 /* 13V/18V select register (0=13V, 1=18V) *//* DiS04 .. DiS11*/#define LNB_MESGE0 7, 0#define LNB_MESGE1 7, 0#define LNB_MESGE2 7, 0#define LNB_MESGE3 7, 0#define LNB_MESGE4 7, 0#define LNB_MESGE5 7, 0#define LNB_MESGE6 7, 0#define LNB_MESGE7 7, 0/* Rf01 */#define SLAVE_ADDR 6, 0 /* RF tuner slave Address (SOC VERSION) *//* Err01 */#define ALARM_MODE  4, 4#define ERR_CNT_PRD 3, 2#define ERR_SRC     1, 0 /* Error monitoring source */	#define QPSK_BIT_ERRORS 0x0	#define VITERBI_BIT_ERRORS 0x1	#define VITERBI_BYTE_ERRORS 0x2	#define PACKET_ERRORS 0x3/* Err02 */#define ERR_CNT_L  7, 0 /* Error counter value register (LSB 8 bits) *//* Err03 */#define ERR_CNT_H  7, 0 /* Error counter value register (MSB 8 bits) *//* Err04 */#define PARITY_ERR 7, 0 /* Error flag for DiSEqC receive data */#endif#endif

⌨️ 快捷键说明

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