From 6b73faeee56da38ce46af3d7752da422cf3d38f9 Mon Sep 17 00:00:00 2001 From: Ralph Metzler Date: Wed, 1 Jun 2016 15:25:16 +0200 Subject: [PATCH 1/4] adapt to latest windows driver version --- frontends/stv0910.c | 403 ++++++++-- frontends/stv0910_regs.h | 1598 ++++++++++++++++++++++++++++---------- 2 files changed, 1519 insertions(+), 482 deletions(-) diff --git a/frontends/stv0910.c b/frontends/stv0910.c index a7052dc..8165da9 100644 --- a/frontends/stv0910.c +++ b/frontends/stv0910.c @@ -1,7 +1,7 @@ /* * Driver for the ST STV0910 DVB-S/S2 demodulator. * - * Copyright (C) 2014-2015 Ralph Metzler + * Copyright (C) 2014-2016 Ralph Metzler * Marcus Metzler * developed for Digital Devices GmbH * @@ -38,6 +38,7 @@ #include "stv0910_regs.h" +#define EXT_CLOCK 30000000 #define TUNING_DELAY 200 #define BER_SRC_S 0x20 #define BER_SRC_S2 0x20 @@ -123,9 +124,19 @@ struct stv { u32 Pilots; enum FE_STV0910_RollOff FERollOff; + int isStandardBroadcast; + int isVCM; + + u32 CurScramblingCode; + u32 ForceScramblingCode; + u32 ScramblingCode; + u32 DefaultInputStreamID; + u32 LastBERNumerator; u32 LastBERDenominator; u8 BERScale; + + u8 VTH[6]; }; struct SInitTable { @@ -193,6 +204,19 @@ static int read_regs(struct stv *state, u16 reg, u8 *val, int len) reg, val, len); } +static int write_shared_reg(struct stv *state, u16 reg, u8 mask, u8 val) +{ + int status; + u8 tmp; + + mutex_lock(&state->base->reg_lock); + status = read_reg(state, reg, &tmp); + if (!status) + status = write_reg(state, reg, (tmp & ~mask) | (val & mask)); + mutex_unlock(&state->base->reg_lock); + return status; +} + struct SLookup S1_SN_Lookup[] = { { 0, 9242 }, /*C/N= 0dB*/ { 05, 9105 }, /*C/N=0.5dB*/ @@ -452,24 +476,45 @@ static int GetCurSymbolRate(struct stv *state, u32 *pSymbolRate) static int GetSignalParameters(struct stv *state) { + u8 tmp; + if (!state->Started) return -1; - + if (state->ReceiveMode == Mode_DVBS2) { - u8 tmp; - u8 rolloff; - read_reg(state, RSTV0910_P2_DMDMODCOD + state->regoff, &tmp); state->ModCod = (enum FE_STV0910_ModCod) ((tmp & 0x7c) >> 2); state->Pilots = (tmp & 0x01) != 0; state->FECType = (enum DVBS2_FECType) ((tmp & 0x02) >> 1); +#if 0 read_reg(state, RSTV0910_P2_TMGOBS + state->regoff, &rolloff); rolloff = rolloff >> 6; state->FERollOff = (enum FE_STV0910_RollOff) rolloff; - +#endif } else if (state->ReceiveMode == Mode_DVBS) { - /* todo */ + read_reg(state, RSTV0910_P2_VITCURPUN + state->regoff, &tmp); + state->PunctureRate = FEC_NONE; + switch (tmp & 0x1F) { + case 0x0d: + state->PunctureRate = FEC_1_2; + break; + case 0x12: + state->PunctureRate = FEC_2_3; + break; + case 0x15: + state->PunctureRate = FEC_3_4; + break; + case 0x18: + state->PunctureRate = FEC_5_6; + break; + case 0x1A: + state->PunctureRate = FEC_7_8; + break; + } + state->isVCM = 0; + state->isStandardBroadcast = 1; + state->FERollOff = FE_SAT_35; } return 0; } @@ -485,18 +530,20 @@ static int TrackingOptimization(struct stv *state) switch (state->ReceiveMode) { case Mode_DVBS: - tmp |= 0x40; break; + tmp |= 0x40; + break; case Mode_DVBS2: - tmp |= 0x80; break; + tmp |= 0x80; + break; default: - tmp |= 0xC0; break; + tmp |= 0xC0; + break; } write_reg(state, RSTV0910_P2_DMDCFGMD + state->regoff, tmp); if (state->ReceiveMode == Mode_DVBS2) { - /* force to PRE BCH Rate */ - write_reg(state, RSTV0910_P2_ERRCTRL1 + state->regoff, - BER_SRC_S2 | state->BERScale); + /*Disable Reed-Solomon */ + write_shared_reg(state, RSTV0910_TSTTSRS, state->nr ? 0x02 : 0x01, 0x03); if (state->FECType == DVBS2_64K) { u8 aclc = get_optim_cloop(state, state->ModCod, @@ -523,29 +570,6 @@ static int TrackingOptimization(struct stv *state) } } } - if (state->ReceiveMode == Mode_DVBS) { - u8 tmp; - - read_reg(state, RSTV0910_P2_VITCURPUN + state->regoff, &tmp); - state->PunctureRate = FEC_NONE; - switch (tmp & 0x1F) { - case 0x0d: - state->PunctureRate = FEC_1_2; - break; - case 0x12: - state->PunctureRate = FEC_2_3; - break; - case 0x15: - state->PunctureRate = FEC_3_4; - break; - case 0x18: - state->PunctureRate = FEC_5_6; - break; - case 0x1A: - state->PunctureRate = FEC_7_8; - break; - } - } return 0; } @@ -558,7 +582,7 @@ static s32 TableLookup(struct SLookup *Table, int i; s32 RegDiff; - // Assumes Table[0].RegValue > Table[imax].RegValue + /* Assumes Table[0].RegValue > Table[imax].RegValue */ if( RegValue >= Table[0].RegValue ) Value = Table[0].Value; else if( RegValue <= Table[imax].RegValue ) @@ -686,11 +710,12 @@ static u32 DVBS2_nBCH(enum DVBS2_ModCod ModCod, enum DVBS2_FECType FECType) return 64800; } -static int GetBitErrorRateS2(struct stv *state, u32 *BERNumerator, +static int GetBitErrorRateS2(struct stv *state, + u32 *BERNumerator, u32 *BERDenominator) { u8 Regs[3]; - + int status = read_regs(state, RSTV0910_P2_ERRCNT12 + state->regoff, Regs, 3); @@ -828,12 +853,119 @@ static int Stop(struct stv *state) } +static int init_search_param(struct stv *state) +{ + u8 tmp; + + read_reg(state, RSTV0910_P2_PDELCTRL1 + state->regoff, &tmp); + tmp |= 0x20; // Filter_en (no effect if SIS=non-MIS + write_reg(state, RSTV0910_P2_PDELCTRL1 + state->regoff, tmp); + + read_reg(state, RSTV0910_P2_PDELCTRL2 + state->regoff, &tmp); + tmp &= ~0x02; // frame mode = 0 + write_reg(state, RSTV0910_P2_PDELCTRL2 + state->regoff, tmp); + + write_reg(state, RSTV0910_P2_UPLCCST0 + state->regoff, 0xe0); + write_reg(state, RSTV0910_P2_ISIBITENA + state->regoff, 0x00); + + read_reg(state, RSTV0910_P2_TSSTATEM + state->regoff, &tmp); + tmp &= ~0x01; // nosync = 0, in case next signal is standard TS + write_reg(state, RSTV0910_P2_TSSTATEM + state->regoff, tmp); + + read_reg(state, RSTV0910_P2_TSCFGL + state->regoff, &tmp); + tmp &= ~0x04; // embindvb = 0 + write_reg(state, RSTV0910_P2_TSCFGL + state->regoff, tmp); + + read_reg(state, RSTV0910_P2_TSINSDELH + state->regoff, &tmp); + tmp &= ~0x80; // syncbyte = 0 + write_reg(state, RSTV0910_P2_TSINSDELH + state->regoff, tmp); + + read_reg(state, RSTV0910_P2_TSINSDELM + state->regoff, &tmp); + tmp &= ~0x08; // token = 0 + write_reg(state, RSTV0910_P2_TSINSDELM + state->regoff, tmp); + + read_reg(state, RSTV0910_P2_TSDLYSET2 + state->regoff, &tmp); + tmp &= ~0x30; // hysteresis threshold = 0 + write_reg(state, RSTV0910_P2_TSDLYSET2 + state->regoff, tmp); + + read_reg(state, RSTV0910_P2_PDELCTRL0 + state->regoff, &tmp); + tmp = (tmp & ~0x30) | 0x10; // isi obs mode = 1, observe min ISI + write_reg(state, RSTV0910_P2_PDELCTRL0 + state->regoff, tmp); + + return 0; +} + +static int EnablePunctureRate(struct stv *state, enum fe_code_rate rate) +{ + switch(rate) { + case FEC_1_2: + return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x01); + case FEC_2_3: + return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x02); + case FEC_3_4: + return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x04); + case FEC_5_6: + return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x08); + case FEC_7_8: + return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x20); + case FEC_NONE: + default: + return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x2f); + } +} + +static int set_vth_default(struct stv *state) +{ + state->VTH[0] = 0xd7; + state->VTH[1] = 0x85; + state->VTH[2] = 0x58; + state->VTH[3] = 0x3a; + state->VTH[4] = 0x34; + state->VTH[5] = 0x28; + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 0, state->VTH[0]); + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 1, state->VTH[1]); + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 2, state->VTH[2]); + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 3, state->VTH[3]); + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 4, state->VTH[4]); + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 5, state->VTH[5]); + return 0; +} + +static int set_vth(struct stv *state) +{ + static struct SLookup VTHLookupTable[] = { + {250, 8780}, /*C/N=1.5dB*/ + {100, 7405}, /*C/N=4.5dB*/ + {40, 6330}, /*C/N=6.5dB*/ + {12, 5224}, /*C/N=8.5dB*/ + {5, 4236} /*C/N=10.5dB*/ + }; + int i; + u8 tmp[2]; + int status = read_regs(state, RSTV0910_P2_NNOSDATAT1 + state->regoff, tmp, 2); + u16 RegValue = (tmp[0] << 8) | tmp[1]; + s32 vth = TableLookup(VTHLookupTable, ARRAY_SIZE(VTHLookupTable), RegValue); + + for (i = 0; i < 6; i += 1) + if (state->VTH[i] > vth) + state->VTH[i] = vth; + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 0, state->VTH[0]); + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 1, state->VTH[1]); + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 2, state->VTH[2]); + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 3, state->VTH[3]); + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 4, state->VTH[4]); + write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 5, state->VTH[5]); + return status; +} + static int Start(struct stv *state, struct dtv_frontend_properties *p) { s32 Freq; u8 regDMDCFGMD; u16 symb; - + u32 ScramblingCode; + u32 InputStreamID; + if (p->symbol_rate < 100000 || p->symbol_rate > 70000000) return -EINVAL; @@ -844,6 +976,26 @@ static int Start(struct stv *state, struct dtv_frontend_properties *p) if (state->Started) write_reg(state, RSTV0910_P2_DMDISTATE + state->regoff, 0x5C); + init_search_param(state); + +#if 0 + if (state->ForceScramblingCode != (u32) (-1) ) + state->ScramblingCode = state->ForceScramblingCode; + ScramblingCode = (state->ScramblingCode & 0xFF800000 ) ? DD_PLS_DEFAULT_ROOT : state->ScramblingCode; + + if (ScramblingCode != state->CurScramblingCode) { + write_reg(state, RSTV0910_P2_PLROOT0 + state->regoff, ScramblingCode & 0xff); + write_reg(state, RSTV0910_P2_PLROOT1 + state->regoff, (ScramblingCode >> 8) & 0xff); + write_reg(state, RSTV0910_P2_PLROOT2 + state->regoff, (ScramblingCode >> 16) & 0xff); + state->CurScramblingCode = ScramblingCode; + } + + InputStreamID = (p->stream_id != (u32) -1) ? p->stream_id : state->DefaultInputStreamID; + if (InputStreamID != (u32) -1) { + write_reg(state, RSTV0910_P2_ISIENTRY + state->regoff, InputStreamID & 0xff); + write_reg(state, RSTV0910_P2_ISIBITENA + state->regoff, 0xff); + } +#endif if (p->symbol_rate <= 1000000) { /*SR <=1Msps*/ state->DemodTimeout = 3000; state->FecTimeout = 2000; @@ -852,7 +1004,7 @@ static int Start(struct stv *state, struct dtv_frontend_properties *p) state->FecTimeout = 1300; } else if (p->symbol_rate <= 5000000) { /*2Msps< SR <=5Msps*/ state->DemodTimeout = 1000; - state->FecTimeout = 650; + state->FecTimeout = 650; } else if (p->symbol_rate <= 10000000) { /*5Msps< SR <=10Msps*/ state->DemodTimeout = 700; state->FecTimeout = 350; @@ -879,25 +1031,43 @@ static int Start(struct stv *state, struct dtv_frontend_properties *p) read_reg(state, RSTV0910_P2_DMDCFGMD + state->regoff, ®DMDCFGMD); write_reg(state, RSTV0910_P2_DMDCFGMD + state->regoff, regDMDCFGMD |= 0xC0); - + write_shared_reg(state, RSTV0910_TSTTSRS, state->nr ? 0x02 : 0x01, 0x00); + /* Disable DSS */ write_reg(state, RSTV0910_P2_FECM + state->regoff, 0x00); write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x2F); + EnablePunctureRate(state, FEC_NONE); + /* 8PSK 3/5, 8PSK 2/3 Poff tracking optimization WA*/ write_reg(state, RSTV0910_P2_ACLC2S2Q + state->regoff, 0x0B); write_reg(state, RSTV0910_P2_ACLC2S28 + state->regoff, 0x0A); write_reg(state, RSTV0910_P2_BCLC2S2Q + state->regoff, 0x84); write_reg(state, RSTV0910_P2_BCLC2S28 + state->regoff, 0x84); write_reg(state, RSTV0910_P2_CARHDR + state->regoff, 0x1C); - /* Reset demod */ + write_reg(state, RSTV0910_P2_CARFREQ + state->regoff, 0x79); + + write_reg(state, RSTV0910_P2_ACLC2S216A + state->regoff, 0x29); + write_reg(state, RSTV0910_P2_ACLC2S232A + state->regoff, 0x09); + write_reg(state, RSTV0910_P2_BCLC2S216A + state->regoff, 0x84); + write_reg(state, RSTV0910_P2_BCLC2S232A + state->regoff, 0x84); + + /* Reset CAR3, bug DVBS2->DVBS1 lock*/ + /* Note: The bit is only pulsed -> no lock on shared register needed */ + write_reg(state, RSTV0910_TSTRES0, state->nr ? 0x04 : 0x08); + write_reg(state, RSTV0910_TSTRES0, 0); + + set_vth_default(state); + + /* Reset demod */ write_reg(state, RSTV0910_P2_DMDISTATE + state->regoff, 0x1F); write_reg(state, RSTV0910_P2_CARCFG + state->regoff, 0x46); - Freq = (state->SearchRange / 2000) + 600; if (p->symbol_rate <= 5000000) - Freq -= (600 + 80); + Freq = (state->SearchRange / 2000) + 80; + else + Freq = (state->SearchRange / 2000) + 1600; Freq = (Freq << 16) / (state->base->mclk / 1000); write_reg(state, RSTV0910_P2_CFRUP1 + state->regoff, @@ -955,19 +1125,29 @@ static int probe(struct stv *state) /* Configure the I2C repeater to off */ write_reg(state, RSTV0910_P2_I2CRPT, 0x24); /* Set the I2C to oversampling ratio */ - write_reg(state, RSTV0910_I2CCFG, 0x88); + write_reg(state, RSTV0910_I2CCFG, 0x88); /* state->i2ccfg */ write_reg(state, RSTV0910_OUTCFG, 0x00); /* OUTCFG */ - write_reg(state, RSTV0910_PADCFG, 0x05); /* RF AGC Pads Dev = 05 */ + write_reg(state, RSTV0910_PADCFG, 0x05); /* RFAGC Pads Dev = 05 */ write_reg(state, RSTV0910_SYNTCTRL, 0x02); /* SYNTCTRL */ write_reg(state, RSTV0910_TSGENERAL, state->tsgeneral); /* TSGENERAL */ write_reg(state, RSTV0910_CFGEXT, 0x02); /* CFGEXT */ write_reg(state, RSTV0910_GENCFG, 0x15); /* GENCFG */ - + write_reg(state, RSTV0910_P1_CAR3CFG, 0x02); + write_reg(state, RSTV0910_P2_CAR3CFG, 0x02); + write_reg(state, RSTV0910_P1_DMDCFG4, 0x04); + write_reg(state, RSTV0910_P2_DMDCFG4, 0x04); + write_reg(state, RSTV0910_TSTRES0, 0x80); /* LDPC Reset */ write_reg(state, RSTV0910_TSTRES0, 0x00); + write_reg(state, RSTV0910_P1_TSPIDFLT1, 0x00); + write_reg(state, RSTV0910_P2_TSPIDFLT1, 0x00); + + write_reg(state, RSTV0910_P1_TMGCFG2, 0x80); + write_reg(state, RSTV0910_P2_TMGCFG2, 0x80); + set_mclock(state, 135000000); /* TS output */ @@ -1054,12 +1234,31 @@ static int set_parameters(struct dvb_frontend *fe) return stat; } +static int get_frequency_offset(struct stv *state, s32 *off) +{ + u8 cfr0, cfr1, cfr2; + s32 derot; + + read_reg(state, RSTV0910_P2_CFR2 + state->regoff, &cfr2); + read_reg(state, RSTV0910_P2_CFR1 + state->regoff, &cfr1); + read_reg(state, RSTV0910_P2_CFR0 + state->regoff, &cfr0); + + derot = ((u32) cfr2 << 16) | ((u32)cfr1 << 8) | cfr0; + if (derot & (1<<23)) + derot |= 0xFF000000; + *off = - (s32) (((s64) derot * (s64) state->base->mclk) >> 24); + pr_info("foff = %d\n", *off); + return 0; +} + + static int get_frontend(struct dvb_frontend *fe) { struct stv *state = fe->demodulator_priv; struct dtv_frontend_properties *p = &fe->dtv_property_cache; u8 tmp; + if (state->ReceiveMode == Mode_DVBS2) { u32 mc; enum fe_modulation modcod2mod[0x20] = { @@ -1118,6 +1317,28 @@ static int get_frontend(struct dvb_frontend *fe) } +static int ManageMatypeInfo(struct stv *state) +{ + if (!state->Started) + return -1; + if (state->ReceiveMode == Mode_DVBS2 ) { + u8 BBHeader[2]; + + read_regs(state, RSTV0910_P2_MATSTR1 + state->regoff, + BBHeader, 2); + state->FERollOff = + (enum FE_STV0910_RollOff) (BBHeader[0] & 0x03); + state->isVCM = (BBHeader[0] & 0x10) == 0; + state->isStandardBroadcast = (BBHeader[0] & 0xFC) == 0xF0; + } else if (state->ReceiveMode == Mode_DVBS) { + state->isVCM = 0; + state->isStandardBroadcast = 1; + state->FERollOff = FE_SAT_35; + } + return 0; +} + + static int read_snr(struct dvb_frontend *fe, u16 *snr); static int read_signal_strength(struct dvb_frontend *fe, u16 *strength); static int read_ber(struct dvb_frontend *fe, u32 *ber); @@ -1132,6 +1353,9 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) u32 FECLock = 0; u16 val; u32 ber; + s32 foff; + + get_frequency_offset(state, &foff); read_signal_strength(fe, &val); @@ -1140,24 +1364,42 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) read_ber(fe, &ber); read_reg(state, RSTV0910_P2_DMDSTATE + state->regoff, &DmdState); - if (DmdState & 0x40) { - read_reg(state, RSTV0910_P2_DSTATUS + state->regoff, &DStatus); + read_reg(state, RSTV0910_P2_DSTATUS + state->regoff, + &DStatus); if (DStatus & 0x08) CurReceiveMode = (DmdState & 0x20) ? Mode_DVBS : Mode_DVBS2; } if (CurReceiveMode == Mode_None) { + set_vth(state); + //if( Time >= m_DemodTimeout ) *pLockStatus = NEVER_LOCK; *status = 0; return 0; } - *status |= 0x0f; if (state->ReceiveMode == Mode_None) { state->ReceiveMode = CurReceiveMode; state->DemodLockTime = jiffies; state->FirstTimeLock = 1; + GetSignalParameters(state); + TrackingOptimization(state); + +#if 0 + if( CurReceiveMode == Mode_DVBS2 && m_bPilots + && ( m_ModCod == FE_8PSK_23 || m_ModCod == FE_8PSK_35) ) + { + LONG C_N; + CHK_ERROR(GetSignalToNoise(&C_N)); + if( C_N < 80 ) + { + CHK_ERROR(WriteReg(RSTV0910_P2_CARHDR + m_DemodOffset , 0x04)); + CHK_ERROR(WriteReg(RSTV0910_P2_BCLC2S28 + m_DemodOffset , 0x31)); + } + } +#endif + write_reg(state, RSTV0910_P2_TSCFGH + state->regoff, state->tscfgh); usleep_range(3000, 4000); @@ -1183,6 +1425,7 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) } if (!FECLock) + //if( Time >= m_DemodLockTime + m_FecTimeout ) *pLockStatus = NEVER_LOCK; return 0; *status |= 0x10; @@ -1191,10 +1434,23 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) u8 tmp; state->FirstTimeLock = 0; - GetSignalParameters(state); - if (state->ReceiveMode == Mode_DVBS2) { - /* FSTV0910_P2_MANUALSX_ROLLOFF, + ManageMatypeInfo(state); + +#if 0 + ULONG Bitrate; + CSTV0910::GetBitrate(&Bitrate); + BYTE newTSSPEED = (Bitrate > 67000000) ? 0x30 : 0x40; + if (newTSSPEED != m_TSSPEED) + { + KdPrintEx((MSG_INFO "_%d " __FUNCTION__ " TSSPEED = %02X\n", m_Instance, newTSSPEED)); + CHK_ERROR(WriteReg(RSTV0910_P2_TSSPEED + m_DemodOffset, newTSSPEED)); + m_TSSPEED = newTSSPEED; + } + +#endif + if (state->ReceiveMode == Mode_DVBS2) { + /* FSTV0910_P2_MANUALSX_ROLLOFF, FSTV0910_P2_MANUALS2_ROLLOFF = 0 */ state->DEMOD &= ~0x84; write_reg(state, RSTV0910_P2_DEMOD + state->regoff, @@ -1203,11 +1459,13 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) &tmp); /*reset DVBS2 packet delinator error counter */ tmp |= 0x40; - write_reg(state, RSTV0910_P2_PDELCTRL2 + state->regoff, + write_reg(state, RSTV0910_P2_PDELCTRL2 + + state->regoff, tmp); /*reset DVBS2 packet delinator error counter */ tmp &= ~0x40; - write_reg(state, RSTV0910_P2_PDELCTRL2 + state->regoff, + write_reg(state, RSTV0910_P2_PDELCTRL2 + + state->regoff, tmp); state->BERScale = 2; @@ -1230,8 +1488,25 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) infinit error count mode )*/ write_reg(state, RSTV0910_P2_ERRCTRL2 + state->regoff, 0xc1); - TrackingOptimization(state); + set_vth_default(state); + if (state->ReceiveMode == Mode_DVBS) + EnablePunctureRate(state, state->PunctureRate); } + +#if 0 + if( m_isVCM ) + { + // Use highest signaled ModCod for quality + BYTE tmp; + CHK_ERROR(ReadReg(RSTV0910_P2_DMDMODCOD + + m_DemodOffset,&tmp)); + FE_STV0910_ModCod ModCod = + FE_STV0910_ModCod((tmp & 0x7c) >> 2); + + if( ModCod > m_ModCod ) + m_ModCod = ModCod; + } +#endif return 0; } @@ -1439,24 +1714,21 @@ static int read_signal_strength(struct dvb_frontend *fe, u16 *strength) { struct stv *state = fe->demodulator_priv; struct dtv_frontend_properties *p = &fe->dtv_property_cache; - u8 Agc1, Agc0; u8 Reg[2]; s32 bbgain; s32 Power = 0; int i; read_regs(state, RSTV0910_P2_AGCIQIN1 + state->regoff, Reg, 2); - //KdPrintEx((MSG_INFO "_%d " __FUNCTION__ " AGCIQIN1 = %02x%02x\n",m_Instance,Reg[0],Reg[1])); - *strength = (((u32) Reg[0]) << 8) | Reg[1]; for (i = 0; i < 5; i += 1) { read_regs(state, RSTV0910_P2_POWERI + state->regoff, Reg, 2); - Power += (u32) Reg[0] * (u32) Reg[0] + (u32) Reg[1] * (u32) Reg[1]; + Power += (u32) Reg[0] * (u32) Reg[0] + + (u32) Reg[1] * (u32) Reg[1]; msleep(3); } Power /= 5; - bbgain = (465 - Log10x100(Power)) * 10; if (fe->ops.tuner_ops.get_rf_strength) @@ -1464,7 +1736,7 @@ static int read_signal_strength(struct dvb_frontend *fe, u16 *strength) else *strength = 0; - printk("pwr = %d bb = %d str = %u\n", Power, bbgain, *strength); + //printk("pwr = %d bb = %d str = %u\n", Power, bbgain, *strength); if (bbgain < (s32) *strength) *strength -= bbgain; else @@ -1550,6 +1822,9 @@ struct dvb_frontend *stv0910_attach(struct i2c_adapter *i2c, state->SearchRange = 16000000; state->DEMOD = 0x10; /* Inversion : Auto with reset to 0 */ state->ReceiveMode = Mode_None; + state->CurScramblingCode = (u32) -1; + state->ForceScramblingCode = (u32) -1; + state->DefaultInputStreamID = (u32) -1; base = match_base(i2c, cfg->adr); if (base) { @@ -1586,5 +1861,5 @@ fail: EXPORT_SYMBOL_GPL(stv0910_attach); MODULE_DESCRIPTION("STV0910 driver"); -MODULE_AUTHOR("Ralph Metzler, Manfred Voelkel"); +MODULE_AUTHOR("Ralph und Marcus Metzler, Manfred Voelkel"); MODULE_LICENSE("GPL"); diff --git a/frontends/stv0910_regs.h b/frontends/stv0910_regs.h index 305f5da..e921937 100644 --- a/frontends/stv0910_regs.h +++ b/frontends/stv0910_regs.h @@ -2,7 +2,7 @@ // Author Manfred Völkel, August 2013 // (c) 2013 Digital Devices GmbH Germany. All rights reserved -// $Id: DD_STV0910Register.h 504 2013-09-02 23:02:14Z manfred $ +// $Id: DD_STV0910Register.h 627 2015-11-23 11:51:14Z manfred $ /* ======================================================================= -- Registers Declaration (Internal ST, All Applications ) @@ -51,7 +51,6 @@ /*OUTCFG*/ #define RSTV0910_OUTCFG 0xf11c -#define FSTV0910_INV_DATA6 0xf11c0080 #define FSTV0910_TS2_OUTSER_HZ 0xf11c0020 #define FSTV0910_TS1_OUTSER_HZ 0xf11c0010 #define FSTV0910_TS2_OUTPAR_HZ 0xf11c0008 @@ -93,9 +92,7 @@ #define FSTV0910_SDEMOD_LOCK_1 0xf1230040 #define FSTV0910_SDEMOD_IRQ_1 0xf1230020 #define FSTV0910_SBCH_ERRFLAG 0xf1230010 -#define FSTV0910_SECW2_IRQ 0xf1230008 #define FSTV0910_SDISEQC2_IRQ 0xf1230004 -#define FSTV0910_SECW1_IRQ 0xf1230002 #define FSTV0910_SDISEQC1_IRQ 0xf1230001 /*IRQMASK3*/ @@ -133,18 +130,12 @@ #define FSTV0910_MDEMOD_LOCK_1 0xf1270040 #define FSTV0910_MDEMOD_IRQ_1 0xf1270020 #define FSTV0910_MBCH_ERRFLAG 0xf1270010 -#define FSTV0910_MECW2_IRQ 0xf1270008 #define FSTV0910_MDISEQC2_IRQ 0xf1270004 -#define FSTV0910_MECW1_IRQ 0xf1270002 #define FSTV0910_MDISEQC1_IRQ 0xf1270001 /*I2CCFG*/ #define RSTV0910_I2CCFG 0xf129 -#define FSTV0910_I2C2_FASTMODE 0xf1290080 -#define FSTV0910_STATUS_WR2 0xf1290040 -#define FSTV0910_I2C2ADDR_INC 0xf1290030 #define FSTV0910_I2C_FASTMODE 0xf1290008 -#define FSTV0910_STATUS_WR 0xf1290004 #define FSTV0910_I2CADDR_INC 0xf1290003 /*P1_I2CRPT*/ @@ -460,7 +451,6 @@ /*PLLSTAT*/ #define RSTV0910_PLLSTAT 0xf1b8 -#define FSTV0910_PLL_BIST_END 0xf1b80004 #define FSTV0910_PLLLOCK 0xf1b80001 /*STOPCLK1*/ @@ -484,29 +474,18 @@ /*TSTTNR0*/ #define RSTV0910_TSTTNR0 0xf1df #define FSTV0910_FSK_PON 0xf1df0004 -#define FSTV0910_FSK_OPENLOOP 0xf1df0002 /*TSTTNR1*/ #define RSTV0910_TSTTNR1 0xf1e0 -#define FSTV0910_BYPASS_ADC1 0xf1e00080 -#define FSTV0910_INVADC1_CKOUT 0xf1e00040 -#define FSTV0910_SELIQSRC1 0xf1e00030 -#define FSTV0910_DEMOD2_SELADC 0xf1e00008 -#define FSTV0910_DEMOD1_SELADC 0xf1e00004 #define FSTV0910_ADC1_PON 0xf1e00002 /*TSTTNR2*/ #define RSTV0910_TSTTNR2 0xf1e1 -#define FSTV0910_I2C_DISEQC_BYPASS 0xf1e10080 -#define FSTV0910_I2C_DISEQC_ENCH 0xf1e10040 #define FSTV0910_I2C_DISEQC_PON 0xf1e10020 #define FSTV0910_DISEQC_CLKDIV 0xf1e1000f /*TSTTNR3*/ #define RSTV0910_TSTTNR3 0xf1e2 -#define FSTV0910_BYPASS_ADC2 0xf1e20080 -#define FSTV0910_INVADC2_CKOUT 0xf1e20040 -#define FSTV0910_SELIQSRC2 0xf1e20030 #define FSTV0910_ADC2_PON 0xf1e20002 /*P2_IQCONST*/ @@ -516,8 +495,6 @@ /*P2_NOSCFG*/ #define RSTV0910_P2_NOSCFG 0xf201 -#define FSTV0910_P2_DIS_ACMRATIO 0xf2010080 -#define FSTV0910_P2_NOSIN_EGALSEL 0xf2010040 #define FSTV0910_P2_DUMMYPL_NOSDATA 0xf2010020 #define FSTV0910_P2_NOSPLH_BETA 0xf2010018 #define FSTV0910_P2_NOSDATA_BETA 0xf2010007 @@ -538,14 +515,10 @@ #define FSTV0910_P2_AMM_CORRECT 0xf2040010 #define FSTV0910_P2_QUAD_FROZEN 0xf2040008 #define FSTV0910_P2_QUAD_CORRECT 0xf2040004 -#define FSTV0910_P2_DCCOMP_SLOW 0xf2040002 -#define FSTV0910_P2_IQMISM_SLOW 0xf2040001 /*P2_AGC1CN*/ #define RSTV0910_P2_AGC1CN 0xf206 #define FSTV0910_P2_AGC1_LOCKED 0xf2060080 -#define FSTV0910_P2_AGC1_OVERFLOW 0xf2060040 -#define FSTV0910_P2_AGC1_NOSLOWLK 0xf2060020 #define FSTV0910_P2_AGC1_MINPOWER 0xf2060010 #define FSTV0910_P2_AGCOUT_FAST 0xf2060008 #define FSTV0910_P2_AGCIQ_BETA 0xf2060007 @@ -603,16 +576,12 @@ #define RSTV0910_P2_DSTATUS 0xf212 #define FSTV0910_P2_CAR_LOCK 0xf2120080 #define FSTV0910_P2_TMGLOCK_QUALITY 0xf2120060 -#define FSTV0910_P2_SDVBS1_ENABLE 0xf2120010 #define FSTV0910_P2_LOCK_DEFINITIF 0xf2120008 -#define FSTV0910_P2_TIMING_IS_LOCKED 0xf2120004 -#define FSTV0910_P2_DEMOD_SYSCFG 0xf2120002 #define FSTV0910_P2_OVADC_DETECT 0xf2120001 /*P2_DSTATUS2*/ #define RSTV0910_P2_DSTATUS2 0xf213 #define FSTV0910_P2_DEMOD_DELOCK 0xf2130080 -#define FSTV0910_P2_DEMOD_TIMEOUT 0xf2130040 #define FSTV0910_P2_MODCODRQ_SYNCTAG 0xf2130020 #define FSTV0910_P2_POLYPH_SATEVENT 0xf2130010 #define FSTV0910_P2_AGC1_NOSIGNALACK 0xf2130008 @@ -626,25 +595,16 @@ #define FSTV0910_P2_DVBS1_ENABLE 0xf2140040 #define FSTV0910_P2_SCAN_ENABLE 0xf2140010 #define FSTV0910_P2_CFR_AUTOSCAN 0xf2140008 -#define FSTV0910_P2_NOFORCE_RELOCK 0xf2140004 #define FSTV0910_P2_TUN_RNG 0xf2140003 /*P2_DMDCFG2*/ #define RSTV0910_P2_DMDCFG2 0xf215 -#define FSTV0910_P2_AGC1_WAITLOCK 0xf2150080 #define FSTV0910_P2_S1S2_SEQUENTIAL 0xf2150040 -#define FSTV0910_P2_BLINDPEA_MODE 0xf2150020 #define FSTV0910_P2_INFINITE_RELOCK 0xf2150010 -#define FSTV0910_P2_BWOFFSET_COLDWARM 0xf2150008 -#define FSTV0910_P2_TMGLOCK_NSCANSTOP 0xf2150004 -#define FSTV0910_P2_COARSE_LK3MODE 0xf2150002 -#define FSTV0910_P2_COARSE_LK2MODE 0xf2150001 /*P2_DMDISTATE*/ #define RSTV0910_P2_DMDISTATE 0xf216 #define FSTV0910_P2_I2C_NORESETDMODE 0xf2160080 -#define FSTV0910_P2_FORCE_ETAPED 0xf2160040 -#define FSTV0910_P2_SDMDRST_DIRCLK 0xf2160020 #define FSTV0910_P2_I2C_DEMOD_MODE 0xf216001f /*P2_DMDT0M*/ @@ -653,9 +613,7 @@ /*P2_DMDSTATE*/ #define RSTV0910_P2_DMDSTATE 0xf21b -#define FSTV0910_P2_DEMOD_LOCKED 0xf21b0080 #define FSTV0910_P2_HEADER_MODE 0xf21b0060 -#define FSTV0910_P2_DEMOD_MODE 0xf21b001f /*P2_DMDFLYW*/ #define RSTV0910_P2_DMDFLYW 0xf21c @@ -667,29 +625,15 @@ #define FSTV0910_P2_CFR_ZIGZAG 0xf21d0080 #define FSTV0910_P2_DEMOD_CFGMODE 0xf21d0060 #define FSTV0910_P2_GAMMA_LOWBAUDRATE 0xf21d0010 -#define FSTV0910_P2_RELOCK_MODE 0xf21d0008 -#define FSTV0910_P2_DEMOD_FAIL 0xf21d0004 -#define FSTV0910_P2_ETAPE1A_DVBXMEM 0xf21d0003 /*P2_DMDCFG3*/ #define RSTV0910_P2_DMDCFG3 0xf21e -#define FSTV0910_P2_DVBS1_TMGWAIT 0xf21e0080 -#define FSTV0910_P2_NO_BWCENTERING 0xf21e0040 -#define FSTV0910_P2_INV_SEQSRCH 0xf21e0020 -#define FSTV0910_P2_DIS_SFRUPLOW_TRK 0xf21e0010 #define FSTV0910_P2_NOSTOP_FIFOFULL 0xf21e0008 -#define FSTV0910_P2_LOCKTIME_MODE 0xf21e0007 /*P2_DMDCFG4*/ #define RSTV0910_P2_DMDCFG4 0xf21f #define FSTV0910_P2_DIS_VITLOCK 0xf21f0080 -#define FSTV0910_P2_S1S2TOUT_FAST 0xf21f0040 -#define FSTV0910_P2_DEMOD_FASTLOCK 0xf21f0020 -#define FSTV0910_P2_S1HIER_ENABLE 0xf21f0010 -#define FSTV0910_P2_TUNER_NRELAUNCH 0xf21f0008 #define FSTV0910_P2_DIS_CLKENABLE 0xf21f0004 -#define FSTV0910_P2_DIS_HDRDIVLOCK 0xf21f0002 -#define FSTV0910_P2_NO_TNRWBINIT 0xf21f0001 /*P2_CORRELMANT*/ #define RSTV0910_P2_CORRELMANT 0xf220 @@ -712,16 +656,45 @@ /*P2_DMDREG*/ #define RSTV0910_P2_DMDREG 0xf225 -#define FSTV0910_P2_EXTPSK_MODE 0xf2250080 -#define FSTV0910_P2_HIER_SHORTFRAME 0xf2250002 #define FSTV0910_P2_DECIM_PLFRAMES 0xf2250001 +/*P2_AGCNADJ*/ +#define RSTV0910_P2_AGCNADJ 0xf226 +#define FSTV0910_P2_RADJOFF_AGC2 0xf2260080 +#define FSTV0910_P2_RADJOFF_AGC1 0xf2260040 +#define FSTV0910_P2_AGC_NADJ 0xf226013f + +/*P2_AGCKS*/ +#define RSTV0910_P2_AGCKS 0xf227 +#define FSTV0910_P2_RSADJ_MANUALCFG 0xf2270080 +#define FSTV0910_P2_RSADJ_CCMMODE 0xf2270040 +#define FSTV0910_P2_RADJ_SPSK 0xf227013f + +/*P2_AGCKQ*/ +#define RSTV0910_P2_AGCKQ 0xf228 +#define FSTV0910_P2_RADJON_DVBS1 0xf2280040 +#define FSTV0910_P2_RADJ_QPSK 0xf228013f + +/*P2_AGCK8*/ +#define RSTV0910_P2_AGCK8 0xf229 +#define FSTV0910_P2_RADJ_8PSK 0xf229013f + +/*P2_AGCK16*/ +#define RSTV0910_P2_AGCK16 0xf22a +#define FSTV0910_P2_R2ADJOFF_16APSK 0xf22a0040 +#define FSTV0910_P2_R1ADJOFF_16APSK 0xf22a0020 +#define FSTV0910_P2_RADJ_16APSK 0xf22a011f + +/*P2_AGCK32*/ +#define RSTV0910_P2_AGCK32 0xf22b +#define FSTV0910_P2_R3ADJOFF_32APSK 0xf22b0080 +#define FSTV0910_P2_R2ADJOFF_32APSK 0xf22b0040 +#define FSTV0910_P2_R1ADJOFF_32APSK 0xf22b0020 +#define FSTV0910_P2_RADJ_32APSK 0xf22b011f + /*P2_AGC2O*/ #define RSTV0910_P2_AGC2O 0xf22c #define FSTV0910_P2_CSTENV_MODE 0xf22c00c0 -#define FSTV0910_P2_AGC2_LKSQRT 0xf22c0020 -#define FSTV0910_P2_AGC2_LKMODE 0xf22c0010 -#define FSTV0910_P2_AGC2_LKEQUA 0xf22c0008 #define FSTV0910_P2_AGC2_COEF 0xf22c0007 /*P2_AGC2REF*/ @@ -730,9 +703,36 @@ /*P2_AGC1ADJ*/ #define RSTV0910_P2_AGC1ADJ 0xf22e -#define FSTV0910_P2_AGC1ADJ_MANUAL 0xf22e0080 #define FSTV0910_P2_AGC1_ADJUSTED 0xf22e007f +/*P2_AGCRSADJ*/ +#define RSTV0910_P2_AGCRSADJ 0xf22f +#define FSTV0910_P2_RS_ADJUSTED 0xf22f007f + +/*P2_AGCRQADJ*/ +#define RSTV0910_P2_AGCRQADJ 0xf230 +#define FSTV0910_P2_RQ_ADJUSTED 0xf230007f + +/*P2_AGCR8ADJ*/ +#define RSTV0910_P2_AGCR8ADJ 0xf231 +#define FSTV0910_P2_R8_ADJUSTED 0xf231007f + +/*P2_AGCR1ADJ*/ +#define RSTV0910_P2_AGCR1ADJ 0xf232 +#define FSTV0910_P2_R1_ADJUSTED 0xf232007f + +/*P2_AGCR2ADJ*/ +#define RSTV0910_P2_AGCR2ADJ 0xf233 +#define FSTV0910_P2_R2_ADJUSTED 0xf233007f + +/*P2_AGCR3ADJ*/ +#define RSTV0910_P2_AGCR3ADJ 0xf234 +#define FSTV0910_P2_R3_ADJUSTED 0xf234007f + +/*P2_AGCREFADJ*/ +#define RSTV0910_P2_AGCREFADJ 0xf235 +#define FSTV0910_P2_AGC2REF_ADJUSTED 0xf235007f + /*P2_AGC2I1*/ #define RSTV0910_P2_AGC2I1 0xf236 #define FSTV0910_P2_AGC2_INTEGRATOR1 0xf23600ff @@ -743,26 +743,29 @@ /*P2_CARCFG*/ #define RSTV0910_P2_CARCFG 0xf238 -#define FSTV0910_P2_CFRUPLOW_AUTO 0xf2380080 -#define FSTV0910_P2_CFRUPLOW_TEST 0xf2380040 -#define FSTV0910_P2_WIDE_FREQDET 0xf2380020 -#define FSTV0910_P2_CARHDR_NODIV8 0xf2380010 -#define FSTV0910_P2_I2C_ROTA 0xf2380008 #define FSTV0910_P2_ROTAON 0xf2380004 #define FSTV0910_P2_PH_DET_ALGO 0xf2380003 /*P2_ACLC*/ #define RSTV0910_P2_ACLC 0xf239 -#define FSTV0910_P2_CARS1_ANOSAUTO 0xf2390040 #define FSTV0910_P2_CAR_ALPHA_MANT 0xf2390030 #define FSTV0910_P2_CAR_ALPHA_EXP 0xf239000f /*P2_BCLC*/ #define RSTV0910_P2_BCLC 0xf23a -#define FSTV0910_P2_CARS1_BNOSAUTO 0xf23a0040 #define FSTV0910_P2_CAR_BETA_MANT 0xf23a0030 #define FSTV0910_P2_CAR_BETA_EXP 0xf23a000f +/*P2_ACLCS2*/ +#define RSTV0910_P2_ACLCS2 0xf23b +#define FSTV0910_P2_CARS2_APLHA_MANTISSE 0xf23b0030 +#define FSTV0910_P2_CARS2_ALPHA_EXP 0xf23b000f + +/*P2_BCLCS2*/ +#define RSTV0910_P2_BCLCS2 0xf23c +#define FSTV0910_P2_CARS2_BETA_MANTISSE 0xf23c0030 +#define FSTV0910_P2_CARS2_BETA_EXP 0xf23c000f + /*P2_CARFREQ*/ #define RSTV0910_P2_CARFREQ 0xf23d #define FSTV0910_P2_KC_COARSE_EXP 0xf23d00f0 @@ -782,13 +785,6 @@ /*P2_CFRICFG*/ #define RSTV0910_P2_CFRICFG 0xf241 -#define FSTV0910_P2_CFRINIT_UNVALRNG 0xf2410080 -#define FSTV0910_P2_CFRINIT_LUNVALCPT 0xf2410040 -#define FSTV0910_P2_CFRINIT_ABORTDBL 0xf2410020 -#define FSTV0910_P2_CFRINIT_ABORTPRED 0xf2410010 -#define FSTV0910_P2_CFRINIT_UNVALSKIP 0xf2410008 -#define FSTV0910_P2_CFRINIT_CSTINC 0xf2410004 -#define FSTV0910_P2_CFRIROLL_GARDER 0xf2410002 #define FSTV0910_P2_NEG_CFRSTEP 0xf2410001 /*P2_CFRUP1*/ @@ -852,7 +848,6 @@ #define RSTV0910_P2_TMGCFG 0xf250 #define FSTV0910_P2_TMGLOCK_BETA 0xf25000c0 #define FSTV0910_P2_DO_TIMING_CORR 0xf2500010 -#define FSTV0910_P2_MANUAL_SCAN 0xf250000c #define FSTV0910_P2_TMG_MINFREQ 0xf2500003 /*P2_RTC*/ @@ -896,10 +891,7 @@ /*P2_TMGCFG2*/ #define RSTV0910_P2_TMGCFG2 0xf25a -#define FSTV0910_P2_KREFTMG2_DECMODE 0xf25a00c0 #define FSTV0910_P2_DIS_AUTOSAMP 0xf25a0008 -#define FSTV0910_P2_SCANINIT_QUART 0xf25a0004 -#define FSTV0910_P2_NOTMG_DVBS1DERAT 0xf25a0002 #define FSTV0910_P2_SFRRATIO_FINE 0xf25a0001 /*P2_KREFTMG2*/ @@ -908,11 +900,9 @@ /*P2_TMGCFG3*/ #define RSTV0910_P2_TMGCFG3 0xf25d -#define FSTV0910_P2_CFRINC_MODE 0xf25d0070 #define FSTV0910_P2_CONT_TMGCENTER 0xf25d0008 #define FSTV0910_P2_AUTO_GUP 0xf25d0004 #define FSTV0910_P2_AUTO_GLOW 0xf25d0002 -#define FSTV0910_P2_SFRVAL_MINMODE 0xf25d0001 /*P2_SFRINIT1*/ #define RSTV0910_P2_SFRINIT1 0xf25e @@ -977,16 +967,10 @@ /*P2_TMGOBS*/ #define RSTV0910_P2_TMGOBS 0xf26d #define FSTV0910_P2_ROLLOFF_STATUS 0xf26d00c0 -#define FSTV0910_P2_SCAN_SIGN 0xf26d0030 -#define FSTV0910_P2_TMG_SCANNING 0xf26d0008 -#define FSTV0910_P2_CHCENTERING_MODE 0xf26d0004 -#define FSTV0910_P2_TMG_SCANFAIL 0xf26d0002 /*P2_EQUALCFG*/ #define RSTV0910_P2_EQUALCFG 0xf26f -#define FSTV0910_P2_NOTMG_NEGALWAIT 0xf26f0080 #define FSTV0910_P2_EQUAL_ON 0xf26f0040 -#define FSTV0910_P2_SEL_EQUALCOR 0xf26f0038 #define FSTV0910_P2_MU_EQUALDFE 0xf26f0007 /*P2_EQUAI1*/ @@ -1117,20 +1101,20 @@ #define FSTV0910_P2_FRAMESEL_TYPESEL 0xf28e000c #define FSTV0910_P2_FRAMESEL_TYPE 0xf28e0003 +/*P2_NOSCFGF2*/ +#define RSTV0910_P2_NOSCFGF2 0xf28f +#define FSTV0910_P2_DIS_NOSPILOTS 0xf28f0080 +#define FSTV0910_P2_FRAMESEL_MODCODSEL 0xf28f0060 +#define FSTV0910_P2_FRAMESEL_MODCOD 0xf28f001f + /*P2_CAR2CFG*/ #define RSTV0910_P2_CAR2CFG 0xf290 -#define FSTV0910_P2_DESCRAMB_OFF 0xf2900080 -#define FSTV0910_P2_EN_PHNOSRAM 0xf2900020 -#define FSTV0910_P2_STOP_CFR2UPDATE 0xf2900010 -#define FSTV0910_P2_STOP_NCO2UPDATE 0xf2900008 #define FSTV0910_P2_ROTA2ON 0xf2900004 #define FSTV0910_P2_PH_DET_ALGO2 0xf2900003 /*P2_CFR2CFR1*/ #define RSTV0910_P2_CFR2CFR1 0xf291 -#define FSTV0910_P2_CFR2_S2CONTROL 0xf29100c0 #define FSTV0910_P2_EN_S2CAR2CENTER 0xf2910020 -#define FSTV0910_P2_BCHERRCFR2_MODE 0xf2910018 #define FSTV0910_P2_CFR2TOCFR1_BETA 0xf2910007 /*P2_CAR3CFG*/ @@ -1155,48 +1139,48 @@ /*P2_ACLC2S2Q*/ #define RSTV0910_P2_ACLC2S2Q 0xf297 #define FSTV0910_P2_ENAB_SPSKSYMB 0xf2970080 -#define FSTV0910_P2_CAR2S2_QANOSAUTO 0xf2970040 #define FSTV0910_P2_CAR2S2_Q_ALPH_M 0xf2970030 #define FSTV0910_P2_CAR2S2_Q_ALPH_E 0xf297000f /*P2_ACLC2S28*/ #define RSTV0910_P2_ACLC2S28 0xf298 -#define FSTV0910_P2_OLDI3Q_MODE 0xf2980080 -#define FSTV0910_P2_CAR2S2_8ANOSAUTO 0xf2980040 #define FSTV0910_P2_CAR2S2_8_ALPH_M 0xf2980030 #define FSTV0910_P2_CAR2S2_8_ALPH_E 0xf298000f /*P2_ACLC2S216A*/ #define RSTV0910_P2_ACLC2S216A 0xf299 -#define FSTV0910_P2_CAR2S2_16ANOSAUTO 0xf2990040 #define FSTV0910_P2_CAR2S2_16A_ALPH_M 0xf2990030 #define FSTV0910_P2_CAR2S2_16A_ALPH_E 0xf299000f /*P2_ACLC2S232A*/ #define RSTV0910_P2_ACLC2S232A 0xf29a -#define FSTV0910_P2_CAR2S2_32ANOSUATO 0xf29a0040 #define FSTV0910_P2_CAR2S2_32A_ALPH_M 0xf29a0030 #define FSTV0910_P2_CAR2S2_32A_ALPH_E 0xf29a000f /*P2_BCLC2S2Q*/ #define RSTV0910_P2_BCLC2S2Q 0xf29c -#define FSTV0910_P2_DVBS2S2Q_NIP 0xf29c0080 -#define FSTV0910_P2_CAR2S2_QBNOSAUTO 0xf29c0040 #define FSTV0910_P2_CAR2S2_Q_BETA_M 0xf29c0030 #define FSTV0910_P2_CAR2S2_Q_BETA_E 0xf29c000f /*P2_BCLC2S28*/ #define RSTV0910_P2_BCLC2S28 0xf29d -#define FSTV0910_P2_DVBS2S28_NIP 0xf29d0080 -#define FSTV0910_P2_CAR2S2_8BNOSAUTO 0xf29d0040 #define FSTV0910_P2_CAR2S2_8_BETA_M 0xf29d0030 #define FSTV0910_P2_CAR2S2_8_BETA_E 0xf29d000f +/*P2_BCLC2S216A*/ +#define RSTV0910_P2_BCLC2S216A 0xf29e +#define FSTV0910_P2_DVBS2S216A_NIP 0xf29e0080 +#define FSTV0910_P2_CAR2S2_16A_BETA_M 0xf29e0030 +#define FSTV0910_P2_CAR2S2_16A_BETA_E 0xf29e000f + +/*P2_BCLC2S232A*/ +#define RSTV0910_P2_BCLC2S232A 0xf29f +#define FSTV0910_P2_DVBS2S232A_NIP 0xf29f0080 +#define FSTV0910_P2_CAR2S2_32A_BETA_M 0xf29f0030 +#define FSTV0910_P2_CAR2S2_32A_BETA_E 0xf29f000f + /*P2_PLROOT2*/ #define RSTV0910_P2_PLROOT2 0xf2ac -#define FSTV0910_P2_PLHAUTO_DISPLH 0xf2ac0040 -#define FSTV0910_P2_PLHAUTO_FASTMODE 0xf2ac0020 -#define FSTV0910_P2_PLHAUTO_ENABLE 0xf2ac0010 #define FSTV0910_P2_PLSCRAMB_MODE 0xf2ac000c #define FSTV0910_P2_PLSCRAMB_ROOT2 0xf2ac0003 @@ -1208,45 +1192,93 @@ #define RSTV0910_P2_PLROOT0 0xf2ae #define FSTV0910_P2_PLSCRAMB_ROOT0 0xf2ae00ff +/*P2_MODCODLST0*/ +#define RSTV0910_P2_MODCODLST0 0xf2b0 +#define FSTV0910_P2_NACCES_MODCODCH 0xf2b00001 + +/*P2_MODCODLST1*/ +#define RSTV0910_P2_MODCODLST1 0xf2b1 +#define FSTV0910_P2_SYMBRATE_FILTER 0xf2b10008 +#define FSTV0910_P2_NRESET_MODCODLST 0xf2b10004 +#define FSTV0910_P2_DIS_32PSK_9_10 0xf2b10003 + +/*P2_MODCODLST2*/ +#define RSTV0910_P2_MODCODLST2 0xf2b2 +#define FSTV0910_P2_DIS_32PSK_8_9 0xf2b200f0 +#define FSTV0910_P2_DIS_32PSK_5_6 0xf2b2000f + +/*P2_MODCODLST3*/ +#define RSTV0910_P2_MODCODLST3 0xf2b3 +#define FSTV0910_P2_DIS_32PSK_4_5 0xf2b300f0 +#define FSTV0910_P2_DIS_32PSK_3_4 0xf2b3000f + +/*P2_MODCODLST4*/ +#define RSTV0910_P2_MODCODLST4 0xf2b4 +#define FSTV0910_P2_DUMMYPL_PILOT 0xf2b40080 +#define FSTV0910_P2_DUMMYPL_NOPILOT 0xf2b40040 +#define FSTV0910_P2_DIS_16PSK_9_10 0xf2b40030 +#define FSTV0910_P2_DIS_16PSK_8_9 0xf2b4000f + +/*P2_MODCODLST5*/ +#define RSTV0910_P2_MODCODLST5 0xf2b5 +#define FSTV0910_P2_DIS_16PSK_5_6 0xf2b500f0 +#define FSTV0910_P2_DIS_16PSK_4_5 0xf2b5000f + +/*P2_MODCODLST6*/ +#define RSTV0910_P2_MODCODLST6 0xf2b6 +#define FSTV0910_P2_DIS_16PSK_3_4 0xf2b600f0 +#define FSTV0910_P2_DIS_16PSK_2_3 0xf2b6000f + /*P2_MODCODLST7*/ #define RSTV0910_P2_MODCODLST7 0xf2b7 #define FSTV0910_P2_MODCOD_NNOSFILTER 0xf2b70080 -#define FSTV0910_P2_MODCODLST_NOSTYPE 0xf2b70040 #define FSTV0910_P2_DIS_8PSK_9_10 0xf2b70030 -#define FSTV0910_P2_DIS_8P_8_9 0xf2b7000f +#define FSTV0910_P2_DIS_8PSK_8_9 0xf2b7000f /*P2_MODCODLST8*/ #define RSTV0910_P2_MODCODLST8 0xf2b8 -#define FSTV0910_P2_DIS_8P_5_6 0xf2b800f0 -#define FSTV0910_P2_DIS_8P_3_4 0xf2b8000f +#define FSTV0910_P2_DIS_8PSK_5_6 0xf2b800f0 +#define FSTV0910_P2_DIS_8PSK_3_4 0xf2b8000f /*P2_MODCODLST9*/ #define RSTV0910_P2_MODCODLST9 0xf2b9 -#define FSTV0910_P2_DIS_8P_2_3 0xf2b900f0 -#define FSTV0910_P2_DIS_8P_3_5 0xf2b9000f +#define FSTV0910_P2_DIS_8PSK_2_3 0xf2b900f0 +#define FSTV0910_P2_DIS_8PSK_3_5 0xf2b9000f /*P2_MODCODLSTA*/ #define RSTV0910_P2_MODCODLSTA 0xf2ba #define FSTV0910_P2_NOSFILTER_LIMITE 0xf2ba0080 -#define FSTV0910_P2_NOSFILTER_MODE 0xf2ba0040 #define FSTV0910_P2_DIS_QPSK_9_10 0xf2ba0030 -#define FSTV0910_P2_DIS_QP_8_9 0xf2ba000f +#define FSTV0910_P2_DIS_QPSK_8_9 0xf2ba000f /*P2_MODCODLSTB*/ #define RSTV0910_P2_MODCODLSTB 0xf2bb -#define FSTV0910_P2_DIS_QP_5_6 0xf2bb00f0 -#define FSTV0910_P2_DIS_QP_4_5 0xf2bb000f +#define FSTV0910_P2_DIS_QPSK_5_6 0xf2bb00f0 +#define FSTV0910_P2_DIS_QPSK_4_5 0xf2bb000f /*P2_MODCODLSTC*/ #define RSTV0910_P2_MODCODLSTC 0xf2bc -#define FSTV0910_P2_DIS_QP_3_4 0xf2bc00f0 -#define FSTV0910_P2_DIS_QP_2_3 0xf2bc000f +#define FSTV0910_P2_DIS_QPSK_3_4 0xf2bc00f0 +#define FSTV0910_P2_DIS_QPSK_2_3 0xf2bc000f /*P2_MODCODLSTD*/ #define RSTV0910_P2_MODCODLSTD 0xf2bd #define FSTV0910_P2_DIS_QPSK_3_5 0xf2bd00f0 #define FSTV0910_P2_DIS_QPSK_1_2 0xf2bd000f +/*P2_MODCODLSTE*/ +#define RSTV0910_P2_MODCODLSTE 0xf2be +#define FSTV0910_P2_DIS_QPSK_2_5 0xf2be00f0 +#define FSTV0910_P2_DIS_QPSK_1_3 0xf2be000f + +/*P2_MODCODLSTF*/ +#define RSTV0910_P2_MODCODLSTF 0xf2bf +#define FSTV0910_P2_DIS_QPSK_1_4 0xf2bf00f0 +#define FSTV0910_P2_DEMOD_INVMODLST 0xf2bf0008 +#define FSTV0910_P2_DEMODOUT_ENABLE 0xf2bf0004 +#define FSTV0910_P2_DDEMOD_NSET 0xf2bf0002 +#define FSTV0910_P2_MODCOD_NSTOCK 0xf2bf0001 + /*P2_GAUSSR0*/ #define RSTV0910_P2_GAUSSR0 0xf2c0 #define FSTV0910_P2_EN_CCIMODE 0xf2c00080 @@ -1275,8 +1307,6 @@ #define FSTV0910_P2_RAINFADE_DETECT 0xf2c50080 #define FSTV0910_P2_NOTHRES2_FAIL 0xf2c50040 #define FSTV0910_P2_NOTHRES1_FAIL 0xf2c50020 -#define FSTV0910_P2_PILOT_FAILDETECT 0xf2c50010 -#define FSTV0910_P2_HIER_DETECT 0xf2c50008 #define FSTV0910_P2_DMDPROG_ERROR 0xf2c50004 #define FSTV0910_P2_CSTENV_DETECT 0xf2c50002 #define FSTV0910_P2_DETECTION_TRIAX 0xf2c50001 @@ -1284,15 +1314,12 @@ /*P2_DMDRESCFG*/ #define RSTV0910_P2_DMDRESCFG 0xf2c6 #define FSTV0910_P2_DMDRES_RESET 0xf2c60080 -#define FSTV0910_P2_DMDRES_NOISESQR 0xf2c60010 #define FSTV0910_P2_DMDRES_STRALL 0xf2c60008 #define FSTV0910_P2_DMDRES_NEWONLY 0xf2c60004 #define FSTV0910_P2_DMDRES_NOSTORE 0xf2c60002 -#define FSTV0910_P2_DMDRES_AGC2MEM 0xf2c60001 /*P2_DMDRESADR*/ #define RSTV0910_P2_DMDRESADR 0xf2c7 -#define FSTV0910_P2_SUSP_PREDCANAL 0xf2c70080 #define FSTV0910_P2_DMDRES_VALIDCFR 0xf2c70040 #define FSTV0910_P2_DMDRES_MEMFULL 0xf2c70030 #define FSTV0910_P2_DMDRES_RESNBR 0xf2c7000f @@ -1370,13 +1397,6 @@ /*P2_TNRCFG2*/ #define RSTV0910_P2_TNRCFG2 0xf2e1 #define FSTV0910_P2_TUN_IQSWAP 0xf2e10080 -#define FSTV0910_P2_STB6110_STEP2MHZ 0xf2e10040 -#define FSTV0910_P2_STB6120_DBLI2C 0xf2e10020 -#define FSTV0910_P2_TUNER_WIDEBAND 0xf2e10010 -#define FSTV0910_P2_TUNER_OBSPAGE 0xf2e10008 -#define FSTV0910_P2_DIS_BWCALC 0xf2e10004 -#define FSTV0910_P2_SHORT_WAITSTATES 0xf2e10002 -#define FSTV0910_P2_DIS_2BWAGC1 0xf2e10001 /*P2_SMAPCOEF7*/ #define RSTV0910_P2_SMAPCOEF7 0xf300 @@ -1386,10 +1406,6 @@ /*P2_SMAPCOEF6*/ #define RSTV0910_P2_SMAPCOEF6 0xf301 #define FSTV0910_P2_DIS_AGC2SCALE 0xf3010080 -#define FSTV0910_P2_DIS_16IQMULT 0xf3010040 -#define FSTV0910_P2_OLD_16APSK47 0xf3010020 -#define FSTV0910_P2_OLD_16APSK12 0xf3010010 -#define FSTV0910_P2_DIS_NEWSCALE 0xf3010008 #define FSTV0910_P2_ADJ_8PSKLLR1 0xf3010004 #define FSTV0910_P2_OLD_8PSKLLR1 0xf3010002 #define FSTV0910_P2_DIS_AB8PSK 0xf3010001 @@ -1399,6 +1415,29 @@ #define FSTV0910_P2_DIS_8SCALE 0xf3020080 #define FSTV0910_P2_SMAPCOEF_8P_LLR23 0xf302017f +/*P2_SMAPCOEF4*/ +#define RSTV0910_P2_SMAPCOEF4 0xf303 +#define FSTV0910_P2_SMAPCOEF_16APSK_LLR12 0xf303017f + +/*P2_SMAPCOEF3*/ +#define RSTV0910_P2_SMAPCOEF3 0xf304 +#define FSTV0910_P2_SMAPCOEF_16APSK_LLR34 0xf304017f + +/*P2_SMAPCOEF2*/ +#define RSTV0910_P2_SMAPCOEF2 0xf305 +#define FSTV0910_P2_SMAPCOEF_32APSK_R2R3 0xf30501f0 +#define FSTV0910_P2_SMAPCOEF_32APSK_LLR2 0xf305010f + +/*P2_SMAPCOEF1*/ +#define RSTV0910_P2_SMAPCOEF1 0xf306 +#define FSTV0910_P2_DIS_16SCALE 0xf3060080 +#define FSTV0910_P2_SMAPCOEF_32_LLR34 0xf306017f + +/*P2_SMAPCOEF0*/ +#define RSTV0910_P2_SMAPCOEF0 0xf307 +#define FSTV0910_P2_DIS_32SCALE 0xf3070080 +#define FSTV0910_P2_SMAPCOEF_32_LLR15 0xf307017f + /*P2_NOSTHRES1*/ #define RSTV0910_P2_NOSTHRES1 0xf309 #define FSTV0910_P2_NOS_THRESHOLD1 0xf30900ff @@ -1419,8 +1458,6 @@ /*P2_NOSRAMCFG*/ #define RSTV0910_P2_NOSRAMCFG 0xf30d -#define FSTV0910_P2_NOSRAM_DVBS2DATA 0xf30d0080 -#define FSTV0910_P2_NOSRAM_QUADRAT 0xf30d0040 #define FSTV0910_P2_NOSRAM_ACTIVATION 0xf30d0030 #define FSTV0910_P2_NOSRAM_CNRONLY 0xf30d0008 #define FSTV0910_P2_NOSRAM_LGNCNR1 0xf30d0007 @@ -1459,18 +1496,13 @@ #define RSTV0910_P2_VITSCALE 0xf332 #define FSTV0910_P2_NVTH_NOSRANGE 0xf3320080 #define FSTV0910_P2_VERROR_MAXMODE 0xf3320040 -#define FSTV0910_P2_KDIV_MODE 0xf3320030 #define FSTV0910_P2_NSLOWSN_LOCKED 0xf3320008 -#define FSTV0910_P2_DELOCK_PRFLOSS 0xf3320004 #define FSTV0910_P2_DIS_RSFLOCK 0xf3320002 /*P2_FECM*/ #define RSTV0910_P2_FECM 0xf333 #define FSTV0910_P2_DSS_DVB 0xf3330080 -#define FSTV0910_P2_DEMOD_BYPASS 0xf3330040 -#define FSTV0910_P2_CMP_SLOWMODE 0xf3330020 #define FSTV0910_P2_DSS_SRCH 0xf3330010 -#define FSTV0910_P2_DIFF_MODEVIT 0xf3330004 #define FSTV0910_P2_SYNCVIT 0xf3330002 #define FSTV0910_P2_IQINV 0xf3330001 @@ -1500,9 +1532,6 @@ /*P2_VITCURPUN*/ #define RSTV0910_P2_VITCURPUN 0xf33a -#define FSTV0910_P2_CYCLESLIP_VIT 0xf33a0080 -#define FSTV0910_P2_VIT_ROTA180 0xf33a0040 -#define FSTV0910_P2_VIT_ROTA90 0xf33a0020 #define FSTV0910_P2_VIT_CURPUN 0xf33a001f /*P2_VERROR*/ @@ -1529,14 +1558,8 @@ /*P2_VSTATUSVIT*/ #define RSTV0910_P2_VSTATUSVIT 0xf33e -#define FSTV0910_P2_VITERBI_ON 0xf33e0080 -#define FSTV0910_P2_END_LOOPVIT 0xf33e0040 -#define FSTV0910_P2_VITERBI_DEPRF 0xf33e0020 #define FSTV0910_P2_PRFVIT 0xf33e0010 #define FSTV0910_P2_LOCKEDVIT 0xf33e0008 -#define FSTV0910_P2_VITERBI_DELOCK 0xf33e0004 -#define FSTV0910_P2_VIT_DEMODSEL 0xf33e0002 -#define FSTV0910_P2_VITERBI_COMPOUT 0xf33e0001 /*P2_VTHINUSE*/ #define RSTV0910_P2_VTHINUSE 0xf33f @@ -1544,45 +1567,44 @@ /*P2_KDIV12*/ #define RSTV0910_P2_KDIV12 0xf340 -#define FSTV0910_P2_KDIV12_MANUAL 0xf3400080 #define FSTV0910_P2_K_DIVIDER_12 0xf340007f /*P2_KDIV23*/ #define RSTV0910_P2_KDIV23 0xf341 -#define FSTV0910_P2_KDIV23_MANUAL 0xf3410080 #define FSTV0910_P2_K_DIVIDER_23 0xf341007f /*P2_KDIV34*/ #define RSTV0910_P2_KDIV34 0xf342 -#define FSTV0910_P2_KDIV34_MANUAL 0xf3420080 #define FSTV0910_P2_K_DIVIDER_34 0xf342007f /*P2_KDIV56*/ #define RSTV0910_P2_KDIV56 0xf343 -#define FSTV0910_P2_KDIV56_MANUAL 0xf3430080 #define FSTV0910_P2_K_DIVIDER_56 0xf343007f /*P2_KDIV67*/ #define RSTV0910_P2_KDIV67 0xf344 -#define FSTV0910_P2_KDIV67_MANUAL 0xf3440080 #define FSTV0910_P2_K_DIVIDER_67 0xf344007f /*P2_KDIV78*/ #define RSTV0910_P2_KDIV78 0xf345 -#define FSTV0910_P2_KDIV78_MANUAL 0xf3450080 #define FSTV0910_P2_K_DIVIDER_78 0xf345007f +/*P2_TSPIDFLT1*/ +#define RSTV0910_P2_TSPIDFLT1 0xf346 +#define FSTV0910_P2_PIDFLT_ADDR 0xf34600ff + +/*P2_TSPIDFLT0*/ +#define RSTV0910_P2_TSPIDFLT0 0xf347 +#define FSTV0910_P2_PIDFLT_DATA 0xf34700ff + /*P2_PDELCTRL0*/ #define RSTV0910_P2_PDELCTRL0 0xf34f #define FSTV0910_P2_ISIOBS_MODE 0xf34f0030 -#define FSTV0910_P2_PDELDIS_BITWISE 0xf34f0004 /*P2_PDELCTRL1*/ #define RSTV0910_P2_PDELCTRL1 0xf350 #define FSTV0910_P2_INV_MISMASK 0xf3500080 -#define FSTV0910_P2_FORCE_ACCEPTED 0xf3500040 #define FSTV0910_P2_FILTER_EN 0xf3500020 -#define FSTV0910_P2_FORCE_PKTDELINUSE 0xf3500010 #define FSTV0910_P2_HYSTEN 0xf3500008 #define FSTV0910_P2_HYSTSWRST 0xf3500004 #define FSTV0910_P2_EN_MIS00 0xf3500002 @@ -1593,8 +1615,6 @@ #define FSTV0910_P2_FORCE_CONTINUOUS 0xf3510080 #define FSTV0910_P2_RESET_UPKO_COUNT 0xf3510040 #define FSTV0910_P2_USER_PKTDELIN_NB 0xf3510020 -#define FSTV0910_P2_DATA_UNBBSCRAMBLED 0xf3510008 -#define FSTV0910_P2_FORCE_LONGPKT 0xf3510004 #define FSTV0910_P2_FRAME_MODE 0xf3510002 /*P2_HYSTTHRESH*/ @@ -1602,6 +1622,11 @@ #define FSTV0910_P2_DELIN_LOCKTHRES 0xf35400f0 #define FSTV0910_P2_DELIN_UNLOCKTHRES 0xf354000f +/*P2_UPLCCST0*/ +#define RSTV0910_P2_UPLCCST0 0xf358 +#define FSTV0910_P2_UPL_CST0 0xf35800f8 +#define FSTV0910_P2_UPL_MODE 0xf3580007 + /*P2_ISIENTRY*/ #define RSTV0910_P2_ISIENTRY 0xf35e #define FSTV0910_P2_ISI_ENTRY 0xf35e00ff @@ -1650,16 +1675,13 @@ #define RSTV0910_P2_PDELSTATUS1 0xf369 #define FSTV0910_P2_PKTDELIN_DELOCK 0xf3690080 #define FSTV0910_P2_SYNCDUPDFL_BADDFL 0xf3690040 -#define FSTV0910_P2_CONTINUOUS_STREAM 0xf3690020 #define FSTV0910_P2_UNACCEPTED_STREAM 0xf3690010 #define FSTV0910_P2_BCH_ERROR_FLAG 0xf3690008 -#define FSTV0910_P2_BBHCRCKO 0xf3690004 #define FSTV0910_P2_PKTDELIN_LOCK 0xf3690002 #define FSTV0910_P2_FIRST_LOCK 0xf3690001 /*P2_PDELSTATUS2*/ #define RSTV0910_P2_PDELSTATUS2 0xf36a -#define FSTV0910_P2_PKTDEL_DEMODSEL 0xf36a0080 #define FSTV0910_P2_FRAME_MODCOD 0xf36a007c #define FSTV0910_P2_FRAME_TYPE 0xf36a0003 @@ -1681,18 +1703,12 @@ /*P2_PDELCTRL3*/ #define RSTV0910_P2_PDELCTRL3 0xf36f -#define FSTV0910_P2_PKTDEL_CONTFAIL 0xf36f0080 -#define FSTV0910_P2_PKTDEL_ENLONGPKT 0xf36f0040 #define FSTV0910_P2_NOFIFO_BCHERR 0xf36f0020 #define FSTV0910_P2_PKTDELIN_DELACMERR 0xf36f0010 -#define FSTV0910_P2_SATURATE_BBPKTKO 0xf36f0004 -#define FSTV0910_P2_PKTDEL_BCHERRCONT 0xf36f0002 -#define FSTV0910_P2_ETHERNET_DISFCS 0xf36f0001 /*P2_TSSTATEM*/ #define RSTV0910_P2_TSSTATEM 0xf370 #define FSTV0910_P2_TSDIL_ON 0xf3700080 -#define FSTV0910_P2_TSSKIPRS_ON 0xf3700040 #define FSTV0910_P2_TSRS_ON 0xf3700020 #define FSTV0910_P2_TSDESCRAMB_ON 0xf3700010 #define FSTV0910_P2_TSFRAME_MODE 0xf3700008 @@ -1700,6 +1716,15 @@ #define FSTV0910_P2_TSACM_MODE 0xf3700002 #define FSTV0910_P2_TSOUT_NOSYNC 0xf3700001 +/*P2_TSSTATEL*/ +#define RSTV0910_P2_TSSTATEL 0xf371 +#define FSTV0910_P2_TSNOSYNCBYTE 0xf3710080 +#define FSTV0910_P2_TSPARITY_ON 0xf3710040 +#define FSTV0910_P2_TSISSYI_ON 0xf3710008 +#define FSTV0910_P2_TSNPD_ON 0xf3710004 +#define FSTV0910_P2_TSCRC8_ON 0xf3710002 +#define FSTV0910_P2_TSDSS_PACKET 0xf3710001 + /*P2_TSCFGH*/ #define RSTV0910_P2_TSCFGH 0xf372 #define FSTV0910_P2_TSFIFO_DVBCI 0xf3720080 @@ -1715,8 +1740,6 @@ #define FSTV0910_P2_TSFIFO_MANSPEED 0xf37300c0 #define FSTV0910_P2_TSFIFO_PERMDATA 0xf3730020 #define FSTV0910_P2_TSFIFO_NONEWSGNL 0xf3730010 -#define FSTV0910_P2_NPD_SPECDVBS2 0xf3730004 -#define FSTV0910_P2_TSFIFO_DPUNACTIVE 0xf3730002 #define FSTV0910_P2_TSFIFO_INVDATA 0xf3730001 /*P2_TSCFGL*/ @@ -1727,32 +1750,45 @@ #define FSTV0910_P2_TSFIFO_EMBINDVB 0xf3740004 #define FSTV0910_P2_TSFIFO_BITSPEED 0xf3740003 +/*P2_TSSYNC*/ +#define RSTV0910_P2_TSSYNC 0xf375 +#define FSTV0910_P2_TSFIFO_SYNCMODE 0xf3750018 + /*P2_TSINSDELH*/ #define RSTV0910_P2_TSINSDELH 0xf376 #define FSTV0910_P2_TSDEL_SYNCBYTE 0xf3760080 #define FSTV0910_P2_TSDEL_XXHEADER 0xf3760040 -#define FSTV0910_P2_TSDEL_BBHEADER 0xf3760020 #define FSTV0910_P2_TSDEL_DATAFIELD 0xf3760010 -#define FSTV0910_P2_TSINSDEL_ISCR 0xf3760008 -#define FSTV0910_P2_TSINSDEL_NPD 0xf3760004 #define FSTV0910_P2_TSINSDEL_RSPARITY 0xf3760002 #define FSTV0910_P2_TSINSDEL_CRC8 0xf3760001 +/*P2_TSINSDELM*/ +#define RSTV0910_P2_TSINSDELM 0xf377 +#define FSTV0910_P2_TSINS_EMODCOD 0xf3770010 +#define FSTV0910_P2_TSINS_TOKEN 0xf3770008 +#define FSTV0910_P2_TSINS_XXXERR 0xf3770004 +#define FSTV0910_P2_TSINS_MATYPE 0xf3770002 +#define FSTV0910_P2_TSINS_UPL 0xf3770001 + +/*P2_TSINSDELL*/ +#define RSTV0910_P2_TSINSDELL 0xf378 +#define FSTV0910_P2_TSINS_DFL 0xf3780080 +#define FSTV0910_P2_TSINS_SYNCD 0xf3780040 +#define FSTV0910_P2_TSINS_BLOCLEN 0xf3780020 +#define FSTV0910_P2_TSINS_SIGPCOUNT 0xf3780010 +#define FSTV0910_P2_TSINS_FIFO 0xf3780008 +#define FSTV0910_P2_TSINS_REALPACK 0xf3780004 +#define FSTV0910_P2_TSINS_TSCONFIG 0xf3780002 +#define FSTV0910_P2_TSINS_LATENCY 0xf3780001 + /*P2_TSDIVN*/ #define RSTV0910_P2_TSDIVN 0xf379 #define FSTV0910_P2_TSFIFO_SPEEDMODE 0xf37900c0 -#define FSTV0910_P2_BYTE_OVERSAMPLING 0xf3790038 #define FSTV0910_P2_TSFIFO_RISEOK 0xf3790007 /*P2_TSCFG4*/ #define RSTV0910_P2_TSCFG4 0xf37a #define FSTV0910_P2_TSFIFO_TSSPEEDMODE 0xf37a00c0 -#define FSTV0910_P2_TSFIFO_HIERSEL 0xf37a0020 -#define FSTV0910_P2_TSFIFO_SPECTOKEN 0xf37a0010 -#define FSTV0910_P2_TSFIFO_MAXMODE 0xf37a0008 -#define FSTV0910_P2_TSFIFO_FRFORCEPKT 0xf37a0004 -#define FSTV0910_P2_EXT_FECSPYIN 0xf37a0002 -#define FSTV0910_P2_TSFIFO_DELSPEEDUP 0xf37a0001 /*P2_TSSPEED*/ #define RSTV0910_P2_TSSPEED 0xf380 @@ -1762,11 +1798,8 @@ #define RSTV0910_P2_TSSTATUS 0xf381 #define FSTV0910_P2_TSFIFO_LINEOK 0xf3810080 #define FSTV0910_P2_TSFIFO_ERROR 0xf3810040 -#define FSTV0910_P2_TSFIFO_DATA7 0xf3810020 #define FSTV0910_P2_TSFIFO_NOSYNC 0xf3810010 -#define FSTV0910_P2_ISCR_INITIALIZED 0xf3810008 #define FSTV0910_P2_TSREGUL_ERROR 0xf3810004 -#define FSTV0910_P2_SOFFIFO_UNREGUL 0xf3810002 #define FSTV0910_P2_DIL_READY 0xf3810001 /*P2_TSSTATUS2*/ @@ -1774,11 +1807,7 @@ #define FSTV0910_P2_TSFIFO_DEMODSEL 0xf3820080 #define FSTV0910_P2_TSFIFOSPEED_STORE 0xf3820040 #define FSTV0910_P2_DILXX_RESET 0xf3820020 -#define FSTV0910_P2_TSSPEED_IMPOSSIBLE 0xf3820010 -#define FSTV0910_P2_TSFIFO_LINENOK 0xf3820008 -#define FSTV0910_P2_TSFIFO_MUXSTREAM 0xf3820004 #define FSTV0910_P2_SCRAMBDETECT 0xf3820002 -#define FSTV0910_P2_ULDTV67_FALSELOCK 0xf3820001 /*P2_TSBITRATE1*/ #define RSTV0910_P2_TSBITRATE1 0xf383 @@ -1788,6 +1817,59 @@ #define RSTV0910_P2_TSBITRATE0 0xf384 #define FSTV0910_P2_TSFIFO_BITRATE0 0xf38400ff +/*P2_TSPACKLEN1*/ +#define RSTV0910_P2_TSPACKLEN1 0xf385 +#define FSTV0910_P2_TSFIFO_PACKCPT 0xf38500e0 + +/*P2_TSDLY2*/ +#define RSTV0910_P2_TSDLY2 0xf389 +#define FSTV0910_P2_SOFFIFO_LATENCY2 0xf389000f + +/*P2_TSDLY1*/ +#define RSTV0910_P2_TSDLY1 0xf38a +#define FSTV0910_P2_SOFFIFO_LATENCY1 0xf38a00ff + +/*P2_TSDLY0*/ +#define RSTV0910_P2_TSDLY0 0xf38b +#define FSTV0910_P2_SOFFIFO_LATENCY0 0xf38b00ff + +/*P2_TSNPDAV*/ +#define RSTV0910_P2_TSNPDAV 0xf38c +#define FSTV0910_P2_TSNPD_AVERAGE 0xf38c00ff + +/*P2_TSBUFSTAT2*/ +#define RSTV0910_P2_TSBUFSTAT2 0xf38d +#define FSTV0910_P2_TSISCR_3BYTES 0xf38d0080 +#define FSTV0910_P2_TSISCR_NEWDATA 0xf38d0040 +#define FSTV0910_P2_TSISCR_BUFSTAT2 0xf38d003f + +/*P2_TSBUFSTAT1*/ +#define RSTV0910_P2_TSBUFSTAT1 0xf38e +#define FSTV0910_P2_TSISCR_BUFSTAT1 0xf38e00ff + +/*P2_TSBUFSTAT0*/ +#define RSTV0910_P2_TSBUFSTAT0 0xf38f +#define FSTV0910_P2_TSISCR_BUFSTAT0 0xf38f00ff + +/*P2_TSDEBUGL*/ +#define RSTV0910_P2_TSDEBUGL 0xf391 +#define FSTV0910_P2_TSFIFO_ERROR_EVNT 0xf3910004 +#define FSTV0910_P2_TSFIFO_OVERFLOWM 0xf3910001 + +/*P2_TSDLYSET2*/ +#define RSTV0910_P2_TSDLYSET2 0xf392 +#define FSTV0910_P2_SOFFIFO_OFFSET 0xf39200c0 +#define FSTV0910_P2_HYSTERESIS_THRESHOLD 0xf3920030 +#define FSTV0910_P2_SOFFIFO_SYMBOFFS2 0xf392000f + +/*P2_TSDLYSET1*/ +#define RSTV0910_P2_TSDLYSET1 0xf393 +#define FSTV0910_P2_SOFFIFO_SYMBOFFS1 0xf39300ff + +/*P2_TSDLYSET0*/ +#define RSTV0910_P2_TSDLYSET0 0xf394 +#define FSTV0910_P2_SOFFIFO_SYMBOFFS0 0xf39400ff + /*P2_ERRCTRL1*/ #define RSTV0910_P2_ERRCTRL1 0xf398 #define FSTV0910_P2_ERR_SOURCE1 0xf39800f0 @@ -1845,14 +1927,12 @@ /*P2_FSPYDATA*/ #define RSTV0910_P2_FSPYDATA 0xf3a2 #define FSTV0910_P2_SPY_STUFFING 0xf3a20080 -#define FSTV0910_P2_NOERROR_PKTJITTER 0xf3a20040 #define FSTV0910_P2_SPY_CNULLPKT 0xf3a20020 #define FSTV0910_P2_SPY_OUTDATA_MODE 0xf3a2001f /*P2_FSPYOUT*/ #define RSTV0910_P2_FSPYOUT 0xf3a3 #define FSTV0910_P2_FSPY_DIRECT 0xf3a30080 -#define FSTV0910_P2_SPY_OUTDATA_BUS 0xf3a30038 #define FSTV0910_P2_STUFF_MODE 0xf3a30007 /*P2_FSTATUS*/ @@ -1897,8 +1977,6 @@ /*P2_FSPYBER*/ #define RSTV0910_P2_FSPYBER 0xf3b2 -#define FSTV0910_P2_FSPYOBS_XORREAD 0xf3b20040 -#define FSTV0910_P2_FSPYBER_OBSMODE 0xf3b20020 #define FSTV0910_P2_FSPYBER_SYNCBYTE 0xf3b20010 #define FSTV0910_P2_FSPYBER_UNSYNC 0xf3b20008 #define FSTV0910_P2_FSPYBER_CTIME 0xf3b20007 @@ -1919,32 +1997,26 @@ /*P2_SFKDIV12*/ #define RSTV0910_P2_SFKDIV12 0xf3c4 #define FSTV0910_P2_SFECKDIV12_MAN 0xf3c40080 -#define FSTV0910_P2_SFEC_K_DIVIDER_12 0xf3c4007f /*P2_SFKDIV23*/ #define RSTV0910_P2_SFKDIV23 0xf3c5 #define FSTV0910_P2_SFECKDIV23_MAN 0xf3c50080 -#define FSTV0910_P2_SFEC_K_DIVIDER_23 0xf3c5007f /*P2_SFKDIV34*/ #define RSTV0910_P2_SFKDIV34 0xf3c6 #define FSTV0910_P2_SFECKDIV34_MAN 0xf3c60080 -#define FSTV0910_P2_SFEC_K_DIVIDER_34 0xf3c6007f /*P2_SFKDIV56*/ #define RSTV0910_P2_SFKDIV56 0xf3c7 #define FSTV0910_P2_SFECKDIV56_MAN 0xf3c70080 -#define FSTV0910_P2_SFEC_K_DIVIDER_56 0xf3c7007f /*P2_SFKDIV67*/ #define RSTV0910_P2_SFKDIV67 0xf3c8 #define FSTV0910_P2_SFECKDIV67_MAN 0xf3c80080 -#define FSTV0910_P2_SFEC_K_DIVIDER_67 0xf3c8007f /*P2_SFKDIV78*/ #define RSTV0910_P2_SFKDIV78 0xf3c9 #define FSTV0910_P2_SFECKDIV78_MAN 0xf3c90080 -#define FSTV0910_P2_SFEC_K_DIVIDER_78 0xf3c9007f /*P2_SFSTATUS*/ #define RSTV0910_P2_SFSTATUS 0xf3cc @@ -1959,11 +2031,7 @@ /*P2_SFDLYSET2*/ #define RSTV0910_P2_SFDLYSET2 0xf3d0 -#define FSTV0910_P2_SFEC_OFFSET 0xf3d000c0 -#define FSTV0910_P2_RST_SFEC 0xf3d00008 -#define FSTV0910_P2_DILDLINE_ERROR 0xf3d00004 #define FSTV0910_P2_SFEC_DISABLE 0xf3d00002 -#define FSTV0910_P2_SFEC_UNREGUL 0xf3d00001 /*P2_SFERRCTRL*/ #define RSTV0910_P2_SFERRCTRL 0xf3d8 @@ -1990,8 +2058,6 @@ /*P1_NOSCFG*/ #define RSTV0910_P1_NOSCFG 0xf401 -#define FSTV0910_P1_DIS_ACMRATIO 0xf4010080 -#define FSTV0910_P1_NOSIN_EGALSEL 0xf4010040 #define FSTV0910_P1_DUMMYPL_NOSDATA 0xf4010020 #define FSTV0910_P1_NOSPLH_BETA 0xf4010018 #define FSTV0910_P1_NOSDATA_BETA 0xf4010007 @@ -2012,14 +2078,10 @@ #define FSTV0910_P1_AMM_CORRECT 0xf4040010 #define FSTV0910_P1_QUAD_FROZEN 0xf4040008 #define FSTV0910_P1_QUAD_CORRECT 0xf4040004 -#define FSTV0910_P1_DCCOMP_SLOW 0xf4040002 -#define FSTV0910_P1_IQMISM_SLOW 0xf4040001 /*P1_AGC1CN*/ #define RSTV0910_P1_AGC1CN 0xf406 #define FSTV0910_P1_AGC1_LOCKED 0xf4060080 -#define FSTV0910_P1_AGC1_OVERFLOW 0xf4060040 -#define FSTV0910_P1_AGC1_NOSLOWLK 0xf4060020 #define FSTV0910_P1_AGC1_MINPOWER 0xf4060010 #define FSTV0910_P1_AGCOUT_FAST 0xf4060008 #define FSTV0910_P1_AGCIQ_BETA 0xf4060007 @@ -2077,16 +2139,12 @@ #define RSTV0910_P1_DSTATUS 0xf412 #define FSTV0910_P1_CAR_LOCK 0xf4120080 #define FSTV0910_P1_TMGLOCK_QUALITY 0xf4120060 -#define FSTV0910_P1_SDVBS1_ENABLE 0xf4120010 #define FSTV0910_P1_LOCK_DEFINITIF 0xf4120008 -#define FSTV0910_P1_TIMING_IS_LOCKED 0xf4120004 -#define FSTV0910_P1_DEMOD_SYSCFG 0xf4120002 #define FSTV0910_P1_OVADC_DETECT 0xf4120001 /*P1_DSTATUS2*/ #define RSTV0910_P1_DSTATUS2 0xf413 #define FSTV0910_P1_DEMOD_DELOCK 0xf4130080 -#define FSTV0910_P1_DEMOD_TIMEOUT 0xf4130040 #define FSTV0910_P1_MODCODRQ_SYNCTAG 0xf4130020 #define FSTV0910_P1_POLYPH_SATEVENT 0xf4130010 #define FSTV0910_P1_AGC1_NOSIGNALACK 0xf4130008 @@ -2100,25 +2158,16 @@ #define FSTV0910_P1_DVBS1_ENABLE 0xf4140040 #define FSTV0910_P1_SCAN_ENABLE 0xf4140010 #define FSTV0910_P1_CFR_AUTOSCAN 0xf4140008 -#define FSTV0910_P1_NOFORCE_RELOCK 0xf4140004 #define FSTV0910_P1_TUN_RNG 0xf4140003 /*P1_DMDCFG2*/ #define RSTV0910_P1_DMDCFG2 0xf415 -#define FSTV0910_P1_AGC1_WAITLOCK 0xf4150080 #define FSTV0910_P1_S1S2_SEQUENTIAL 0xf4150040 -#define FSTV0910_P1_BLINDPEA_MODE 0xf4150020 #define FSTV0910_P1_INFINITE_RELOCK 0xf4150010 -#define FSTV0910_P1_BWOFFSET_COLDWARM 0xf4150008 -#define FSTV0910_P1_TMGLOCK_NSCANSTOP 0xf4150004 -#define FSTV0910_P1_COARSE_LK3MODE 0xf4150002 -#define FSTV0910_P1_COARSE_LK2MODE 0xf4150001 /*P1_DMDISTATE*/ #define RSTV0910_P1_DMDISTATE 0xf416 #define FSTV0910_P1_I2C_NORESETDMODE 0xf4160080 -#define FSTV0910_P1_FORCE_ETAPED 0xf4160040 -#define FSTV0910_P1_SDMDRST_DIRCLK 0xf4160020 #define FSTV0910_P1_I2C_DEMOD_MODE 0xf416001f /*P1_DMDT0M*/ @@ -2127,9 +2176,7 @@ /*P1_DMDSTATE*/ #define RSTV0910_P1_DMDSTATE 0xf41b -#define FSTV0910_P1_DEMOD_LOCKED 0xf41b0080 #define FSTV0910_P1_HEADER_MODE 0xf41b0060 -#define FSTV0910_P1_DEMOD_MODE 0xf41b001f /*P1_DMDFLYW*/ #define RSTV0910_P1_DMDFLYW 0xf41c @@ -2141,29 +2188,15 @@ #define FSTV0910_P1_CFR_ZIGZAG 0xf41d0080 #define FSTV0910_P1_DEMOD_CFGMODE 0xf41d0060 #define FSTV0910_P1_GAMMA_LOWBAUDRATE 0xf41d0010 -#define FSTV0910_P1_RELOCK_MODE 0xf41d0008 -#define FSTV0910_P1_DEMOD_FAIL 0xf41d0004 -#define FSTV0910_P1_ETAPE1A_DVBXMEM 0xf41d0003 /*P1_DMDCFG3*/ #define RSTV0910_P1_DMDCFG3 0xf41e -#define FSTV0910_P1_DVBS1_TMGWAIT 0xf41e0080 -#define FSTV0910_P1_NO_BWCENTERING 0xf41e0040 -#define FSTV0910_P1_INV_SEQSRCH 0xf41e0020 -#define FSTV0910_P1_DIS_SFRUPLOW_TRK 0xf41e0010 #define FSTV0910_P1_NOSTOP_FIFOFULL 0xf41e0008 -#define FSTV0910_P1_LOCKTIME_MODE 0xf41e0007 /*P1_DMDCFG4*/ #define RSTV0910_P1_DMDCFG4 0xf41f #define FSTV0910_P1_DIS_VITLOCK 0xf41f0080 -#define FSTV0910_P1_S1S2TOUT_FAST 0xf41f0040 -#define FSTV0910_P1_DEMOD_FASTLOCK 0xf41f0020 -#define FSTV0910_P1_S1HIER_ENABLE 0xf41f0010 -#define FSTV0910_P1_TUNER_NRELAUNCH 0xf41f0008 #define FSTV0910_P1_DIS_CLKENABLE 0xf41f0004 -#define FSTV0910_P1_DIS_HDRDIVLOCK 0xf41f0002 -#define FSTV0910_P1_NO_TNRWBINIT 0xf41f0001 /*P1_CORRELMANT*/ #define RSTV0910_P1_CORRELMANT 0xf420 @@ -2186,16 +2219,45 @@ /*P1_DMDREG*/ #define RSTV0910_P1_DMDREG 0xf425 -#define FSTV0910_P1_EXTPSK_MODE 0xf4250080 -#define FSTV0910_P1_HIER_SHORTFRAME 0xf4250002 #define FSTV0910_P1_DECIM_PLFRAMES 0xf4250001 +/*P1_AGCNADJ*/ +#define RSTV0910_P1_AGCNADJ 0xf426 +#define FSTV0910_P1_RADJOFF_AGC2 0xf4260080 +#define FSTV0910_P1_RADJOFF_AGC1 0xf4260040 +#define FSTV0910_P1_AGC_NADJ 0xf426013f + +/*P1_AGCKS*/ +#define RSTV0910_P1_AGCKS 0xf427 +#define FSTV0910_P1_RSADJ_MANUALCFG 0xf4270080 +#define FSTV0910_P1_RSADJ_CCMMODE 0xf4270040 +#define FSTV0910_P1_RADJ_SPSK 0xf427013f + +/*P1_AGCKQ*/ +#define RSTV0910_P1_AGCKQ 0xf428 +#define FSTV0910_P1_RADJON_DVBS1 0xf4280040 +#define FSTV0910_P1_RADJ_QPSK 0xf428013f + +/*P1_AGCK8*/ +#define RSTV0910_P1_AGCK8 0xf429 +#define FSTV0910_P1_RADJ_8PSK 0xf429013f + +/*P1_AGCK16*/ +#define RSTV0910_P1_AGCK16 0xf42a +#define FSTV0910_P1_R2ADJOFF_16APSK 0xf42a0040 +#define FSTV0910_P1_R1ADJOFF_16APSK 0xf42a0020 +#define FSTV0910_P1_RADJ_16APSK 0xf42a011f + +/*P1_AGCK32*/ +#define RSTV0910_P1_AGCK32 0xf42b +#define FSTV0910_P1_R3ADJOFF_32APSK 0xf42b0080 +#define FSTV0910_P1_R2ADJOFF_32APSK 0xf42b0040 +#define FSTV0910_P1_R1ADJOFF_32APSK 0xf42b0020 +#define FSTV0910_P1_RADJ_32APSK 0xf42b011f + /*P1_AGC2O*/ #define RSTV0910_P1_AGC2O 0xf42c #define FSTV0910_P1_CSTENV_MODE 0xf42c00c0 -#define FSTV0910_P1_AGC2_LKSQRT 0xf42c0020 -#define FSTV0910_P1_AGC2_LKMODE 0xf42c0010 -#define FSTV0910_P1_AGC2_LKEQUA 0xf42c0008 #define FSTV0910_P1_AGC2_COEF 0xf42c0007 /*P1_AGC2REF*/ @@ -2204,9 +2266,36 @@ /*P1_AGC1ADJ*/ #define RSTV0910_P1_AGC1ADJ 0xf42e -#define FSTV0910_P1_AGC1ADJ_MANUAL 0xf42e0080 #define FSTV0910_P1_AGC1_ADJUSTED 0xf42e007f +/*P1_AGCRSADJ*/ +#define RSTV0910_P1_AGCRSADJ 0xf42f +#define FSTV0910_P1_RS_ADJUSTED 0xf42f007f + +/*P1_AGCRQADJ*/ +#define RSTV0910_P1_AGCRQADJ 0xf430 +#define FSTV0910_P1_RQ_ADJUSTED 0xf430007f + +/*P1_AGCR8ADJ*/ +#define RSTV0910_P1_AGCR8ADJ 0xf431 +#define FSTV0910_P1_R8_ADJUSTED 0xf431007f + +/*P1_AGCR1ADJ*/ +#define RSTV0910_P1_AGCR1ADJ 0xf432 +#define FSTV0910_P1_R1_ADJUSTED 0xf432007f + +/*P1_AGCR2ADJ*/ +#define RSTV0910_P1_AGCR2ADJ 0xf433 +#define FSTV0910_P1_R2_ADJUSTED 0xf433007f + +/*P1_AGCR3ADJ*/ +#define RSTV0910_P1_AGCR3ADJ 0xf434 +#define FSTV0910_P1_R3_ADJUSTED 0xf434007f + +/*P1_AGCREFADJ*/ +#define RSTV0910_P1_AGCREFADJ 0xf435 +#define FSTV0910_P1_AGC2REF_ADJUSTED 0xf435007f + /*P1_AGC2I1*/ #define RSTV0910_P1_AGC2I1 0xf436 #define FSTV0910_P1_AGC2_INTEGRATOR1 0xf43600ff @@ -2217,26 +2306,29 @@ /*P1_CARCFG*/ #define RSTV0910_P1_CARCFG 0xf438 -#define FSTV0910_P1_CFRUPLOW_AUTO 0xf4380080 -#define FSTV0910_P1_CFRUPLOW_TEST 0xf4380040 -#define FSTV0910_P1_WIDE_FREQDET 0xf4380020 -#define FSTV0910_P1_CARHDR_NODIV8 0xf4380010 -#define FSTV0910_P1_I2C_ROTA 0xf4380008 #define FSTV0910_P1_ROTAON 0xf4380004 #define FSTV0910_P1_PH_DET_ALGO 0xf4380003 /*P1_ACLC*/ #define RSTV0910_P1_ACLC 0xf439 -#define FSTV0910_P1_CARS1_ANOSAUTO 0xf4390040 #define FSTV0910_P1_CAR_ALPHA_MANT 0xf4390030 #define FSTV0910_P1_CAR_ALPHA_EXP 0xf439000f /*P1_BCLC*/ #define RSTV0910_P1_BCLC 0xf43a -#define FSTV0910_P1_CARS1_BNOSAUTO 0xf43a0040 #define FSTV0910_P1_CAR_BETA_MANT 0xf43a0030 #define FSTV0910_P1_CAR_BETA_EXP 0xf43a000f +/*P1_ACLCS2*/ +#define RSTV0910_P1_ACLCS2 0xf43b +#define FSTV0910_P1_CARS2_APLHA_MANTISSE 0xf43b0030 +#define FSTV0910_P1_CARS2_ALPHA_EXP 0xf43b000f + +/*P1_BCLCS2*/ +#define RSTV0910_P1_BCLCS2 0xf43c +#define FSTV0910_P1_CARS2_BETA_MANTISSE 0xf43c0030 +#define FSTV0910_P1_CARS2_BETA_EXP 0xf43c000f + /*P1_CARFREQ*/ #define RSTV0910_P1_CARFREQ 0xf43d #define FSTV0910_P1_KC_COARSE_EXP 0xf43d00f0 @@ -2256,13 +2348,6 @@ /*P1_CFRICFG*/ #define RSTV0910_P1_CFRICFG 0xf441 -#define FSTV0910_P1_CFRINIT_UNVALRNG 0xf4410080 -#define FSTV0910_P1_CFRINIT_LUNVALCPT 0xf4410040 -#define FSTV0910_P1_CFRINIT_ABORTDBL 0xf4410020 -#define FSTV0910_P1_CFRINIT_ABORTPRED 0xf4410010 -#define FSTV0910_P1_CFRINIT_UNVALSKIP 0xf4410008 -#define FSTV0910_P1_CFRINIT_CSTINC 0xf4410004 -#define FSTV0910_P1_CFRIROLL_GARDER 0xf4410002 #define FSTV0910_P1_NEG_CFRSTEP 0xf4410001 /*P1_CFRUP1*/ @@ -2326,7 +2411,6 @@ #define RSTV0910_P1_TMGCFG 0xf450 #define FSTV0910_P1_TMGLOCK_BETA 0xf45000c0 #define FSTV0910_P1_DO_TIMING_CORR 0xf4500010 -#define FSTV0910_P1_MANUAL_SCAN 0xf450000c #define FSTV0910_P1_TMG_MINFREQ 0xf4500003 /*P1_RTC*/ @@ -2370,10 +2454,7 @@ /*P1_TMGCFG2*/ #define RSTV0910_P1_TMGCFG2 0xf45a -#define FSTV0910_P1_KREFTMG2_DECMODE 0xf45a00c0 #define FSTV0910_P1_DIS_AUTOSAMP 0xf45a0008 -#define FSTV0910_P1_SCANINIT_QUART 0xf45a0004 -#define FSTV0910_P1_NOTMG_DVBS1DERAT 0xf45a0002 #define FSTV0910_P1_SFRRATIO_FINE 0xf45a0001 /*P1_KREFTMG2*/ @@ -2382,11 +2463,9 @@ /*P1_TMGCFG3*/ #define RSTV0910_P1_TMGCFG3 0xf45d -#define FSTV0910_P1_CFRINC_MODE 0xf45d0070 #define FSTV0910_P1_CONT_TMGCENTER 0xf45d0008 #define FSTV0910_P1_AUTO_GUP 0xf45d0004 #define FSTV0910_P1_AUTO_GLOW 0xf45d0002 -#define FSTV0910_P1_SFRVAL_MINMODE 0xf45d0001 /*P1_SFRINIT1*/ #define RSTV0910_P1_SFRINIT1 0xf45e @@ -2451,16 +2530,10 @@ /*P1_TMGOBS*/ #define RSTV0910_P1_TMGOBS 0xf46d #define FSTV0910_P1_ROLLOFF_STATUS 0xf46d00c0 -#define FSTV0910_P1_SCAN_SIGN 0xf46d0030 -#define FSTV0910_P1_TMG_SCANNING 0xf46d0008 -#define FSTV0910_P1_CHCENTERING_MODE 0xf46d0004 -#define FSTV0910_P1_TMG_SCANFAIL 0xf46d0002 /*P1_EQUALCFG*/ #define RSTV0910_P1_EQUALCFG 0xf46f -#define FSTV0910_P1_NOTMG_NEGALWAIT 0xf46f0080 #define FSTV0910_P1_EQUAL_ON 0xf46f0040 -#define FSTV0910_P1_SEL_EQUALCOR 0xf46f0038 #define FSTV0910_P1_MU_EQUALDFE 0xf46f0007 /*P1_EQUAI1*/ @@ -2591,20 +2664,20 @@ #define FSTV0910_P1_FRAMESEL_TYPESEL 0xf48e000c #define FSTV0910_P1_FRAMESEL_TYPE 0xf48e0003 +/*P1_NOSCFGF2*/ +#define RSTV0910_P1_NOSCFGF2 0xf48f +#define FSTV0910_P1_DIS_NOSPILOTS 0xf48f0080 +#define FSTV0910_P1_FRAMESEL_MODCODSEL 0xf48f0060 +#define FSTV0910_P1_FRAMESEL_MODCOD 0xf48f001f + /*P1_CAR2CFG*/ #define RSTV0910_P1_CAR2CFG 0xf490 -#define FSTV0910_P1_DESCRAMB_OFF 0xf4900080 -#define FSTV0910_P1_EN_PHNOSRAM 0xf4900020 -#define FSTV0910_P1_STOP_CFR2UPDATE 0xf4900010 -#define FSTV0910_P1_STOP_NCO2UPDATE 0xf4900008 #define FSTV0910_P1_ROTA2ON 0xf4900004 #define FSTV0910_P1_PH_DET_ALGO2 0xf4900003 /*P1_CFR2CFR1*/ #define RSTV0910_P1_CFR2CFR1 0xf491 -#define FSTV0910_P1_CFR2_S2CONTROL 0xf49100c0 #define FSTV0910_P1_EN_S2CAR2CENTER 0xf4910020 -#define FSTV0910_P1_BCHERRCFR2_MODE 0xf4910018 #define FSTV0910_P1_CFR2TOCFR1_BETA 0xf4910007 /*P1_CAR3CFG*/ @@ -2629,48 +2702,48 @@ /*P1_ACLC2S2Q*/ #define RSTV0910_P1_ACLC2S2Q 0xf497 #define FSTV0910_P1_ENAB_SPSKSYMB 0xf4970080 -#define FSTV0910_P1_CAR2S2_QANOSAUTO 0xf4970040 #define FSTV0910_P1_CAR2S2_Q_ALPH_M 0xf4970030 #define FSTV0910_P1_CAR2S2_Q_ALPH_E 0xf497000f /*P1_ACLC2S28*/ #define RSTV0910_P1_ACLC2S28 0xf498 -#define FSTV0910_P1_OLDI3Q_MODE 0xf4980080 -#define FSTV0910_P1_CAR2S2_8ANOSAUTO 0xf4980040 #define FSTV0910_P1_CAR2S2_8_ALPH_M 0xf4980030 #define FSTV0910_P1_CAR2S2_8_ALPH_E 0xf498000f /*P1_ACLC2S216A*/ #define RSTV0910_P1_ACLC2S216A 0xf499 -#define FSTV0910_P1_CAR2S2_16ANOSAUTO 0xf4990040 #define FSTV0910_P1_CAR2S2_16A_ALPH_M 0xf4990030 #define FSTV0910_P1_CAR2S2_16A_ALPH_E 0xf499000f /*P1_ACLC2S232A*/ #define RSTV0910_P1_ACLC2S232A 0xf49a -#define FSTV0910_P1_CAR2S2_32ANOSUATO 0xf49a0040 #define FSTV0910_P1_CAR2S2_32A_ALPH_M 0xf49a0030 #define FSTV0910_P1_CAR2S2_32A_ALPH_E 0xf49a000f /*P1_BCLC2S2Q*/ #define RSTV0910_P1_BCLC2S2Q 0xf49c -#define FSTV0910_P1_DVBS2S2Q_NIP 0xf49c0080 -#define FSTV0910_P1_CAR2S2_QBNOSAUTO 0xf49c0040 #define FSTV0910_P1_CAR2S2_Q_BETA_M 0xf49c0030 #define FSTV0910_P1_CAR2S2_Q_BETA_E 0xf49c000f /*P1_BCLC2S28*/ #define RSTV0910_P1_BCLC2S28 0xf49d -#define FSTV0910_P1_DVBS2S28_NIP 0xf49d0080 -#define FSTV0910_P1_CAR2S2_8BNOSAUTO 0xf49d0040 #define FSTV0910_P1_CAR2S2_8_BETA_M 0xf49d0030 #define FSTV0910_P1_CAR2S2_8_BETA_E 0xf49d000f +/*P1_BCLC2S216A*/ +#define RSTV0910_P1_BCLC2S216A 0xf49e +#define FSTV0910_P1_DVBS2S216A_NIP 0xf49e0080 +#define FSTV0910_P1_CAR2S2_16A_BETA_M 0xf49e0030 +#define FSTV0910_P1_CAR2S2_16A_BETA_E 0xf49e000f + +/*P1_BCLC2S232A*/ +#define RSTV0910_P1_BCLC2S232A 0xf49f +#define FSTV0910_P1_DVBS2S232A_NIP 0xf49f0080 +#define FSTV0910_P1_CAR2S2_32A_BETA_M 0xf49f0030 +#define FSTV0910_P1_CAR2S2_32A_BETA_E 0xf49f000f + /*P1_PLROOT2*/ #define RSTV0910_P1_PLROOT2 0xf4ac -#define FSTV0910_P1_PLHAUTO_DISPLH 0xf4ac0040 -#define FSTV0910_P1_PLHAUTO_FASTMODE 0xf4ac0020 -#define FSTV0910_P1_PLHAUTO_ENABLE 0xf4ac0010 #define FSTV0910_P1_PLSCRAMB_MODE 0xf4ac000c #define FSTV0910_P1_PLSCRAMB_ROOT2 0xf4ac0003 @@ -2682,45 +2755,93 @@ #define RSTV0910_P1_PLROOT0 0xf4ae #define FSTV0910_P1_PLSCRAMB_ROOT0 0xf4ae00ff +/*P1_MODCODLST0*/ +#define RSTV0910_P1_MODCODLST0 0xf4b0 +#define FSTV0910_P1_NACCES_MODCODCH 0xf4b00001 + +/*P1_MODCODLST1*/ +#define RSTV0910_P1_MODCODLST1 0xf4b1 +#define FSTV0910_P1_SYMBRATE_FILTER 0xf4b10008 +#define FSTV0910_P1_NRESET_MODCODLST 0xf4b10004 +#define FSTV0910_P1_DIS_32PSK_9_10 0xf4b10003 + +/*P1_MODCODLST2*/ +#define RSTV0910_P1_MODCODLST2 0xf4b2 +#define FSTV0910_P1_DIS_32PSK_8_9 0xf4b200f0 +#define FSTV0910_P1_DIS_32PSK_5_6 0xf4b2000f + +/*P1_MODCODLST3*/ +#define RSTV0910_P1_MODCODLST3 0xf4b3 +#define FSTV0910_P1_DIS_32PSK_4_5 0xf4b300f0 +#define FSTV0910_P1_DIS_32PSK_3_4 0xf4b3000f + +/*P1_MODCODLST4*/ +#define RSTV0910_P1_MODCODLST4 0xf4b4 +#define FSTV0910_P1_DUMMYPL_PILOT 0xf4b40080 +#define FSTV0910_P1_DUMMYPL_NOPILOT 0xf4b40040 +#define FSTV0910_P1_DIS_16PSK_9_10 0xf4b40030 +#define FSTV0910_P1_DIS_16PSK_8_9 0xf4b4000f + +/*P1_MODCODLST5*/ +#define RSTV0910_P1_MODCODLST5 0xf4b5 +#define FSTV0910_P1_DIS_16PSK_5_6 0xf4b500f0 +#define FSTV0910_P1_DIS_16PSK_4_5 0xf4b5000f + +/*P1_MODCODLST6*/ +#define RSTV0910_P1_MODCODLST6 0xf4b6 +#define FSTV0910_P1_DIS_16PSK_3_4 0xf4b600f0 +#define FSTV0910_P1_DIS_16PSK_2_3 0xf4b6000f + /*P1_MODCODLST7*/ #define RSTV0910_P1_MODCODLST7 0xf4b7 #define FSTV0910_P1_MODCOD_NNOSFILTER 0xf4b70080 -#define FSTV0910_P1_MODCODLST_NOSTYPE 0xf4b70040 #define FSTV0910_P1_DIS_8PSK_9_10 0xf4b70030 -#define FSTV0910_P1_DIS_8P_8_9 0xf4b7000f +#define FSTV0910_P1_DIS_8PSK_8_9 0xf4b7000f /*P1_MODCODLST8*/ #define RSTV0910_P1_MODCODLST8 0xf4b8 -#define FSTV0910_P1_DIS_8P_5_6 0xf4b800f0 -#define FSTV0910_P1_DIS_8P_3_4 0xf4b8000f +#define FSTV0910_P1_DIS_8PSK_5_6 0xf4b800f0 +#define FSTV0910_P1_DIS_8PSK_3_4 0xf4b8000f /*P1_MODCODLST9*/ #define RSTV0910_P1_MODCODLST9 0xf4b9 -#define FSTV0910_P1_DIS_8P_2_3 0xf4b900f0 -#define FSTV0910_P1_DIS_8P_3_5 0xf4b9000f +#define FSTV0910_P1_DIS_8PSK_2_3 0xf4b900f0 +#define FSTV0910_P1_DIS_8PSK_3_5 0xf4b9000f /*P1_MODCODLSTA*/ #define RSTV0910_P1_MODCODLSTA 0xf4ba #define FSTV0910_P1_NOSFILTER_LIMITE 0xf4ba0080 -#define FSTV0910_P1_NOSFILTER_MODE 0xf4ba0040 #define FSTV0910_P1_DIS_QPSK_9_10 0xf4ba0030 -#define FSTV0910_P1_DIS_QP_8_9 0xf4ba000f +#define FSTV0910_P1_DIS_QPSK_8_9 0xf4ba000f /*P1_MODCODLSTB*/ #define RSTV0910_P1_MODCODLSTB 0xf4bb -#define FSTV0910_P1_DIS_QP_5_6 0xf4bb00f0 -#define FSTV0910_P1_DIS_QP_4_5 0xf4bb000f +#define FSTV0910_P1_DIS_QPSK_5_6 0xf4bb00f0 +#define FSTV0910_P1_DIS_QPSK_4_5 0xf4bb000f /*P1_MODCODLSTC*/ #define RSTV0910_P1_MODCODLSTC 0xf4bc -#define FSTV0910_P1_DIS_QP_3_4 0xf4bc00f0 -#define FSTV0910_P1_DIS_QP_2_3 0xf4bc000f +#define FSTV0910_P1_DIS_QPSK_3_4 0xf4bc00f0 +#define FSTV0910_P1_DIS_QPSK_2_3 0xf4bc000f /*P1_MODCODLSTD*/ #define RSTV0910_P1_MODCODLSTD 0xf4bd #define FSTV0910_P1_DIS_QPSK_3_5 0xf4bd00f0 #define FSTV0910_P1_DIS_QPSK_1_2 0xf4bd000f +/*P1_MODCODLSTE*/ +#define RSTV0910_P1_MODCODLSTE 0xf4be +#define FSTV0910_P1_DIS_QPSK_2_5 0xf4be00f0 +#define FSTV0910_P1_DIS_QPSK_1_3 0xf4be000f + +/*P1_MODCODLSTF*/ +#define RSTV0910_P1_MODCODLSTF 0xf4bf +#define FSTV0910_P1_DIS_QPSK_1_4 0xf4bf00f0 +#define FSTV0910_P1_DEMOD_INVMODLST 0xf4bf0008 +#define FSTV0910_P1_DEMODOUT_ENABLE 0xf4bf0004 +#define FSTV0910_P1_DDEMOD_NSET 0xf4bf0002 +#define FSTV0910_P1_MODCOD_NSTOCK 0xf4bf0001 + /*P1_GAUSSR0*/ #define RSTV0910_P1_GAUSSR0 0xf4c0 #define FSTV0910_P1_EN_CCIMODE 0xf4c00080 @@ -2749,8 +2870,6 @@ #define FSTV0910_P1_RAINFADE_DETECT 0xf4c50080 #define FSTV0910_P1_NOTHRES2_FAIL 0xf4c50040 #define FSTV0910_P1_NOTHRES1_FAIL 0xf4c50020 -#define FSTV0910_P1_PILOT_FAILDETECT 0xf4c50010 -#define FSTV0910_P1_HIER_DETECT 0xf4c50008 #define FSTV0910_P1_DMDPROG_ERROR 0xf4c50004 #define FSTV0910_P1_CSTENV_DETECT 0xf4c50002 #define FSTV0910_P1_DETECTION_TRIAX 0xf4c50001 @@ -2758,15 +2877,12 @@ /*P1_DMDRESCFG*/ #define RSTV0910_P1_DMDRESCFG 0xf4c6 #define FSTV0910_P1_DMDRES_RESET 0xf4c60080 -#define FSTV0910_P1_DMDRES_NOISESQR 0xf4c60010 #define FSTV0910_P1_DMDRES_STRALL 0xf4c60008 #define FSTV0910_P1_DMDRES_NEWONLY 0xf4c60004 #define FSTV0910_P1_DMDRES_NOSTORE 0xf4c60002 -#define FSTV0910_P1_DMDRES_AGC2MEM 0xf4c60001 /*P1_DMDRESADR*/ #define RSTV0910_P1_DMDRESADR 0xf4c7 -#define FSTV0910_P1_SUSP_PREDCANAL 0xf4c70080 #define FSTV0910_P1_DMDRES_VALIDCFR 0xf4c70040 #define FSTV0910_P1_DMDRES_MEMFULL 0xf4c70030 #define FSTV0910_P1_DMDRES_RESNBR 0xf4c7000f @@ -2844,13 +2960,6 @@ /*P1_TNRCFG2*/ #define RSTV0910_P1_TNRCFG2 0xf4e1 #define FSTV0910_P1_TUN_IQSWAP 0xf4e10080 -#define FSTV0910_P1_STB6110_STEP2MHZ 0xf4e10040 -#define FSTV0910_P1_STB6120_DBLI2C 0xf4e10020 -#define FSTV0910_P1_TUNER_WIDEBAND 0xf4e10010 -#define FSTV0910_P1_TUNER_OBSPAGE 0xf4e10008 -#define FSTV0910_P1_DIS_BWCALC 0xf4e10004 -#define FSTV0910_P1_SHORT_WAITSTATES 0xf4e10002 -#define FSTV0910_P1_DIS_2BWAGC1 0xf4e10001 /*P1_SMAPCOEF7*/ #define RSTV0910_P1_SMAPCOEF7 0xf500 @@ -2860,10 +2969,6 @@ /*P1_SMAPCOEF6*/ #define RSTV0910_P1_SMAPCOEF6 0xf501 #define FSTV0910_P1_DIS_AGC2SCALE 0xf5010080 -#define FSTV0910_P1_DIS_16IQMULT 0xf5010040 -#define FSTV0910_P1_OLD_16APSK47 0xf5010020 -#define FSTV0910_P1_OLD_16APSK12 0xf5010010 -#define FSTV0910_P1_DIS_NEWSCALE 0xf5010008 #define FSTV0910_P1_ADJ_8PSKLLR1 0xf5010004 #define FSTV0910_P1_OLD_8PSKLLR1 0xf5010002 #define FSTV0910_P1_DIS_AB8PSK 0xf5010001 @@ -2873,6 +2978,29 @@ #define FSTV0910_P1_DIS_8SCALE 0xf5020080 #define FSTV0910_P1_SMAPCOEF_8P_LLR23 0xf502017f +/*P1_SMAPCOEF4*/ +#define RSTV0910_P1_SMAPCOEF4 0xf503 +#define FSTV0910_P1_SMAPCOEF_16APSK_LLR12 0xf503017f + +/*P1_SMAPCOEF3*/ +#define RSTV0910_P1_SMAPCOEF3 0xf504 +#define FSTV0910_P1_SMAPCOEF_16APSK_LLR34 0xf504017f + +/*P1_SMAPCOEF2*/ +#define RSTV0910_P1_SMAPCOEF2 0xf505 +#define FSTV0910_P1_SMAPCOEF_32APSK_R2R3 0xf50501f0 +#define FSTV0910_P1_SMAPCOEF_32APSK_LLR2 0xf505010f + +/*P1_SMAPCOEF1*/ +#define RSTV0910_P1_SMAPCOEF1 0xf506 +#define FSTV0910_P1_DIS_16SCALE 0xf5060080 +#define FSTV0910_P1_SMAPCOEF_32_LLR34 0xf506017f + +/*P1_SMAPCOEF0*/ +#define RSTV0910_P1_SMAPCOEF0 0xf507 +#define FSTV0910_P1_DIS_32SCALE 0xf5070080 +#define FSTV0910_P1_SMAPCOEF_32_LLR15 0xf507017f + /*P1_NOSTHRES1*/ #define RSTV0910_P1_NOSTHRES1 0xf509 #define FSTV0910_P1_NOS_THRESHOLD1 0xf50900ff @@ -2893,8 +3021,6 @@ /*P1_NOSRAMCFG*/ #define RSTV0910_P1_NOSRAMCFG 0xf50d -#define FSTV0910_P1_NOSRAM_DVBS2DATA 0xf50d0080 -#define FSTV0910_P1_NOSRAM_QUADRAT 0xf50d0040 #define FSTV0910_P1_NOSRAM_ACTIVATION 0xf50d0030 #define FSTV0910_P1_NOSRAM_CNRONLY 0xf50d0008 #define FSTV0910_P1_NOSRAM_LGNCNR1 0xf50d0007 @@ -2933,18 +3059,13 @@ #define RSTV0910_P1_VITSCALE 0xf532 #define FSTV0910_P1_NVTH_NOSRANGE 0xf5320080 #define FSTV0910_P1_VERROR_MAXMODE 0xf5320040 -#define FSTV0910_P1_KDIV_MODE 0xf5320030 #define FSTV0910_P1_NSLOWSN_LOCKED 0xf5320008 -#define FSTV0910_P1_DELOCK_PRFLOSS 0xf5320004 #define FSTV0910_P1_DIS_RSFLOCK 0xf5320002 /*P1_FECM*/ #define RSTV0910_P1_FECM 0xf533 #define FSTV0910_P1_DSS_DVB 0xf5330080 -#define FSTV0910_P1_DEMOD_BYPASS 0xf5330040 -#define FSTV0910_P1_CMP_SLOWMODE 0xf5330020 #define FSTV0910_P1_DSS_SRCH 0xf5330010 -#define FSTV0910_P1_DIFF_MODEVIT 0xf5330004 #define FSTV0910_P1_SYNCVIT 0xf5330002 #define FSTV0910_P1_IQINV 0xf5330001 @@ -2974,9 +3095,6 @@ /*P1_VITCURPUN*/ #define RSTV0910_P1_VITCURPUN 0xf53a -#define FSTV0910_P1_CYCLESLIP_VIT 0xf53a0080 -#define FSTV0910_P1_VIT_ROTA180 0xf53a0040 -#define FSTV0910_P1_VIT_ROTA90 0xf53a0020 #define FSTV0910_P1_VIT_CURPUN 0xf53a001f /*P1_VERROR*/ @@ -3003,14 +3121,8 @@ /*P1_VSTATUSVIT*/ #define RSTV0910_P1_VSTATUSVIT 0xf53e -#define FSTV0910_P1_VITERBI_ON 0xf53e0080 -#define FSTV0910_P1_END_LOOPVIT 0xf53e0040 -#define FSTV0910_P1_VITERBI_DEPRF 0xf53e0020 #define FSTV0910_P1_PRFVIT 0xf53e0010 #define FSTV0910_P1_LOCKEDVIT 0xf53e0008 -#define FSTV0910_P1_VITERBI_DELOCK 0xf53e0004 -#define FSTV0910_P1_VIT_DEMODSEL 0xf53e0002 -#define FSTV0910_P1_VITERBI_COMPOUT 0xf53e0001 /*P1_VTHINUSE*/ #define RSTV0910_P1_VTHINUSE 0xf53f @@ -3018,45 +3130,44 @@ /*P1_KDIV12*/ #define RSTV0910_P1_KDIV12 0xf540 -#define FSTV0910_P1_KDIV12_MANUAL 0xf5400080 #define FSTV0910_P1_K_DIVIDER_12 0xf540007f /*P1_KDIV23*/ #define RSTV0910_P1_KDIV23 0xf541 -#define FSTV0910_P1_KDIV23_MANUAL 0xf5410080 #define FSTV0910_P1_K_DIVIDER_23 0xf541007f /*P1_KDIV34*/ #define RSTV0910_P1_KDIV34 0xf542 -#define FSTV0910_P1_KDIV34_MANUAL 0xf5420080 #define FSTV0910_P1_K_DIVIDER_34 0xf542007f /*P1_KDIV56*/ #define RSTV0910_P1_KDIV56 0xf543 -#define FSTV0910_P1_KDIV56_MANUAL 0xf5430080 #define FSTV0910_P1_K_DIVIDER_56 0xf543007f /*P1_KDIV67*/ #define RSTV0910_P1_KDIV67 0xf544 -#define FSTV0910_P1_KDIV67_MANUAL 0xf5440080 #define FSTV0910_P1_K_DIVIDER_67 0xf544007f /*P1_KDIV78*/ #define RSTV0910_P1_KDIV78 0xf545 -#define FSTV0910_P1_KDIV78_MANUAL 0xf5450080 #define FSTV0910_P1_K_DIVIDER_78 0xf545007f +/*P1_TSPIDFLT1*/ +#define RSTV0910_P1_TSPIDFLT1 0xf546 +#define FSTV0910_P1_PIDFLT_ADDR 0xf54600ff + +/*P1_TSPIDFLT0*/ +#define RSTV0910_P1_TSPIDFLT0 0xf547 +#define FSTV0910_P1_PIDFLT_DATA 0xf54700ff + /*P1_PDELCTRL0*/ #define RSTV0910_P1_PDELCTRL0 0xf54f #define FSTV0910_P1_ISIOBS_MODE 0xf54f0030 -#define FSTV0910_P1_PDELDIS_BITWISE 0xf54f0004 /*P1_PDELCTRL1*/ #define RSTV0910_P1_PDELCTRL1 0xf550 #define FSTV0910_P1_INV_MISMASK 0xf5500080 -#define FSTV0910_P1_FORCE_ACCEPTED 0xf5500040 #define FSTV0910_P1_FILTER_EN 0xf5500020 -#define FSTV0910_P1_FORCE_PKTDELINUSE 0xf5500010 #define FSTV0910_P1_HYSTEN 0xf5500008 #define FSTV0910_P1_HYSTSWRST 0xf5500004 #define FSTV0910_P1_EN_MIS00 0xf5500002 @@ -3067,8 +3178,6 @@ #define FSTV0910_P1_FORCE_CONTINUOUS 0xf5510080 #define FSTV0910_P1_RESET_UPKO_COUNT 0xf5510040 #define FSTV0910_P1_USER_PKTDELIN_NB 0xf5510020 -#define FSTV0910_P1_DATA_UNBBSCRAMBLED 0xf5510008 -#define FSTV0910_P1_FORCE_LONGPKT 0xf5510004 #define FSTV0910_P1_FRAME_MODE 0xf5510002 /*P1_HYSTTHRESH*/ @@ -3076,6 +3185,11 @@ #define FSTV0910_P1_DELIN_LOCKTHRES 0xf55400f0 #define FSTV0910_P1_DELIN_UNLOCKTHRES 0xf554000f +/*P1_UPLCCST0*/ +#define RSTV0910_P1_UPLCCST0 0xf558 +#define FSTV0910_P1_UPL_CST0 0xf55800f8 +#define FSTV0910_P1_UPL_MODE 0xf5580007 + /*P1_ISIENTRY*/ #define RSTV0910_P1_ISIENTRY 0xf55e #define FSTV0910_P1_ISI_ENTRY 0xf55e00ff @@ -3124,16 +3238,13 @@ #define RSTV0910_P1_PDELSTATUS1 0xf569 #define FSTV0910_P1_PKTDELIN_DELOCK 0xf5690080 #define FSTV0910_P1_SYNCDUPDFL_BADDFL 0xf5690040 -#define FSTV0910_P1_CONTINUOUS_STREAM 0xf5690020 #define FSTV0910_P1_UNACCEPTED_STREAM 0xf5690010 #define FSTV0910_P1_BCH_ERROR_FLAG 0xf5690008 -#define FSTV0910_P1_BBHCRCKO 0xf5690004 #define FSTV0910_P1_PKTDELIN_LOCK 0xf5690002 #define FSTV0910_P1_FIRST_LOCK 0xf5690001 /*P1_PDELSTATUS2*/ #define RSTV0910_P1_PDELSTATUS2 0xf56a -#define FSTV0910_P1_PKTDEL_DEMODSEL 0xf56a0080 #define FSTV0910_P1_FRAME_MODCOD 0xf56a007c #define FSTV0910_P1_FRAME_TYPE 0xf56a0003 @@ -3155,18 +3266,12 @@ /*P1_PDELCTRL3*/ #define RSTV0910_P1_PDELCTRL3 0xf56f -#define FSTV0910_P1_PKTDEL_CONTFAIL 0xf56f0080 -#define FSTV0910_P1_PKTDEL_ENLONGPKT 0xf56f0040 #define FSTV0910_P1_NOFIFO_BCHERR 0xf56f0020 #define FSTV0910_P1_PKTDELIN_DELACMERR 0xf56f0010 -#define FSTV0910_P1_SATURATE_BBPKTKO 0xf56f0004 -#define FSTV0910_P1_PKTDEL_BCHERRCONT 0xf56f0002 -#define FSTV0910_P1_ETHERNET_DISFCS 0xf56f0001 /*P1_TSSTATEM*/ #define RSTV0910_P1_TSSTATEM 0xf570 #define FSTV0910_P1_TSDIL_ON 0xf5700080 -#define FSTV0910_P1_TSSKIPRS_ON 0xf5700040 #define FSTV0910_P1_TSRS_ON 0xf5700020 #define FSTV0910_P1_TSDESCRAMB_ON 0xf5700010 #define FSTV0910_P1_TSFRAME_MODE 0xf5700008 @@ -3174,6 +3279,15 @@ #define FSTV0910_P1_TSACM_MODE 0xf5700002 #define FSTV0910_P1_TSOUT_NOSYNC 0xf5700001 +/*P1_TSSTATEL*/ +#define RSTV0910_P1_TSSTATEL 0xf571 +#define FSTV0910_P1_TSNOSYNCBYTE 0xf5710080 +#define FSTV0910_P1_TSPARITY_ON 0xf5710040 +#define FSTV0910_P1_TSISSYI_ON 0xf5710008 +#define FSTV0910_P1_TSNPD_ON 0xf5710004 +#define FSTV0910_P1_TSCRC8_ON 0xf5710002 +#define FSTV0910_P1_TSDSS_PACKET 0xf5710001 + /*P1_TSCFGH*/ #define RSTV0910_P1_TSCFGH 0xf572 #define FSTV0910_P1_TSFIFO_DVBCI 0xf5720080 @@ -3189,8 +3303,6 @@ #define FSTV0910_P1_TSFIFO_MANSPEED 0xf57300c0 #define FSTV0910_P1_TSFIFO_PERMDATA 0xf5730020 #define FSTV0910_P1_TSFIFO_NONEWSGNL 0xf5730010 -#define FSTV0910_P1_NPD_SPECDVBS2 0xf5730004 -#define FSTV0910_P1_TSFIFO_DPUNACTIVE 0xf5730002 #define FSTV0910_P1_TSFIFO_INVDATA 0xf5730001 /*P1_TSCFGL*/ @@ -3201,32 +3313,45 @@ #define FSTV0910_P1_TSFIFO_EMBINDVB 0xf5740004 #define FSTV0910_P1_TSFIFO_BITSPEED 0xf5740003 +/*P1_TSSYNC*/ +#define RSTV0910_P1_TSSYNC 0xf575 +#define FSTV0910_P1_TSFIFO_SYNCMODE 0xf5750018 + /*P1_TSINSDELH*/ #define RSTV0910_P1_TSINSDELH 0xf576 #define FSTV0910_P1_TSDEL_SYNCBYTE 0xf5760080 #define FSTV0910_P1_TSDEL_XXHEADER 0xf5760040 -#define FSTV0910_P1_TSDEL_BBHEADER 0xf5760020 #define FSTV0910_P1_TSDEL_DATAFIELD 0xf5760010 -#define FSTV0910_P1_TSINSDEL_ISCR 0xf5760008 -#define FSTV0910_P1_TSINSDEL_NPD 0xf5760004 #define FSTV0910_P1_TSINSDEL_RSPARITY 0xf5760002 #define FSTV0910_P1_TSINSDEL_CRC8 0xf5760001 +/*P1_TSINSDELM*/ +#define RSTV0910_P1_TSINSDELM 0xf577 +#define FSTV0910_P1_TSINS_EMODCOD 0xf5770010 +#define FSTV0910_P1_TSINS_TOKEN 0xf5770008 +#define FSTV0910_P1_TSINS_XXXERR 0xf5770004 +#define FSTV0910_P1_TSINS_MATYPE 0xf5770002 +#define FSTV0910_P1_TSINS_UPL 0xf5770001 + +/*P1_TSINSDELL*/ +#define RSTV0910_P1_TSINSDELL 0xf578 +#define FSTV0910_P1_TSINS_DFL 0xf5780080 +#define FSTV0910_P1_TSINS_SYNCD 0xf5780040 +#define FSTV0910_P1_TSINS_BLOCLEN 0xf5780020 +#define FSTV0910_P1_TSINS_SIGPCOUNT 0xf5780010 +#define FSTV0910_P1_TSINS_FIFO 0xf5780008 +#define FSTV0910_P1_TSINS_REALPACK 0xf5780004 +#define FSTV0910_P1_TSINS_TSCONFIG 0xf5780002 +#define FSTV0910_P1_TSINS_LATENCY 0xf5780001 + /*P1_TSDIVN*/ #define RSTV0910_P1_TSDIVN 0xf579 #define FSTV0910_P1_TSFIFO_SPEEDMODE 0xf57900c0 -#define FSTV0910_P1_BYTE_OVERSAMPLING 0xf5790038 #define FSTV0910_P1_TSFIFO_RISEOK 0xf5790007 /*P1_TSCFG4*/ #define RSTV0910_P1_TSCFG4 0xf57a #define FSTV0910_P1_TSFIFO_TSSPEEDMODE 0xf57a00c0 -#define FSTV0910_P1_TSFIFO_HIERSEL 0xf57a0020 -#define FSTV0910_P1_TSFIFO_SPECTOKEN 0xf57a0010 -#define FSTV0910_P1_TSFIFO_MAXMODE 0xf57a0008 -#define FSTV0910_P1_TSFIFO_FRFORCEPKT 0xf57a0004 -#define FSTV0910_P1_EXT_FECSPYIN 0xf57a0002 -#define FSTV0910_P1_TSFIFO_DELSPEEDUP 0xf57a0001 /*P1_TSSPEED*/ #define RSTV0910_P1_TSSPEED 0xf580 @@ -3236,11 +3361,8 @@ #define RSTV0910_P1_TSSTATUS 0xf581 #define FSTV0910_P1_TSFIFO_LINEOK 0xf5810080 #define FSTV0910_P1_TSFIFO_ERROR 0xf5810040 -#define FSTV0910_P1_TSFIFO_DATA7 0xf5810020 #define FSTV0910_P1_TSFIFO_NOSYNC 0xf5810010 -#define FSTV0910_P1_ISCR_INITIALIZED 0xf5810008 #define FSTV0910_P1_TSREGUL_ERROR 0xf5810004 -#define FSTV0910_P1_SOFFIFO_UNREGUL 0xf5810002 #define FSTV0910_P1_DIL_READY 0xf5810001 /*P1_TSSTATUS2*/ @@ -3248,11 +3370,7 @@ #define FSTV0910_P1_TSFIFO_DEMODSEL 0xf5820080 #define FSTV0910_P1_TSFIFOSPEED_STORE 0xf5820040 #define FSTV0910_P1_DILXX_RESET 0xf5820020 -#define FSTV0910_P1_TSSPEED_IMPOSSIBLE 0xf5820010 -#define FSTV0910_P1_TSFIFO_LINENOK 0xf5820008 -#define FSTV0910_P1_TSFIFO_MUXSTREAM 0xf5820004 #define FSTV0910_P1_SCRAMBDETECT 0xf5820002 -#define FSTV0910_P1_ULDTV67_FALSELOCK 0xf5820001 /*P1_TSBITRATE1*/ #define RSTV0910_P1_TSBITRATE1 0xf583 @@ -3262,6 +3380,59 @@ #define RSTV0910_P1_TSBITRATE0 0xf584 #define FSTV0910_P1_TSFIFO_BITRATE0 0xf58400ff +/*P1_TSPACKLEN1*/ +#define RSTV0910_P1_TSPACKLEN1 0xf585 +#define FSTV0910_P1_TSFIFO_PACKCPT 0xf58500e0 + +/*P1_TSDLY2*/ +#define RSTV0910_P1_TSDLY2 0xf589 +#define FSTV0910_P1_SOFFIFO_LATENCY2 0xf589000f + +/*P1_TSDLY1*/ +#define RSTV0910_P1_TSDLY1 0xf58a +#define FSTV0910_P1_SOFFIFO_LATENCY1 0xf58a00ff + +/*P1_TSDLY0*/ +#define RSTV0910_P1_TSDLY0 0xf58b +#define FSTV0910_P1_SOFFIFO_LATENCY0 0xf58b00ff + +/*P1_TSNPDAV*/ +#define RSTV0910_P1_TSNPDAV 0xf58c +#define FSTV0910_P1_TSNPD_AVERAGE 0xf58c00ff + +/*P1_TSBUFSTAT2*/ +#define RSTV0910_P1_TSBUFSTAT2 0xf58d +#define FSTV0910_P1_TSISCR_3BYTES 0xf58d0080 +#define FSTV0910_P1_TSISCR_NEWDATA 0xf58d0040 +#define FSTV0910_P1_TSISCR_BUFSTAT2 0xf58d003f + +/*P1_TSBUFSTAT1*/ +#define RSTV0910_P1_TSBUFSTAT1 0xf58e +#define FSTV0910_P1_TSISCR_BUFSTAT1 0xf58e00ff + +/*P1_TSBUFSTAT0*/ +#define RSTV0910_P1_TSBUFSTAT0 0xf58f +#define FSTV0910_P1_TSISCR_BUFSTAT0 0xf58f00ff + +/*P1_TSDEBUGL*/ +#define RSTV0910_P1_TSDEBUGL 0xf591 +#define FSTV0910_P1_TSFIFO_ERROR_EVNT 0xf5910004 +#define FSTV0910_P1_TSFIFO_OVERFLOWM 0xf5910001 + +/*P1_TSDLYSET2*/ +#define RSTV0910_P1_TSDLYSET2 0xf592 +#define FSTV0910_P1_SOFFIFO_OFFSET 0xf59200c0 +#define FSTV0910_P1_HYSTERESIS_THRESHOLD 0xf5920030 +#define FSTV0910_P1_SOFFIFO_SYMBOFFS2 0xf592000f + +/*P1_TSDLYSET1*/ +#define RSTV0910_P1_TSDLYSET1 0xf593 +#define FSTV0910_P1_SOFFIFO_SYMBOFFS1 0xf59300ff + +/*P1_TSDLYSET0*/ +#define RSTV0910_P1_TSDLYSET0 0xf594 +#define FSTV0910_P1_SOFFIFO_SYMBOFFS0 0xf59400ff + /*P1_ERRCTRL1*/ #define RSTV0910_P1_ERRCTRL1 0xf598 #define FSTV0910_P1_ERR_SOURCE1 0xf59800f0 @@ -3319,14 +3490,12 @@ /*P1_FSPYDATA*/ #define RSTV0910_P1_FSPYDATA 0xf5a2 #define FSTV0910_P1_SPY_STUFFING 0xf5a20080 -#define FSTV0910_P1_NOERROR_PKTJITTER 0xf5a20040 #define FSTV0910_P1_SPY_CNULLPKT 0xf5a20020 #define FSTV0910_P1_SPY_OUTDATA_MODE 0xf5a2001f /*P1_FSPYOUT*/ #define RSTV0910_P1_FSPYOUT 0xf5a3 #define FSTV0910_P1_FSPY_DIRECT 0xf5a30080 -#define FSTV0910_P1_SPY_OUTDATA_BUS 0xf5a30038 #define FSTV0910_P1_STUFF_MODE 0xf5a30007 /*P1_FSTATUS*/ @@ -3371,8 +3540,6 @@ /*P1_FSPYBER*/ #define RSTV0910_P1_FSPYBER 0xf5b2 -#define FSTV0910_P1_FSPYOBS_XORREAD 0xf5b20040 -#define FSTV0910_P1_FSPYBER_OBSMODE 0xf5b20020 #define FSTV0910_P1_FSPYBER_SYNCBYTE 0xf5b20010 #define FSTV0910_P1_FSPYBER_UNSYNC 0xf5b20008 #define FSTV0910_P1_FSPYBER_CTIME 0xf5b20007 @@ -3393,32 +3560,26 @@ /*P1_SFKDIV12*/ #define RSTV0910_P1_SFKDIV12 0xf5c4 #define FSTV0910_P1_SFECKDIV12_MAN 0xf5c40080 -#define FSTV0910_P1_SFEC_K_DIVIDER_12 0xf5c4007f /*P1_SFKDIV23*/ #define RSTV0910_P1_SFKDIV23 0xf5c5 #define FSTV0910_P1_SFECKDIV23_MAN 0xf5c50080 -#define FSTV0910_P1_SFEC_K_DIVIDER_23 0xf5c5007f /*P1_SFKDIV34*/ #define RSTV0910_P1_SFKDIV34 0xf5c6 #define FSTV0910_P1_SFECKDIV34_MAN 0xf5c60080 -#define FSTV0910_P1_SFEC_K_DIVIDER_34 0xf5c6007f /*P1_SFKDIV56*/ #define RSTV0910_P1_SFKDIV56 0xf5c7 #define FSTV0910_P1_SFECKDIV56_MAN 0xf5c70080 -#define FSTV0910_P1_SFEC_K_DIVIDER_56 0xf5c7007f /*P1_SFKDIV67*/ #define RSTV0910_P1_SFKDIV67 0xf5c8 #define FSTV0910_P1_SFECKDIV67_MAN 0xf5c80080 -#define FSTV0910_P1_SFEC_K_DIVIDER_67 0xf5c8007f /*P1_SFKDIV78*/ #define RSTV0910_P1_SFKDIV78 0xf5c9 #define FSTV0910_P1_SFECKDIV78_MAN 0xf5c90080 -#define FSTV0910_P1_SFEC_K_DIVIDER_78 0xf5c9007f /*P1_SFSTATUS*/ #define RSTV0910_P1_SFSTATUS 0xf5cc @@ -3433,11 +3594,7 @@ /*P1_SFDLYSET2*/ #define RSTV0910_P1_SFDLYSET2 0xf5d0 -#define FSTV0910_P1_SFEC_OFFSET 0xf5d000c0 -#define FSTV0910_P1_RST_SFEC 0xf5d00008 -#define FSTV0910_P1_DILDLINE_ERROR 0xf5d00004 #define FSTV0910_P1_SFEC_DISABLE 0xf5d00002 -#define FSTV0910_P1_SFEC_UNREGUL 0xf5d00001 /*P1_SFERRCTRL*/ #define RSTV0910_P1_SFERRCTRL 0xf5d8 @@ -3457,14 +3614,79 @@ #define RSTV0910_P1_SFERRCNT0 0xf5db #define FSTV0910_P1_SFEC_ERR_CNT0 0xf5db00ff +/*RCCFG2*/ +#define RSTV0910_RCCFG2 0xf600 +#define FSTV0910_TSRCFIFO_DVBCI 0xf6000080 +#define FSTV0910_TSRCFIFO_SERIAL 0xf6000040 +#define FSTV0910_TSRCFIFO_DISABLE 0xf6000020 +#define FSTV0910_TSFIFO_2TORC 0xf6000010 +#define FSTV0910_TSRCFIFO_HSGNLOUT 0xf6000008 +#define FSTV0910_TSRCFIFO_ERRMODE 0xf6000006 + +/*RCCFG1*/ +#define RSTV0910_RCCFG1 0xf601 +#define FSTV0910_TSRCFIFO_MANSPEED 0xf60100c0 +#define FSTV0910_TSRCFIFO_PERMDATA 0xf6010020 +#define FSTV0910_TSRCFIFO_NONEWSGNL 0xf6010010 +#define FSTV0910_TSRCFIFO_INVDATA 0xf6010001 + +/*RCCFG0*/ +#define RSTV0910_RCCFG0 0xf602 +#define FSTV0910_TSRCFIFO_BCLKDEL1CK 0xf60200c0 +#define FSTV0910_TSRCFIFO_DUTY50 0xf6020010 +#define FSTV0910_TSRCFIFO_NSGNL2DATA 0xf6020008 +#define FSTV0910_TSRCFIFO_NPDSGNL 0xf6020004 + +/*RCINSDEL2*/ +#define RSTV0910_RCINSDEL2 0xf603 +#define FSTV0910_TSRCDEL_SYNCBYTE 0xf6030080 +#define FSTV0910_TSRCDEL_XXHEADER 0xf6030040 +#define FSTV0910_TSRCDEL_BBHEADER 0xf6030020 +#define FSTV0910_TSRCDEL_DATAFIELD 0xf6030010 +#define FSTV0910_TSRCINSDEL_ISCR 0xf6030008 +#define FSTV0910_TSRCINSDEL_NPD 0xf6030004 +#define FSTV0910_TSRCINSDEL_RSPARITY 0xf6030002 +#define FSTV0910_TSRCINSDEL_CRC8 0xf6030001 + +/*RCINSDEL1*/ +#define RSTV0910_RCINSDEL1 0xf604 +#define FSTV0910_TSRCINS_BBPADDING 0xf6040080 +#define FSTV0910_TSRCINS_BCHFEC 0xf6040040 +#define FSTV0910_TSRCINS_EMODCOD 0xf6040010 +#define FSTV0910_TSRCINS_TOKEN 0xf6040008 +#define FSTV0910_TSRCINS_XXXERR 0xf6040004 +#define FSTV0910_TSRCINS_MATYPE 0xf6040002 +#define FSTV0910_TSRCINS_UPL 0xf6040001 + +/*RCINSDEL0*/ +#define RSTV0910_RCINSDEL0 0xf605 +#define FSTV0910_TSRCINS_DFL 0xf6050080 +#define FSTV0910_TSRCINS_SYNCD 0xf6050040 +#define FSTV0910_TSRCINS_BLOCLEN 0xf6050020 +#define FSTV0910_TSRCINS_SIGPCOUNT 0xf6050010 +#define FSTV0910_TSRCINS_FIFO 0xf6050008 +#define FSTV0910_TSRCINS_REALPACK 0xf6050004 +#define FSTV0910_TSRCINS_TSCONFIG 0xf6050002 +#define FSTV0910_TSRCINS_LATENCY 0xf6050001 + +/*RCSTATUS*/ +#define RSTV0910_RCSTATUS 0xf606 +#define FSTV0910_TSRCFIFO_LINEOK 0xf6060080 +#define FSTV0910_TSRCFIFO_ERROR 0xf6060040 +#define FSTV0910_TSRCREGUL_ERROR 0xf6060010 +#define FSTV0910_TSRCFIFO_DEMODSEL 0xf6060008 +#define FSTV0910_TSRCFIFOSPEED_STORE 0xf6060004 +#define FSTV0910_TSRCSPEED_IMPOSSIBLE 0xf6060001 + +/*RCSPEED*/ +#define RSTV0910_RCSPEED 0xf607 +#define FSTV0910_TSRCFIFO_OUTSPEED 0xf60700ff + /*TSGENERAL*/ #define RSTV0910_TSGENERAL 0xf630 -#define FSTV0910_EN_LGNERROR 0xf6300080 #define FSTV0910_TSFIFO_DISTS2PAR 0xf6300040 -#define FSTV0910_MUXSTREAM_COMPMOSE 0xf6300030 #define FSTV0910_MUXSTREAM_OUTMODE 0xf6300008 #define FSTV0910_TSFIFO_PERMPARAL 0xf6300006 -#define FSTV0910_RST_REEDSOLO 0xf6300001 /*P1_DISIRQCFG*/ #define RSTV0910_P1_DISIRQCFG 0xf700 @@ -3595,7 +3817,6 @@ /*P1_ACRPRESC*/ #define RSTV0910_P1_ACRPRESC 0xf71e -#define FSTV0910_P1_ACR_CODFRDY 0xf71e0008 #define FSTV0910_P1_ACR_PRESC 0xf71e0007 /*P1_ACRDIV*/ @@ -3731,13 +3952,24 @@ /*P2_ACRPRESC*/ #define RSTV0910_P2_ACRPRESC 0xf75e -#define FSTV0910_P2_ACR_CODFRDY 0xf75e0008 #define FSTV0910_P2_ACR_PRESC 0xf75e0007 /*P2_ACRDIV*/ #define RSTV0910_P2_ACRDIV 0xf75f #define FSTV0910_P2_ACR_DIV 0xf75f00ff +/*P1_NBITER_NF1*/ +#define RSTV0910_P1_NBITER_NF1 0xfa00 +#define FSTV0910_P1_NBITER_NF_QPSK_1_4 0xfa0000ff + +/*P1_NBITER_NF2*/ +#define RSTV0910_P1_NBITER_NF2 0xfa01 +#define FSTV0910_P1_NBITER_NF_QPSK_1_3 0xfa0100ff + +/*P1_NBITER_NF3*/ +#define RSTV0910_P1_NBITER_NF3 0xfa02 +#define FSTV0910_P1_NBITER_NF_QPSK_2_5 0xfa0200ff + /*P1_NBITER_NF4*/ #define RSTV0910_P1_NBITER_NF4 0xfa03 #define FSTV0910_P1_NBITER_NF_QPSK_1_2 0xfa0300ff @@ -3794,6 +4026,231 @@ #define RSTV0910_P1_NBITER_NF17 0xfa10 #define FSTV0910_P1_NBITER_NF_8PSK_9_10 0xfa1000ff +/*P1_NBITER_NF18*/ +#define RSTV0910_P1_NBITER_NF18 0xfa11 +#define FSTV0910_P1_NBITER_NF_16APSK_2_3 0xfa1100ff + +/*P1_NBITER_NF19*/ +#define RSTV0910_P1_NBITER_NF19 0xfa12 +#define FSTV0910_P1_NBITER_NF_16APSK_3_4 0xfa1200ff + +/*P1_NBITER_NF20*/ +#define RSTV0910_P1_NBITER_NF20 0xfa13 +#define FSTV0910_P1_NBITER_NF_16APSK_4_5 0xfa1300ff + +/*P1_NBITER_NF21*/ +#define RSTV0910_P1_NBITER_NF21 0xfa14 +#define FSTV0910_P1_NBITER_NF_16APSK_5_6 0xfa1400ff + +/*P1_NBITER_NF22*/ +#define RSTV0910_P1_NBITER_NF22 0xfa15 +#define FSTV0910_P1_NBITER_NF_16APSK_8_9 0xfa1500ff + +/*P1_NBITER_NF23*/ +#define RSTV0910_P1_NBITER_NF23 0xfa16 +#define FSTV0910_P1_NBITER_NF_16APSK_9_10 0xfa1600ff + +/*P1_NBITER_NF24*/ +#define RSTV0910_P1_NBITER_NF24 0xfa17 +#define FSTV0910_P1_NBITER_NF_32APSK_3_4 0xfa1700ff + +/*P1_NBITER_NF25*/ +#define RSTV0910_P1_NBITER_NF25 0xfa18 +#define FSTV0910_P1_NBITER_NF_32APSK_4_5 0xfa1800ff + +/*P1_NBITER_NF26*/ +#define RSTV0910_P1_NBITER_NF26 0xfa19 +#define FSTV0910_P1_NBITER_NF_32APSK_5_6 0xfa1900ff + +/*P1_NBITER_NF27*/ +#define RSTV0910_P1_NBITER_NF27 0xfa1a +#define FSTV0910_P1_NBITER_NF_32APSK_8_9 0xfa1a00ff + +/*P1_NBITER_NF28*/ +#define RSTV0910_P1_NBITER_NF28 0xfa1b +#define FSTV0910_P1_NBITER_NF_32APSK_9_10 0xfa1b00ff + +/*P1_NBITER_SF1*/ +#define RSTV0910_P1_NBITER_SF1 0xfa1c +#define FSTV0910_P1_NBITER_SF_QPSK_1_4 0xfa1c00ff + +/*P1_NBITER_SF2*/ +#define RSTV0910_P1_NBITER_SF2 0xfa1d +#define FSTV0910_P1_NBITER_SF_QPSK_1_3 0xfa1d00ff + +/*P1_NBITER_SF3*/ +#define RSTV0910_P1_NBITER_SF3 0xfa1e +#define FSTV0910_P1_NBITER_SF_QPSK_2_5 0xfa1e00ff + +/*P1_NBITER_SF4*/ +#define RSTV0910_P1_NBITER_SF4 0xfa1f +#define FSTV0910_P1_NBITER_SF_QPSK_1_2 0xfa1f00ff + +/*P1_NBITER_SF5*/ +#define RSTV0910_P1_NBITER_SF5 0xfa20 +#define FSTV0910_P1_NBITER_SF_QPSK_3_5 0xfa2000ff + +/*P1_NBITER_SF6*/ +#define RSTV0910_P1_NBITER_SF6 0xfa21 +#define FSTV0910_P1_NBITER_SF_QPSK_2_3 0xfa2100ff + +/*P1_NBITER_SF7*/ +#define RSTV0910_P1_NBITER_SF7 0xfa22 +#define FSTV0910_P1_NBITER_SF_QPSK_3_4 0xfa2200ff + +/*P1_NBITER_SF8*/ +#define RSTV0910_P1_NBITER_SF8 0xfa23 +#define FSTV0910_P1_NBITER_SF_QPSK_4_5 0xfa2300ff + +/*P1_NBITER_SF9*/ +#define RSTV0910_P1_NBITER_SF9 0xfa24 +#define FSTV0910_P1_NBITER_SF_QPSK_5_6 0xfa2400ff + +/*P1_NBITER_SF10*/ +#define RSTV0910_P1_NBITER_SF10 0xfa25 +#define FSTV0910_P1_NBITER_SF_QPSK_8_9 0xfa2500ff + +/*P1_NBITER_SF12*/ +#define RSTV0910_P1_NBITER_SF12 0xfa26 +#define FSTV0910_P1_NBITER_SF_8PSK_3_5 0xfa2600ff + +/*P1_NBITER_SF13*/ +#define RSTV0910_P1_NBITER_SF13 0xfa27 +#define FSTV0910_P1_NBITER_SF_8PSK_2_3 0xfa2700ff + +/*P1_NBITER_SF14*/ +#define RSTV0910_P1_NBITER_SF14 0xfa28 +#define FSTV0910_P1_NBITER_SF_8PSK_3_4 0xfa2800ff + +/*P1_NBITER_SF15*/ +#define RSTV0910_P1_NBITER_SF15 0xfa29 +#define FSTV0910_P1_NBITER_SF_8PSK_5_6 0xfa2900ff + +/*P1_NBITER_SF16*/ +#define RSTV0910_P1_NBITER_SF16 0xfa2a +#define FSTV0910_P1_NBITER_SF_8PSK_8_9 0xfa2a00ff + +/*P1_NBITER_SF18*/ +#define RSTV0910_P1_NBITER_SF18 0xfa2b +#define FSTV0910_P1_NBITER_SF_16APSK_2_3 0xfa2b00ff + +/*P1_NBITER_SF19*/ +#define RSTV0910_P1_NBITER_SF19 0xfa2c +#define FSTV0910_P1_NBITER_SF_16APSK_3_4 0xfa2c00ff + +/*P1_NBITER_SF20*/ +#define RSTV0910_P1_NBITER_SF20 0xfa2d +#define FSTV0910_P1_NBITER_SF_16APSK_4_5 0xfa2d00ff + +/*P1_NBITER_SF21*/ +#define RSTV0910_P1_NBITER_SF21 0xfa2e +#define FSTV0910_P1_NBITER_SF_16APSK_5_6 0xfa2e00ff + +/*P1_NBITER_SF22*/ +#define RSTV0910_P1_NBITER_SF22 0xfa2f +#define FSTV0910_P1_NBITER_SF_16APSK_8_9 0xfa2f00ff + +/*P1_NBITER_SF24*/ +#define RSTV0910_P1_NBITER_SF24 0xfa30 +#define FSTV0910_P1_NBITER_SF_32APSK_3_4 0xfa3000ff + +/*P1_NBITER_SF25*/ +#define RSTV0910_P1_NBITER_SF25 0xfa31 +#define FSTV0910_P1_NBITER_SF_32APSK_4_5 0xfa3100ff + +/*P1_NBITER_SF26*/ +#define RSTV0910_P1_NBITER_SF26 0xfa32 +#define FSTV0910_P1_NBITER_SF_32APSK_5_6 0xfa3200ff + +/*P1_NBITER_SF27*/ +#define RSTV0910_P1_NBITER_SF27 0xfa33 +#define FSTV0910_P1_NBITER_SF_32APSK_8_9 0xfa3300ff + +/*SELSATUR6*/ +#define RSTV0910_SELSATUR6 0xfa34 +#define FSTV0910_SSAT_SF27 0xfa340008 +#define FSTV0910_SSAT_SF26 0xfa340004 +#define FSTV0910_SSAT_SF25 0xfa340002 +#define FSTV0910_SSAT_SF24 0xfa340001 + +/*SELSATUR5*/ +#define RSTV0910_SELSATUR5 0xfa35 +#define FSTV0910_SSAT_SF22 0xfa350080 +#define FSTV0910_SSAT_SF21 0xfa350040 +#define FSTV0910_SSAT_SF20 0xfa350020 +#define FSTV0910_SSAT_SF19 0xfa350010 +#define FSTV0910_SSAT_SF18 0xfa350008 +#define FSTV0910_SSAT_SF16 0xfa350004 +#define FSTV0910_SSAT_SF15 0xfa350002 +#define FSTV0910_SSAT_SF14 0xfa350001 + +/*SELSATUR4*/ +#define RSTV0910_SELSATUR4 0xfa36 +#define FSTV0910_SSAT_SF13 0xfa360080 +#define FSTV0910_SSAT_SF12 0xfa360040 +#define FSTV0910_SSAT_SF10 0xfa360020 +#define FSTV0910_SSAT_SF9 0xfa360010 +#define FSTV0910_SSAT_SF8 0xfa360008 +#define FSTV0910_SSAT_SF7 0xfa360004 +#define FSTV0910_SSAT_SF6 0xfa360002 +#define FSTV0910_SSAT_SF5 0xfa360001 + +/*SELSATUR3*/ +#define RSTV0910_SELSATUR3 0xfa37 +#define FSTV0910_SSAT_SF4 0xfa370080 +#define FSTV0910_SSAT_SF3 0xfa370040 +#define FSTV0910_SSAT_SF2 0xfa370020 +#define FSTV0910_SSAT_SF1 0xfa370010 +#define FSTV0910_SSAT_NF28 0xfa370008 +#define FSTV0910_SSAT_NF27 0xfa370004 +#define FSTV0910_SSAT_NF26 0xfa370002 +#define FSTV0910_SSAT_NF25 0xfa370001 + +/*SELSATUR2*/ +#define RSTV0910_SELSATUR2 0xfa38 +#define FSTV0910_SSAT_NF24 0xfa380080 +#define FSTV0910_SSAT_NF23 0xfa380040 +#define FSTV0910_SSAT_NF22 0xfa380020 +#define FSTV0910_SSAT_NF21 0xfa380010 +#define FSTV0910_SSAT_NF20 0xfa380008 +#define FSTV0910_SSAT_NF19 0xfa380004 +#define FSTV0910_SSAT_NF18 0xfa380002 +#define FSTV0910_SSAT_NF17 0xfa380001 + +/*SELSATUR1*/ +#define RSTV0910_SELSATUR1 0xfa39 +#define FSTV0910_SSAT_NF16 0xfa390080 +#define FSTV0910_SSAT_NF15 0xfa390040 +#define FSTV0910_SSAT_NF14 0xfa390020 +#define FSTV0910_SSAT_NF13 0xfa390010 +#define FSTV0910_SSAT_NF12 0xfa390008 +#define FSTV0910_SSAT_NF11 0xfa390004 +#define FSTV0910_SSAT_NF10 0xfa390002 +#define FSTV0910_SSAT_NF9 0xfa390001 + +/*SELSATUR0*/ +#define RSTV0910_SELSATUR0 0xfa3a +#define FSTV0910_SSAT_NF8 0xfa3a0080 +#define FSTV0910_SSAT_NF7 0xfa3a0040 +#define FSTV0910_SSAT_NF6 0xfa3a0020 +#define FSTV0910_SSAT_NF5 0xfa3a0010 +#define FSTV0910_SSAT_NF4 0xfa3a0008 +#define FSTV0910_SSAT_NF3 0xfa3a0004 +#define FSTV0910_SSAT_NF2 0xfa3a0002 +#define FSTV0910_SSAT_NF1 0xfa3a0001 + +/*GAINLLR_NF1*/ +#define RSTV0910_GAINLLR_NF1 0xfa40 +#define FSTV0910_GAINLLR_NF_QPSK_1_4 0xfa40007f + +/*GAINLLR_NF2*/ +#define RSTV0910_GAINLLR_NF2 0xfa41 +#define FSTV0910_GAINLLR_NF_QPSK_1_3 0xfa41007f + +/*GAINLLR_NF3*/ +#define RSTV0910_GAINLLR_NF3 0xfa42 +#define FSTV0910_GAINLLR_NF_QPSK_2_5 0xfa42007f + /*GAINLLR_NF4*/ #define RSTV0910_GAINLLR_NF4 0xfa43 #define FSTV0910_GAINLLR_NF_QPSK_1_2 0xfa43007f @@ -3850,23 +4307,155 @@ #define RSTV0910_GAINLLR_NF17 0xfa50 #define FSTV0910_GAINLLR_NF_8PSK_9_10 0xfa50007f +/*GAINLLR_NF18*/ +#define RSTV0910_GAINLLR_NF18 0xfa51 +#define FSTV0910_GAINLLR_NF_16APSK_2_3 0xfa51007f + +/*GAINLLR_NF19*/ +#define RSTV0910_GAINLLR_NF19 0xfa52 +#define FSTV0910_GAINLLR_NF_16APSK_3_4 0xfa52007f + +/*GAINLLR_NF20*/ +#define RSTV0910_GAINLLR_NF20 0xfa53 +#define FSTV0910_GAINLLR_NF_16APSK_4_5 0xfa53007f + +/*GAINLLR_NF21*/ +#define RSTV0910_GAINLLR_NF21 0xfa54 +#define FSTV0910_GAINLLR_NF_16APSK_5_6 0xfa54007f + +/*GAINLLR_NF22*/ +#define RSTV0910_GAINLLR_NF22 0xfa55 +#define FSTV0910_GAINLLR_NF_16APSK_8_9 0xfa55007f + +/*GAINLLR_NF23*/ +#define RSTV0910_GAINLLR_NF23 0xfa56 +#define FSTV0910_GAINLLR_NF_16APSK_9_10 0xfa56007f + +/*GAINLLR_NF24*/ +#define RSTV0910_GAINLLR_NF24 0xfa57 +#define FSTV0910_GAINLLR_NF_32APSK_3_4 0xfa57007f + +/*GAINLLR_NF25*/ +#define RSTV0910_GAINLLR_NF25 0xfa58 +#define FSTV0910_GAINLLR_NF_32APSK_4_5 0xfa58007f + +/*GAINLLR_NF26*/ +#define RSTV0910_GAINLLR_NF26 0xfa59 +#define FSTV0910_GAINLLR_NF_32APSK_5_6 0xfa59007f + +/*GAINLLR_NF27*/ +#define RSTV0910_GAINLLR_NF27 0xfa5a +#define FSTV0910_GAINLLR_NF_32APSK_8_9 0xfa5a007f + +/*GAINLLR_NF28*/ +#define RSTV0910_GAINLLR_NF28 0xfa5b +#define FSTV0910_GAINLLR_NF_32APSK_9_10 0xfa5b007f + +/*GAINLLR_SF1*/ +#define RSTV0910_GAINLLR_SF1 0xfa5c +#define FSTV0910_GAINLLR_SF_QPSK_1_4 0xfa5c007f + +/*GAINLLR_SF2*/ +#define RSTV0910_GAINLLR_SF2 0xfa5d +#define FSTV0910_GAINLLR_SF_QPSK_1_3 0xfa5d007f + +/*GAINLLR_SF3*/ +#define RSTV0910_GAINLLR_SF3 0xfa5e +#define FSTV0910_GAINLLR_SF_QPSK_2_5 0xfa5e007f + +/*GAINLLR_SF4*/ +#define RSTV0910_GAINLLR_SF4 0xfa5f +#define FSTV0910_GAINLLR_SF_QPSK_1_2 0xfa5f007f + +/*GAINLLR_SF5*/ +#define RSTV0910_GAINLLR_SF5 0xfa60 +#define FSTV0910_GAINLLR_SF_QPSK_3_5 0xfa60007f + +/*GAINLLR_SF6*/ +#define RSTV0910_GAINLLR_SF6 0xfa61 +#define FSTV0910_GAINLLR_SF_QPSK_2_3 0xfa61007f + +/*GAINLLR_SF7*/ +#define RSTV0910_GAINLLR_SF7 0xfa62 +#define FSTV0910_GAINLLR_SF_QPSK_3_4 0xfa62007f + +/*GAINLLR_SF8*/ +#define RSTV0910_GAINLLR_SF8 0xfa63 +#define FSTV0910_GAINLLR_SF_QPSK_4_5 0xfa63007f + +/*GAINLLR_SF9*/ +#define RSTV0910_GAINLLR_SF9 0xfa64 +#define FSTV0910_GAINLLR_SF_QPSK_5_6 0xfa64007f + +/*GAINLLR_SF10*/ +#define RSTV0910_GAINLLR_SF10 0xfa65 +#define FSTV0910_GAINLLR_SF_QPSK_8_9 0xfa65007f + +/*GAINLLR_SF12*/ +#define RSTV0910_GAINLLR_SF12 0xfa66 +#define FSTV0910_GAINLLR_SF_8PSK_3_5 0xfa66007f + +/*GAINLLR_SF13*/ +#define RSTV0910_GAINLLR_SF13 0xfa67 +#define FSTV0910_GAINLLR_SF_8PSK_2_3 0xfa67007f + +/*GAINLLR_SF14*/ +#define RSTV0910_GAINLLR_SF14 0xfa68 +#define FSTV0910_GAINLLR_SF_8PSK_3_4 0xfa68007f + +/*GAINLLR_SF15*/ +#define RSTV0910_GAINLLR_SF15 0xfa69 +#define FSTV0910_GAINLLR_SF_8PSK_5_6 0xfa69007f + +/*GAINLLR_SF16*/ +#define RSTV0910_GAINLLR_SF16 0xfa6a +#define FSTV0910_GAINLLR_SF_8PSK_8_9 0xfa6a007f + +/*GAINLLR_SF18*/ +#define RSTV0910_GAINLLR_SF18 0xfa6b +#define FSTV0910_GAINLLR_SF_16APSK_2_3 0xfa6b007f + +/*GAINLLR_SF19*/ +#define RSTV0910_GAINLLR_SF19 0xfa6c +#define FSTV0910_GAINLLR_SF_16APSK_3_4 0xfa6c007f + +/*GAINLLR_SF20*/ +#define RSTV0910_GAINLLR_SF20 0xfa6d +#define FSTV0910_GAINLLR_SF_16APSK_4_5 0xfa6d007f + +/*GAINLLR_SF21*/ +#define RSTV0910_GAINLLR_SF21 0xfa6e +#define FSTV0910_GAINLLR_SF_16APSK_5_6 0xfa6e007f + +/*GAINLLR_SF22*/ +#define RSTV0910_GAINLLR_SF22 0xfa6f +#define FSTV0910_GAINLLR_SF_16APSK_8_9 0xfa6f007f + +/*GAINLLR_SF24*/ +#define RSTV0910_GAINLLR_SF24 0xfa70 +#define FSTV0910_GAINLLR_SF_32APSK_3_4 0xfa70007f + +/*GAINLLR_SF25*/ +#define RSTV0910_GAINLLR_SF25 0xfa71 +#define FSTV0910_GAINLLR_SF_32APSK_4_5 0xfa71007f + +/*GAINLLR_SF26*/ +#define RSTV0910_GAINLLR_SF26 0xfa72 +#define FSTV0910_GAINLLR_SF_32APSK_5_6 0xfa72007f + +/*GAINLLR_SF27*/ +#define RSTV0910_GAINLLR_SF27 0xfa73 +#define FSTV0910_GAINLLR_SF_32APSK_8_9 0xfa73007f + /*CFGEXT*/ #define RSTV0910_CFGEXT 0xfa80 -#define FSTV0910_BYPFIFOBCH 0xfa800080 #define FSTV0910_BYPBCH 0xfa800040 #define FSTV0910_BYPLDPC 0xfa800020 -#define FSTV0910_BYPFIFOBCHF 0xfa800010 -#define FSTV0910_INVLLRSIGN 0xfa800008 #define FSTV0910_SHORTMULT 0xfa800004 -#define FSTV0910_ENSTOPDEC 0xfa800002 /*GENCFG*/ #define RSTV0910_GENCFG 0xfa86 -#define FSTV0910_LEG_ITER 0xfa860040 -#define FSTV0910_NOSHFRD1 0xfa860020 #define FSTV0910_BROADCAST 0xfa860010 -#define FSTV0910_NOSHFRD2 0xfa860008 -#define FSTV0910_BCHERRFLAG 0xfa860004 #define FSTV0910_CROSSINPUT 0xfa860002 #define FSTV0910_DDEMOD 0xfa860001 @@ -3907,6 +4496,18 @@ #define RSTV0910_P2_STATUSMAXITER 0xfabf #define FSTV0910_P2_STATUS_MAX_ITER 0xfabf00ff +/*P2_NBITER_NF1*/ +#define RSTV0910_P2_NBITER_NF1 0xfac0 +#define FSTV0910_P2_NBITER_NF_QPSK_1_4 0xfac000ff + +/*P2_NBITER_NF2*/ +#define RSTV0910_P2_NBITER_NF2 0xfac1 +#define FSTV0910_P2_NBITER_NF_QPSK_1_3 0xfac100ff + +/*P2_NBITER_NF3*/ +#define RSTV0910_P2_NBITER_NF3 0xfac2 +#define FSTV0910_P2_NBITER_NF_QPSK_2_5 0xfac200ff + /*P2_NBITER_NF4*/ #define RSTV0910_P2_NBITER_NF4 0xfac3 #define FSTV0910_P2_NBITER_NF_QPSK_1_2 0xfac300ff @@ -3963,36 +4564,197 @@ #define RSTV0910_P2_NBITER_NF17 0xfad0 #define FSTV0910_P2_NBITER_NF_8PSK_9_10 0xfad000ff +/*P2_NBITER_NF18*/ +#define RSTV0910_P2_NBITER_NF18 0xfad1 +#define FSTV0910_P2_NBITER_NF_16APSK_2_3 0xfad100ff + +/*P2_NBITER_NF19*/ +#define RSTV0910_P2_NBITER_NF19 0xfad2 +#define FSTV0910_P2_NBITER_NF_16APSK_3_4 0xfad200ff + +/*P2_NBITER_NF20*/ +#define RSTV0910_P2_NBITER_NF20 0xfad3 +#define FSTV0910_P2_NBITER_NF_16APSK_4_5 0xfad300ff + +/*P2_NBITER_NF21*/ +#define RSTV0910_P2_NBITER_NF21 0xfad4 +#define FSTV0910_P2_NBITER_NF_16APSK_5_6 0xfad400ff + +/*P2_NBITER_NF22*/ +#define RSTV0910_P2_NBITER_NF22 0xfad5 +#define FSTV0910_P2_NBITER_NF_16APSK_8_9 0xfad500ff + +/*P2_NBITER_NF23*/ +#define RSTV0910_P2_NBITER_NF23 0xfad6 +#define FSTV0910_P2_NBITER_NF_16APSK_9_10 0xfad600ff + +/*P2_NBITER_NF24*/ +#define RSTV0910_P2_NBITER_NF24 0xfad7 +#define FSTV0910_P2_NBITER_NF_32APSK_3_4 0xfad700ff + +/*P2_NBITER_NF25*/ +#define RSTV0910_P2_NBITER_NF25 0xfad8 +#define FSTV0910_P2_NBITER_NF_32APSK_4_5 0xfad800ff + +/*P2_NBITER_NF26*/ +#define RSTV0910_P2_NBITER_NF26 0xfad9 +#define FSTV0910_P2_NBITER_NF_32APSK_5_6 0xfad900ff + +/*P2_NBITER_NF27*/ +#define RSTV0910_P2_NBITER_NF27 0xfada +#define FSTV0910_P2_NBITER_NF_32APSK_8_9 0xfada00ff + +/*P2_NBITER_NF28*/ +#define RSTV0910_P2_NBITER_NF28 0xfadb +#define FSTV0910_P2_NBITER_NF_32APSK_9_10 0xfadb00ff + +/*P2_NBITER_SF1*/ +#define RSTV0910_P2_NBITER_SF1 0xfadc +#define FSTV0910_P2_NBITER_SF_QPSK_1_4 0xfadc00ff + +/*P2_NBITER_SF2*/ +#define RSTV0910_P2_NBITER_SF2 0xfadd +#define FSTV0910_P2_NBITER_SF_QPSK_1_3 0xfadd00ff + +/*P2_NBITER_SF3*/ +#define RSTV0910_P2_NBITER_SF3 0xfade +#define FSTV0910_P2_NBITER_SF_QPSK_2_5 0xfade00ff + +/*P2_NBITER_SF4*/ +#define RSTV0910_P2_NBITER_SF4 0xfadf +#define FSTV0910_P2_NBITER_SF_QPSK_1_2 0xfadf00ff + +/*P2_NBITER_SF5*/ +#define RSTV0910_P2_NBITER_SF5 0xfae0 +#define FSTV0910_P2_NBITER_SF_QPSK_3_5 0xfae000ff + +/*P2_NBITER_SF6*/ +#define RSTV0910_P2_NBITER_SF6 0xfae1 +#define FSTV0910_P2_NBITER_SF_QPSK_2_3 0xfae100ff + +/*P2_NBITER_SF7*/ +#define RSTV0910_P2_NBITER_SF7 0xfae2 +#define FSTV0910_P2_NBITER_SF_QPSK_3_4 0xfae200ff + +/*P2_NBITER_SF8*/ +#define RSTV0910_P2_NBITER_SF8 0xfae3 +#define FSTV0910_P2_NBITER_SF_QPSK_4_5 0xfae300ff + +/*P2_NBITER_SF9*/ +#define RSTV0910_P2_NBITER_SF9 0xfae4 +#define FSTV0910_P2_NBITER_SF_QPSK_5_6 0xfae400ff + +/*P2_NBITER_SF10*/ +#define RSTV0910_P2_NBITER_SF10 0xfae5 +#define FSTV0910_P2_NBITER_SF_QPSK_8_9 0xfae500ff + +/*P2_NBITER_SF12*/ +#define RSTV0910_P2_NBITER_SF12 0xfae6 +#define FSTV0910_P2_NBITER_SF_8PSK_3_5 0xfae600ff + +/*P2_NBITER_SF13*/ +#define RSTV0910_P2_NBITER_SF13 0xfae7 +#define FSTV0910_P2_NBITER_SF_8PSK_2_3 0xfae700ff + +/*P2_NBITER_SF14*/ +#define RSTV0910_P2_NBITER_SF14 0xfae8 +#define FSTV0910_P2_NBITER_SF_8PSK_3_4 0xfae800ff + +/*P2_NBITER_SF15*/ +#define RSTV0910_P2_NBITER_SF15 0xfae9 +#define FSTV0910_P2_NBITER_SF_8PSK_5_6 0xfae900ff + +/*P2_NBITER_SF16*/ +#define RSTV0910_P2_NBITER_SF16 0xfaea +#define FSTV0910_P2_NBITER_SF_8PSK_8_9 0xfaea00ff + +/*P2_NBITER_SF18*/ +#define RSTV0910_P2_NBITER_SF18 0xfaeb +#define FSTV0910_P2_NBITER_SF_16APSK_2_3 0xfaeb00ff + +/*P2_NBITER_SF19*/ +#define RSTV0910_P2_NBITER_SF19 0xfaec +#define FSTV0910_P2_NBITER_SF_16APSK_3_4 0xfaec00ff + +/*P2_NBITER_SF20*/ +#define RSTV0910_P2_NBITER_SF20 0xfaed +#define FSTV0910_P2_NBITER_SF_16APSK_4_5 0xfaed00ff + +/*P2_NBITER_SF21*/ +#define RSTV0910_P2_NBITER_SF21 0xfaee +#define FSTV0910_P2_NBITER_SF_16APSK_5_6 0xfaee00ff + +/*P2_NBITER_SF22*/ +#define RSTV0910_P2_NBITER_SF22 0xfaef +#define FSTV0910_P2_NBITER_SF_16APSK_8_9 0xfaef00ff + +/*P2_NBITER_SF24*/ +#define RSTV0910_P2_NBITER_SF24 0xfaf0 +#define FSTV0910_P2_NBITER_SF_32APSK_3_4 0xfaf000ff + +/*P2_NBITER_SF25*/ +#define RSTV0910_P2_NBITER_SF25 0xfaf1 +#define FSTV0910_P2_NBITER_SF_32APSK_4_5 0xfaf100ff + +/*P2_NBITER_SF26*/ +#define RSTV0910_P2_NBITER_SF26 0xfaf2 +#define FSTV0910_P2_NBITER_SF_32APSK_5_6 0xfaf200ff + +/*P2_NBITER_SF27*/ +#define RSTV0910_P2_NBITER_SF27 0xfaf3 +#define FSTV0910_P2_NBITER_SF_32APSK_8_9 0xfaf300ff + /*TSTRES0*/ #define RSTV0910_TSTRES0 0xff11 #define FSTV0910_FRESFEC 0xff110080 -#define FSTV0910_FRESTS 0xff110040 -#define FSTV0910_FRESVIT1 0xff110020 -#define FSTV0910_FRESVIT2 0xff110010 #define FSTV0910_FRESSYM1 0xff110008 #define FSTV0910_FRESSYM2 0xff110004 -#define FSTV0910_FRESMAS 0xff110002 -#define FSTV0910_FRESINT 0xff110001 + +/*TSTOUT*/ +#define RSTV0910_TSTOUT 0xff12 +#define FSTV0910_TS 0xff12003e +#define FSTV0910_TEST_OUT 0xff120001 + +/*TSTIN*/ +#define RSTV0910_TSTIN 0xff13 +#define FSTV0910_TEST_IN 0xff130080 + +/*P2_TSTDMD*/ +#define RSTV0910_P2_TSTDMD 0xff20 +#define FSTV0910_P2_CFRINIT_INVZIGZAG 0xff200008 + +/*P2_TCTL1*/ +#define RSTV0910_P2_TCTL1 0xff24 +#define FSTV0910_P2_TST_IQSYMBSEL 0xff24001f /*P2_TCTL4*/ #define RSTV0910_P2_TCTL4 0xff28 #define FSTV0910_P2_CFR2TOCFR1_DVBS1 0xff2800c0 -#define FSTV0910_P2_TSTINV_PHERR 0xff280020 -#define FSTV0910_P2_EN_PLHCALC 0xff280010 -#define FSTV0910_P2_TETA3L_RSTTETA3D 0xff280008 -#define FSTV0910_P2_DIS_FORCEBETA2 0xff280004 -#define FSTV0910_P2_CAR3_NOTRACEBACK 0xff280002 -#define FSTV0910_P2_CAR3_NOFORWARD 0xff280001 + +/*P2_TPKTDELIN*/ +#define RSTV0910_P2_TPKTDELIN 0xff37 +#define FSTV0910_P2_CFG_RSPARITYON 0xff370080 + +/*P1_TSTDMD*/ +#define RSTV0910_P1_TSTDMD 0xff40 +#define FSTV0910_P1_CFRINIT_INVZIGZAG 0xff400008 + +/*P1_TCTL1*/ +#define RSTV0910_P1_TCTL1 0xff44 +#define FSTV0910_P1_TST_IQSYMBSEL 0xff44001f /*P1_TCTL4*/ #define RSTV0910_P1_TCTL4 0xff48 #define FSTV0910_P1_CFR2TOCFR1_DVBS1 0xff4800c0 -#define FSTV0910_P1_TSTINV_PHERR 0xff480020 -#define FSTV0910_P1_EN_PLHCALC 0xff480010 -#define FSTV0910_P1_TETA3L_RSTTETA3D 0xff480008 -#define FSTV0910_P1_DIS_FORCEBETA2 0xff480004 -#define FSTV0910_P1_CAR3_NOTRACEBACK 0xff480002 -#define FSTV0910_P1_CAR3_NOFORWARD 0xff480001 -#define STV0910_NBREGS 735 -#define STV0910_NBFIELDS 1776 +/*P1_TPKTDELIN*/ +#define RSTV0910_P1_TPKTDELIN 0xff57 +#define FSTV0910_P1_CFG_RSPARITYON 0xff570080 + +/*TSTTSRS*/ +#define RSTV0910_TSTTSRS 0xff6d +#define FSTV0910_TSTRS_DISRS2 0xff6d0002 +#define FSTV0910_TSTRS_DISRS1 0xff6d0001 + +#define STV0910_NBREGS 975 +#define STV0910_NBFIELDS 1818 From 131aaf361e854880e9e49943d96d001ed43652f8 Mon Sep 17 00:00:00 2001 From: Ralph Metzler Date: Mon, 4 Jul 2016 18:59:33 +0200 Subject: [PATCH 2/4] support new API signal strength and SNR support get_frontend() start support for BER --- frontends/stv090x.c | 161 ++++++++++++++++++++++++++++++++++----- frontends/stv090x_priv.h | 1 + 2 files changed, 142 insertions(+), 20 deletions(-) diff --git a/frontends/stv090x.c b/frontends/stv090x.c index caa72c6..60efb8b 100644 --- a/frontends/stv090x.c +++ b/frontends/stv090x.c @@ -36,7 +36,7 @@ #include "stv090x.h" #include "stv090x_priv.h" - #define ERRCTRL1_DVBS1 0x76 +#define ERRCTRL1_DVBS1 0x76 #define ERRCTRL1_DVBS2 0x67 #define STOP_DEMOD 1 @@ -3480,6 +3480,43 @@ static enum dvbfe_search stv090x_search(struct dvb_frontend *fe, struct dvb_fron return DVBFE_ALGO_SEARCH_ERROR; } +static int stv090x_read_cnr(struct dvb_frontend *fe, u16 *cnr); +static int stv090x_read_signal_strength(struct dvb_frontend *fe, u16 *strength); + +static int stv090x_ber_prop(struct dvb_frontend *fe, enum fe_status *status) +{ + struct stv090x_state *state = fe->demodulator_priv; + struct dtv_frontend_properties *p = &fe->dtv_property_cache; + + u32 reg, h, m, l; + u32 n = 0, d = 1; + + if (!(*status & FE_HAS_LOCK)) { + n = 1; + d = 1; + } else { + /* Counter 1 */ + reg = STV090x_READ_DEMOD(state, ERRCNT12); + h = STV090x_GETFIELD_Px(reg, ERR_CNT12_FIELD); + + reg = STV090x_READ_DEMOD(state, ERRCNT11); + m = STV090x_GETFIELD_Px(reg, ERR_CNT11_FIELD); + + reg = STV090x_READ_DEMOD(state, ERRCNT10); + l = STV090x_GETFIELD_Px(reg, ERR_CNT10_FIELD); + + n = ((h << 16) | (m << 8) | l); + + } + p->pre_bit_error.len = 1; + p->pre_bit_error.stat[0].scale = FE_SCALE_COUNTER; + p->pre_bit_error.stat[0].uvalue =n; + p->pre_bit_count.len = 1; + p->pre_bit_count.stat[0].scale = FE_SCALE_COUNTER; + p->pre_bit_count.stat[0].uvalue = d; + return 0; +} + static int stv090x_read_status(struct dvb_frontend *fe, enum fe_status *status) { struct stv090x_state *state = fe->demodulator_priv; @@ -3494,15 +3531,17 @@ static int stv090x_read_status(struct dvb_frontend *fe, enum fe_status *status) reg = STV090x_READ_DEMOD(state, DMDSTATE); search_state = STV090x_GETFIELD_Px(reg, HEADER_MODE_FIELD); - + switch (search_state) { case 0: /* searching */ case 1: /* first PLH detected */ default: dprintk(FE_DEBUG, 1, "Status: Unlocked (Searching ..)"); + state->rec_mode = 0; break; case 2: /* DVB-S2 mode */ + state->rec_mode = 2; dprintk(FE_DEBUG, 1, "Delivery system: DVB-S2"); if (STV090x_GETFIELD_Px(dstatus, LOCK_DEFINITIF_FIELD)) { reg = STV090x_READ_DEMOD(state, PDELSTATUS1); @@ -3516,6 +3555,7 @@ static int stv090x_read_status(struct dvb_frontend *fe, enum fe_status *status) break; case 3: /* DVB-S1/legacy mode */ + state->rec_mode = 1; dprintk(FE_DEBUG, 1, "Delivery system: DVB-S"); if (STV090x_GETFIELD_Px(dstatus, LOCK_DEFINITIF_FIELD)) { reg = STV090x_READ_DEMOD(state, VSTATUSVIT); @@ -3529,12 +3569,22 @@ static int stv090x_read_status(struct dvb_frontend *fe, enum fe_status *status) break; } + { + u16 val; + u32 ber; + + stv090x_read_cnr(fe, &val); + stv090x_read_signal_strength(fe, &val); + stv090x_ber_prop(fe, status); + } + return 0; } static int stv090x_read_ber(struct dvb_frontend *fe, u32 *ber) { struct stv090x_state *state = fe->demodulator_priv; + struct dtv_frontend_properties *p = &fe->dtv_property_cache; u32 reg, h, m, l; enum fe_status status; @@ -3650,6 +3700,7 @@ static int stv090x_table_lookup(const struct stv090x_tab *tab, int max, int val) static int stv090x_read_signal_strength(struct dvb_frontend *fe, u16 *strength) { struct stv090x_state *state = fe->demodulator_priv; + struct dtv_frontend_properties *p = &fe->dtv_property_cache; u32 reg; s32 agc_0, agc_1, agc; s32 str; @@ -3666,6 +3717,10 @@ static int stv090x_read_signal_strength(struct dvb_frontend *fe, u16 *strength) str = 0; else if (agc < stv090x_rf_tab[ARRAY_SIZE(stv090x_rf_tab) - 1].read) str = -100; + + p->strength.len = 1; + p->strength.stat[0].scale = FE_SCALE_DECIBEL; + p->strength.stat[0].uvalue = 1000 * (s64) (s32) str; #ifdef DBVALS *strength = str; #else @@ -3694,13 +3749,13 @@ static int stv090x_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks) static int stv090x_read_cnr(struct dvb_frontend *fe, u16 *cnr) { struct stv090x_state *state = fe->demodulator_priv; + struct dtv_frontend_properties *p = &fe->dtv_property_cache; u32 reg_0, reg_1, reg, i; s32 val_0, val_1, val = 0; u8 lock_f; -#ifndef DBVALS + s32 cnr_db; s32 div; u32 last; -#endif switch (state->delsys) { case STV090x_DVBS2: @@ -3717,21 +3772,16 @@ static int stv090x_read_cnr(struct dvb_frontend *fe, u16 *cnr) msleep(1); } val /= 16; -#ifdef DBVALS - *cnr = stv090x_table_lookup(stv090x_s2cn_tab, - ARRAY_SIZE(stv090x_s2cn_tab) - 1, val); -#else + cnr_db = stv090x_table_lookup(stv090x_s2cn_tab, + ARRAY_SIZE(stv090x_s2cn_tab) - 1, val); last = ARRAY_SIZE(stv090x_s2cn_tab) - 1; div = stv090x_s2cn_tab[0].read - stv090x_s2cn_tab[last].read; *cnr = 0xFFFF - ((val * 0xFFFF) / div); -#endif - } else -#ifdef DBVALS - *cnr = -30; -#else + } else { + cnr_db = -30; *cnr = 0; -#endif + } break; case STV090x_DVBS1: @@ -3749,22 +3799,27 @@ static int stv090x_read_cnr(struct dvb_frontend *fe, u16 *cnr) msleep(1); } val /= 16; -#ifdef DBVALS - *cnr = stv090x_table_lookup(stv090x_s1cn_tab, - ARRAY_SIZE(stv090x_s1cn_tab) - 1, val); -#else + cnr_db = stv090x_table_lookup(stv090x_s1cn_tab, + ARRAY_SIZE(stv090x_s1cn_tab) - 1, val); last = ARRAY_SIZE(stv090x_s1cn_tab) - 1; div = stv090x_s1cn_tab[0].read - stv090x_s1cn_tab[last].read; *cnr = 0xFFFF - ((val * 0xFFFF) / div); -#endif - } else + } else { + cnr_db = -30; *cnr = 0; + } break; default: break; } +#ifdef DBVALS + *cnr = cnr_db; +#endif + p->cnr.len = 1; + p->cnr.stat[0].scale = FE_SCALE_DECIBEL; + p->cnr.stat[0].uvalue = 100 * (s64) cnr_db; return 0; } @@ -4816,6 +4871,69 @@ int stv090x_set_gpio(struct dvb_frontend *fe, u8 gpio, u8 dir, u8 value, } EXPORT_SYMBOL(stv090x_set_gpio); +static int get_frontend(struct dvb_frontend *fe) +{ + struct stv090x_state *state = fe->demodulator_priv; + struct dtv_frontend_properties *p = &fe->dtv_property_cache; + u8 tmp; + u32 reg = 0; + + if (state->rec_mode == 2) { + u32 mc; + enum fe_modulation modcod2mod[0x20] = { + QPSK, QPSK, QPSK, QPSK, + QPSK, QPSK, QPSK, QPSK, + QPSK, QPSK, QPSK, QPSK, + PSK_8, PSK_8, PSK_8, PSK_8, + PSK_8, PSK_8, APSK_16, APSK_16, + APSK_16, APSK_16, APSK_16, APSK_16, + APSK_32, APSK_32, APSK_32, APSK_32, + APSK_32, + }; + enum fe_code_rate modcod2fec[0x20] = { + FEC_NONE, FEC_1_4, FEC_1_3, FEC_2_5, + FEC_1_2, FEC_3_5, FEC_2_3, FEC_3_4, + FEC_4_5, FEC_5_6, FEC_8_9, FEC_9_10, + FEC_3_5, FEC_2_3, FEC_3_4, FEC_5_6, + FEC_8_9, FEC_9_10, FEC_2_3, FEC_3_4, + FEC_4_5, FEC_5_6, FEC_8_9, FEC_9_10, + FEC_3_4, FEC_4_5, FEC_5_6, FEC_8_9, + FEC_9_10 + }; + mc = state->modcod; + p->pilot = (state->pilots & 0x01) ? PILOT_ON : PILOT_OFF; + p->modulation = modcod2mod[mc]; + p->fec_inner = modcod2fec[mc]; + } else if (state->rec_mode == 1) { + reg = STV090x_READ_DEMOD(state, VITCURPUN); + switch( reg & 0x1F ) { + case 0x0d: + p->fec_inner = FEC_1_2; + break; + case 0x12: + p->fec_inner = FEC_2_3; + break; + case 0x15: + p->fec_inner = FEC_3_4; + break; + case 0x18: + p->fec_inner = FEC_5_6; + break; + case 0x1a: + p->fec_inner = FEC_7_8; + break; + default: + p->fec_inner = FEC_NONE; + break; + } + p->rolloff = ROLLOFF_35; + } else { + + } + + return 0; +} + static struct dvb_frontend_ops stv090x_ops = { #ifndef USE_API3 .delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS }, @@ -4842,6 +4960,7 @@ static struct dvb_frontend_ops stv090x_ops = { .sleep = stv090x_sleep, .get_frontend_algo = stv090x_frontend_algo, + .get_frontend = get_frontend, .diseqc_send_master_cmd = stv090x_send_diseqc_msg, .diseqc_send_burst = stv090x_send_diseqc_burst, @@ -4920,6 +5039,8 @@ struct dvb_frontend *stv090x_attach(const struct stv090x_config *config, demod, state->internal->dev_ver); + printk("STV0900 version 0x%02x\n", state->internal->dev_ver); + return &state->frontend; err_remove: diff --git a/frontends/stv090x_priv.h b/frontends/stv090x_priv.h index 5b780c8..8c1953f 100644 --- a/frontends/stv090x_priv.h +++ b/frontends/stv090x_priv.h @@ -274,6 +274,7 @@ struct stv090x_state { s32 DemodTimeout; s32 FecTimeout; + u32 rec_mode; }; #endif /* __STV090x_PRIV_H */ From f2091a50df429b5b0b6db94205bd684df95bfcc5 Mon Sep 17 00:00:00 2001 From: mvoelkel Date: Thu, 7 Jul 2016 17:47:34 +0200 Subject: [PATCH 3/4] Revert "adapt to latest windows driver version" This reverts commit 6b73faeee56da38ce46af3d7752da422cf3d38f9. --- frontends/stv0910.c | 403 ++-------- frontends/stv0910_regs.h | 1598 ++++++++++---------------------------- 2 files changed, 482 insertions(+), 1519 deletions(-) diff --git a/frontends/stv0910.c b/frontends/stv0910.c index 8165da9..a7052dc 100644 --- a/frontends/stv0910.c +++ b/frontends/stv0910.c @@ -1,7 +1,7 @@ /* * Driver for the ST STV0910 DVB-S/S2 demodulator. * - * Copyright (C) 2014-2016 Ralph Metzler + * Copyright (C) 2014-2015 Ralph Metzler * Marcus Metzler * developed for Digital Devices GmbH * @@ -38,7 +38,6 @@ #include "stv0910_regs.h" -#define EXT_CLOCK 30000000 #define TUNING_DELAY 200 #define BER_SRC_S 0x20 #define BER_SRC_S2 0x20 @@ -124,19 +123,9 @@ struct stv { u32 Pilots; enum FE_STV0910_RollOff FERollOff; - int isStandardBroadcast; - int isVCM; - - u32 CurScramblingCode; - u32 ForceScramblingCode; - u32 ScramblingCode; - u32 DefaultInputStreamID; - u32 LastBERNumerator; u32 LastBERDenominator; u8 BERScale; - - u8 VTH[6]; }; struct SInitTable { @@ -204,19 +193,6 @@ static int read_regs(struct stv *state, u16 reg, u8 *val, int len) reg, val, len); } -static int write_shared_reg(struct stv *state, u16 reg, u8 mask, u8 val) -{ - int status; - u8 tmp; - - mutex_lock(&state->base->reg_lock); - status = read_reg(state, reg, &tmp); - if (!status) - status = write_reg(state, reg, (tmp & ~mask) | (val & mask)); - mutex_unlock(&state->base->reg_lock); - return status; -} - struct SLookup S1_SN_Lookup[] = { { 0, 9242 }, /*C/N= 0dB*/ { 05, 9105 }, /*C/N=0.5dB*/ @@ -476,45 +452,24 @@ static int GetCurSymbolRate(struct stv *state, u32 *pSymbolRate) static int GetSignalParameters(struct stv *state) { - u8 tmp; - if (!state->Started) return -1; - + if (state->ReceiveMode == Mode_DVBS2) { + u8 tmp; + u8 rolloff; + read_reg(state, RSTV0910_P2_DMDMODCOD + state->regoff, &tmp); state->ModCod = (enum FE_STV0910_ModCod) ((tmp & 0x7c) >> 2); state->Pilots = (tmp & 0x01) != 0; state->FECType = (enum DVBS2_FECType) ((tmp & 0x02) >> 1); -#if 0 read_reg(state, RSTV0910_P2_TMGOBS + state->regoff, &rolloff); rolloff = rolloff >> 6; state->FERollOff = (enum FE_STV0910_RollOff) rolloff; -#endif + } else if (state->ReceiveMode == Mode_DVBS) { - read_reg(state, RSTV0910_P2_VITCURPUN + state->regoff, &tmp); - state->PunctureRate = FEC_NONE; - switch (tmp & 0x1F) { - case 0x0d: - state->PunctureRate = FEC_1_2; - break; - case 0x12: - state->PunctureRate = FEC_2_3; - break; - case 0x15: - state->PunctureRate = FEC_3_4; - break; - case 0x18: - state->PunctureRate = FEC_5_6; - break; - case 0x1A: - state->PunctureRate = FEC_7_8; - break; - } - state->isVCM = 0; - state->isStandardBroadcast = 1; - state->FERollOff = FE_SAT_35; + /* todo */ } return 0; } @@ -530,20 +485,18 @@ static int TrackingOptimization(struct stv *state) switch (state->ReceiveMode) { case Mode_DVBS: - tmp |= 0x40; - break; + tmp |= 0x40; break; case Mode_DVBS2: - tmp |= 0x80; - break; + tmp |= 0x80; break; default: - tmp |= 0xC0; - break; + tmp |= 0xC0; break; } write_reg(state, RSTV0910_P2_DMDCFGMD + state->regoff, tmp); if (state->ReceiveMode == Mode_DVBS2) { - /*Disable Reed-Solomon */ - write_shared_reg(state, RSTV0910_TSTTSRS, state->nr ? 0x02 : 0x01, 0x03); + /* force to PRE BCH Rate */ + write_reg(state, RSTV0910_P2_ERRCTRL1 + state->regoff, + BER_SRC_S2 | state->BERScale); if (state->FECType == DVBS2_64K) { u8 aclc = get_optim_cloop(state, state->ModCod, @@ -570,6 +523,29 @@ static int TrackingOptimization(struct stv *state) } } } + if (state->ReceiveMode == Mode_DVBS) { + u8 tmp; + + read_reg(state, RSTV0910_P2_VITCURPUN + state->regoff, &tmp); + state->PunctureRate = FEC_NONE; + switch (tmp & 0x1F) { + case 0x0d: + state->PunctureRate = FEC_1_2; + break; + case 0x12: + state->PunctureRate = FEC_2_3; + break; + case 0x15: + state->PunctureRate = FEC_3_4; + break; + case 0x18: + state->PunctureRate = FEC_5_6; + break; + case 0x1A: + state->PunctureRate = FEC_7_8; + break; + } + } return 0; } @@ -582,7 +558,7 @@ static s32 TableLookup(struct SLookup *Table, int i; s32 RegDiff; - /* Assumes Table[0].RegValue > Table[imax].RegValue */ + // Assumes Table[0].RegValue > Table[imax].RegValue if( RegValue >= Table[0].RegValue ) Value = Table[0].Value; else if( RegValue <= Table[imax].RegValue ) @@ -710,12 +686,11 @@ static u32 DVBS2_nBCH(enum DVBS2_ModCod ModCod, enum DVBS2_FECType FECType) return 64800; } -static int GetBitErrorRateS2(struct stv *state, - u32 *BERNumerator, +static int GetBitErrorRateS2(struct stv *state, u32 *BERNumerator, u32 *BERDenominator) { u8 Regs[3]; - + int status = read_regs(state, RSTV0910_P2_ERRCNT12 + state->regoff, Regs, 3); @@ -853,119 +828,12 @@ static int Stop(struct stv *state) } -static int init_search_param(struct stv *state) -{ - u8 tmp; - - read_reg(state, RSTV0910_P2_PDELCTRL1 + state->regoff, &tmp); - tmp |= 0x20; // Filter_en (no effect if SIS=non-MIS - write_reg(state, RSTV0910_P2_PDELCTRL1 + state->regoff, tmp); - - read_reg(state, RSTV0910_P2_PDELCTRL2 + state->regoff, &tmp); - tmp &= ~0x02; // frame mode = 0 - write_reg(state, RSTV0910_P2_PDELCTRL2 + state->regoff, tmp); - - write_reg(state, RSTV0910_P2_UPLCCST0 + state->regoff, 0xe0); - write_reg(state, RSTV0910_P2_ISIBITENA + state->regoff, 0x00); - - read_reg(state, RSTV0910_P2_TSSTATEM + state->regoff, &tmp); - tmp &= ~0x01; // nosync = 0, in case next signal is standard TS - write_reg(state, RSTV0910_P2_TSSTATEM + state->regoff, tmp); - - read_reg(state, RSTV0910_P2_TSCFGL + state->regoff, &tmp); - tmp &= ~0x04; // embindvb = 0 - write_reg(state, RSTV0910_P2_TSCFGL + state->regoff, tmp); - - read_reg(state, RSTV0910_P2_TSINSDELH + state->regoff, &tmp); - tmp &= ~0x80; // syncbyte = 0 - write_reg(state, RSTV0910_P2_TSINSDELH + state->regoff, tmp); - - read_reg(state, RSTV0910_P2_TSINSDELM + state->regoff, &tmp); - tmp &= ~0x08; // token = 0 - write_reg(state, RSTV0910_P2_TSINSDELM + state->regoff, tmp); - - read_reg(state, RSTV0910_P2_TSDLYSET2 + state->regoff, &tmp); - tmp &= ~0x30; // hysteresis threshold = 0 - write_reg(state, RSTV0910_P2_TSDLYSET2 + state->regoff, tmp); - - read_reg(state, RSTV0910_P2_PDELCTRL0 + state->regoff, &tmp); - tmp = (tmp & ~0x30) | 0x10; // isi obs mode = 1, observe min ISI - write_reg(state, RSTV0910_P2_PDELCTRL0 + state->regoff, tmp); - - return 0; -} - -static int EnablePunctureRate(struct stv *state, enum fe_code_rate rate) -{ - switch(rate) { - case FEC_1_2: - return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x01); - case FEC_2_3: - return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x02); - case FEC_3_4: - return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x04); - case FEC_5_6: - return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x08); - case FEC_7_8: - return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x20); - case FEC_NONE: - default: - return write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x2f); - } -} - -static int set_vth_default(struct stv *state) -{ - state->VTH[0] = 0xd7; - state->VTH[1] = 0x85; - state->VTH[2] = 0x58; - state->VTH[3] = 0x3a; - state->VTH[4] = 0x34; - state->VTH[5] = 0x28; - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 0, state->VTH[0]); - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 1, state->VTH[1]); - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 2, state->VTH[2]); - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 3, state->VTH[3]); - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 4, state->VTH[4]); - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 5, state->VTH[5]); - return 0; -} - -static int set_vth(struct stv *state) -{ - static struct SLookup VTHLookupTable[] = { - {250, 8780}, /*C/N=1.5dB*/ - {100, 7405}, /*C/N=4.5dB*/ - {40, 6330}, /*C/N=6.5dB*/ - {12, 5224}, /*C/N=8.5dB*/ - {5, 4236} /*C/N=10.5dB*/ - }; - int i; - u8 tmp[2]; - int status = read_regs(state, RSTV0910_P2_NNOSDATAT1 + state->regoff, tmp, 2); - u16 RegValue = (tmp[0] << 8) | tmp[1]; - s32 vth = TableLookup(VTHLookupTable, ARRAY_SIZE(VTHLookupTable), RegValue); - - for (i = 0; i < 6; i += 1) - if (state->VTH[i] > vth) - state->VTH[i] = vth; - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 0, state->VTH[0]); - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 1, state->VTH[1]); - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 2, state->VTH[2]); - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 3, state->VTH[3]); - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 4, state->VTH[4]); - write_reg(state, RSTV0910_P2_VTH12 + state->regoff + 5, state->VTH[5]); - return status; -} - static int Start(struct stv *state, struct dtv_frontend_properties *p) { s32 Freq; u8 regDMDCFGMD; u16 symb; - u32 ScramblingCode; - u32 InputStreamID; - + if (p->symbol_rate < 100000 || p->symbol_rate > 70000000) return -EINVAL; @@ -976,26 +844,6 @@ static int Start(struct stv *state, struct dtv_frontend_properties *p) if (state->Started) write_reg(state, RSTV0910_P2_DMDISTATE + state->regoff, 0x5C); - init_search_param(state); - -#if 0 - if (state->ForceScramblingCode != (u32) (-1) ) - state->ScramblingCode = state->ForceScramblingCode; - ScramblingCode = (state->ScramblingCode & 0xFF800000 ) ? DD_PLS_DEFAULT_ROOT : state->ScramblingCode; - - if (ScramblingCode != state->CurScramblingCode) { - write_reg(state, RSTV0910_P2_PLROOT0 + state->regoff, ScramblingCode & 0xff); - write_reg(state, RSTV0910_P2_PLROOT1 + state->regoff, (ScramblingCode >> 8) & 0xff); - write_reg(state, RSTV0910_P2_PLROOT2 + state->regoff, (ScramblingCode >> 16) & 0xff); - state->CurScramblingCode = ScramblingCode; - } - - InputStreamID = (p->stream_id != (u32) -1) ? p->stream_id : state->DefaultInputStreamID; - if (InputStreamID != (u32) -1) { - write_reg(state, RSTV0910_P2_ISIENTRY + state->regoff, InputStreamID & 0xff); - write_reg(state, RSTV0910_P2_ISIBITENA + state->regoff, 0xff); - } -#endif if (p->symbol_rate <= 1000000) { /*SR <=1Msps*/ state->DemodTimeout = 3000; state->FecTimeout = 2000; @@ -1004,7 +852,7 @@ static int Start(struct stv *state, struct dtv_frontend_properties *p) state->FecTimeout = 1300; } else if (p->symbol_rate <= 5000000) { /*2Msps< SR <=5Msps*/ state->DemodTimeout = 1000; - state->FecTimeout = 650; + state->FecTimeout = 650; } else if (p->symbol_rate <= 10000000) { /*5Msps< SR <=10Msps*/ state->DemodTimeout = 700; state->FecTimeout = 350; @@ -1031,43 +879,25 @@ static int Start(struct stv *state, struct dtv_frontend_properties *p) read_reg(state, RSTV0910_P2_DMDCFGMD + state->regoff, ®DMDCFGMD); write_reg(state, RSTV0910_P2_DMDCFGMD + state->regoff, regDMDCFGMD |= 0xC0); - write_shared_reg(state, RSTV0910_TSTTSRS, state->nr ? 0x02 : 0x01, 0x00); - + /* Disable DSS */ write_reg(state, RSTV0910_P2_FECM + state->regoff, 0x00); write_reg(state, RSTV0910_P2_PRVIT + state->regoff, 0x2F); - EnablePunctureRate(state, FEC_NONE); - /* 8PSK 3/5, 8PSK 2/3 Poff tracking optimization WA*/ write_reg(state, RSTV0910_P2_ACLC2S2Q + state->regoff, 0x0B); write_reg(state, RSTV0910_P2_ACLC2S28 + state->regoff, 0x0A); write_reg(state, RSTV0910_P2_BCLC2S2Q + state->regoff, 0x84); write_reg(state, RSTV0910_P2_BCLC2S28 + state->regoff, 0x84); write_reg(state, RSTV0910_P2_CARHDR + state->regoff, 0x1C); - write_reg(state, RSTV0910_P2_CARFREQ + state->regoff, 0x79); - - write_reg(state, RSTV0910_P2_ACLC2S216A + state->regoff, 0x29); - write_reg(state, RSTV0910_P2_ACLC2S232A + state->regoff, 0x09); - write_reg(state, RSTV0910_P2_BCLC2S216A + state->regoff, 0x84); - write_reg(state, RSTV0910_P2_BCLC2S232A + state->regoff, 0x84); - - /* Reset CAR3, bug DVBS2->DVBS1 lock*/ - /* Note: The bit is only pulsed -> no lock on shared register needed */ - write_reg(state, RSTV0910_TSTRES0, state->nr ? 0x04 : 0x08); - write_reg(state, RSTV0910_TSTRES0, 0); - - set_vth_default(state); - - /* Reset demod */ + /* Reset demod */ write_reg(state, RSTV0910_P2_DMDISTATE + state->regoff, 0x1F); write_reg(state, RSTV0910_P2_CARCFG + state->regoff, 0x46); + Freq = (state->SearchRange / 2000) + 600; if (p->symbol_rate <= 5000000) - Freq = (state->SearchRange / 2000) + 80; - else - Freq = (state->SearchRange / 2000) + 1600; + Freq -= (600 + 80); Freq = (Freq << 16) / (state->base->mclk / 1000); write_reg(state, RSTV0910_P2_CFRUP1 + state->regoff, @@ -1125,29 +955,19 @@ static int probe(struct stv *state) /* Configure the I2C repeater to off */ write_reg(state, RSTV0910_P2_I2CRPT, 0x24); /* Set the I2C to oversampling ratio */ - write_reg(state, RSTV0910_I2CCFG, 0x88); /* state->i2ccfg */ + write_reg(state, RSTV0910_I2CCFG, 0x88); write_reg(state, RSTV0910_OUTCFG, 0x00); /* OUTCFG */ - write_reg(state, RSTV0910_PADCFG, 0x05); /* RFAGC Pads Dev = 05 */ + write_reg(state, RSTV0910_PADCFG, 0x05); /* RF AGC Pads Dev = 05 */ write_reg(state, RSTV0910_SYNTCTRL, 0x02); /* SYNTCTRL */ write_reg(state, RSTV0910_TSGENERAL, state->tsgeneral); /* TSGENERAL */ write_reg(state, RSTV0910_CFGEXT, 0x02); /* CFGEXT */ write_reg(state, RSTV0910_GENCFG, 0x15); /* GENCFG */ - write_reg(state, RSTV0910_P1_CAR3CFG, 0x02); - write_reg(state, RSTV0910_P2_CAR3CFG, 0x02); - write_reg(state, RSTV0910_P1_DMDCFG4, 0x04); - write_reg(state, RSTV0910_P2_DMDCFG4, 0x04); - + write_reg(state, RSTV0910_TSTRES0, 0x80); /* LDPC Reset */ write_reg(state, RSTV0910_TSTRES0, 0x00); - write_reg(state, RSTV0910_P1_TSPIDFLT1, 0x00); - write_reg(state, RSTV0910_P2_TSPIDFLT1, 0x00); - - write_reg(state, RSTV0910_P1_TMGCFG2, 0x80); - write_reg(state, RSTV0910_P2_TMGCFG2, 0x80); - set_mclock(state, 135000000); /* TS output */ @@ -1234,31 +1054,12 @@ static int set_parameters(struct dvb_frontend *fe) return stat; } -static int get_frequency_offset(struct stv *state, s32 *off) -{ - u8 cfr0, cfr1, cfr2; - s32 derot; - - read_reg(state, RSTV0910_P2_CFR2 + state->regoff, &cfr2); - read_reg(state, RSTV0910_P2_CFR1 + state->regoff, &cfr1); - read_reg(state, RSTV0910_P2_CFR0 + state->regoff, &cfr0); - - derot = ((u32) cfr2 << 16) | ((u32)cfr1 << 8) | cfr0; - if (derot & (1<<23)) - derot |= 0xFF000000; - *off = - (s32) (((s64) derot * (s64) state->base->mclk) >> 24); - pr_info("foff = %d\n", *off); - return 0; -} - - static int get_frontend(struct dvb_frontend *fe) { struct stv *state = fe->demodulator_priv; struct dtv_frontend_properties *p = &fe->dtv_property_cache; u8 tmp; - if (state->ReceiveMode == Mode_DVBS2) { u32 mc; enum fe_modulation modcod2mod[0x20] = { @@ -1317,28 +1118,6 @@ static int get_frontend(struct dvb_frontend *fe) } -static int ManageMatypeInfo(struct stv *state) -{ - if (!state->Started) - return -1; - if (state->ReceiveMode == Mode_DVBS2 ) { - u8 BBHeader[2]; - - read_regs(state, RSTV0910_P2_MATSTR1 + state->regoff, - BBHeader, 2); - state->FERollOff = - (enum FE_STV0910_RollOff) (BBHeader[0] & 0x03); - state->isVCM = (BBHeader[0] & 0x10) == 0; - state->isStandardBroadcast = (BBHeader[0] & 0xFC) == 0xF0; - } else if (state->ReceiveMode == Mode_DVBS) { - state->isVCM = 0; - state->isStandardBroadcast = 1; - state->FERollOff = FE_SAT_35; - } - return 0; -} - - static int read_snr(struct dvb_frontend *fe, u16 *snr); static int read_signal_strength(struct dvb_frontend *fe, u16 *strength); static int read_ber(struct dvb_frontend *fe, u32 *ber); @@ -1353,9 +1132,6 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) u32 FECLock = 0; u16 val; u32 ber; - s32 foff; - - get_frequency_offset(state, &foff); read_signal_strength(fe, &val); @@ -1364,42 +1140,24 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) read_ber(fe, &ber); read_reg(state, RSTV0910_P2_DMDSTATE + state->regoff, &DmdState); + if (DmdState & 0x40) { - read_reg(state, RSTV0910_P2_DSTATUS + state->regoff, - &DStatus); + read_reg(state, RSTV0910_P2_DSTATUS + state->regoff, &DStatus); if (DStatus & 0x08) CurReceiveMode = (DmdState & 0x20) ? Mode_DVBS : Mode_DVBS2; } if (CurReceiveMode == Mode_None) { - set_vth(state); - //if( Time >= m_DemodTimeout ) *pLockStatus = NEVER_LOCK; *status = 0; return 0; } + *status |= 0x0f; if (state->ReceiveMode == Mode_None) { state->ReceiveMode = CurReceiveMode; state->DemodLockTime = jiffies; state->FirstTimeLock = 1; - GetSignalParameters(state); - TrackingOptimization(state); - -#if 0 - if( CurReceiveMode == Mode_DVBS2 && m_bPilots - && ( m_ModCod == FE_8PSK_23 || m_ModCod == FE_8PSK_35) ) - { - LONG C_N; - CHK_ERROR(GetSignalToNoise(&C_N)); - if( C_N < 80 ) - { - CHK_ERROR(WriteReg(RSTV0910_P2_CARHDR + m_DemodOffset , 0x04)); - CHK_ERROR(WriteReg(RSTV0910_P2_BCLC2S28 + m_DemodOffset , 0x31)); - } - } -#endif - write_reg(state, RSTV0910_P2_TSCFGH + state->regoff, state->tscfgh); usleep_range(3000, 4000); @@ -1425,7 +1183,6 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) } if (!FECLock) - //if( Time >= m_DemodLockTime + m_FecTimeout ) *pLockStatus = NEVER_LOCK; return 0; *status |= 0x10; @@ -1434,23 +1191,10 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) u8 tmp; state->FirstTimeLock = 0; + GetSignalParameters(state); - ManageMatypeInfo(state); - -#if 0 - ULONG Bitrate; - CSTV0910::GetBitrate(&Bitrate); - BYTE newTSSPEED = (Bitrate > 67000000) ? 0x30 : 0x40; - if (newTSSPEED != m_TSSPEED) - { - KdPrintEx((MSG_INFO "_%d " __FUNCTION__ " TSSPEED = %02X\n", m_Instance, newTSSPEED)); - CHK_ERROR(WriteReg(RSTV0910_P2_TSSPEED + m_DemodOffset, newTSSPEED)); - m_TSSPEED = newTSSPEED; - } - -#endif - if (state->ReceiveMode == Mode_DVBS2) { - /* FSTV0910_P2_MANUALSX_ROLLOFF, + if (state->ReceiveMode == Mode_DVBS2) { + /* FSTV0910_P2_MANUALSX_ROLLOFF, FSTV0910_P2_MANUALS2_ROLLOFF = 0 */ state->DEMOD &= ~0x84; write_reg(state, RSTV0910_P2_DEMOD + state->regoff, @@ -1459,13 +1203,11 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) &tmp); /*reset DVBS2 packet delinator error counter */ tmp |= 0x40; - write_reg(state, RSTV0910_P2_PDELCTRL2 + - state->regoff, + write_reg(state, RSTV0910_P2_PDELCTRL2 + state->regoff, tmp); /*reset DVBS2 packet delinator error counter */ tmp &= ~0x40; - write_reg(state, RSTV0910_P2_PDELCTRL2 + - state->regoff, + write_reg(state, RSTV0910_P2_PDELCTRL2 + state->regoff, tmp); state->BERScale = 2; @@ -1488,25 +1230,8 @@ static int read_status(struct dvb_frontend *fe, fe_status_t *status) infinit error count mode )*/ write_reg(state, RSTV0910_P2_ERRCTRL2 + state->regoff, 0xc1); - set_vth_default(state); - if (state->ReceiveMode == Mode_DVBS) - EnablePunctureRate(state, state->PunctureRate); + TrackingOptimization(state); } - -#if 0 - if( m_isVCM ) - { - // Use highest signaled ModCod for quality - BYTE tmp; - CHK_ERROR(ReadReg(RSTV0910_P2_DMDMODCOD + - m_DemodOffset,&tmp)); - FE_STV0910_ModCod ModCod = - FE_STV0910_ModCod((tmp & 0x7c) >> 2); - - if( ModCod > m_ModCod ) - m_ModCod = ModCod; - } -#endif return 0; } @@ -1714,21 +1439,24 @@ static int read_signal_strength(struct dvb_frontend *fe, u16 *strength) { struct stv *state = fe->demodulator_priv; struct dtv_frontend_properties *p = &fe->dtv_property_cache; + u8 Agc1, Agc0; u8 Reg[2]; s32 bbgain; s32 Power = 0; int i; read_regs(state, RSTV0910_P2_AGCIQIN1 + state->regoff, Reg, 2); + //KdPrintEx((MSG_INFO "_%d " __FUNCTION__ " AGCIQIN1 = %02x%02x\n",m_Instance,Reg[0],Reg[1])); + *strength = (((u32) Reg[0]) << 8) | Reg[1]; for (i = 0; i < 5; i += 1) { read_regs(state, RSTV0910_P2_POWERI + state->regoff, Reg, 2); - Power += (u32) Reg[0] * (u32) Reg[0] + - (u32) Reg[1] * (u32) Reg[1]; + Power += (u32) Reg[0] * (u32) Reg[0] + (u32) Reg[1] * (u32) Reg[1]; msleep(3); } Power /= 5; + bbgain = (465 - Log10x100(Power)) * 10; if (fe->ops.tuner_ops.get_rf_strength) @@ -1736,7 +1464,7 @@ static int read_signal_strength(struct dvb_frontend *fe, u16 *strength) else *strength = 0; - //printk("pwr = %d bb = %d str = %u\n", Power, bbgain, *strength); + printk("pwr = %d bb = %d str = %u\n", Power, bbgain, *strength); if (bbgain < (s32) *strength) *strength -= bbgain; else @@ -1822,9 +1550,6 @@ struct dvb_frontend *stv0910_attach(struct i2c_adapter *i2c, state->SearchRange = 16000000; state->DEMOD = 0x10; /* Inversion : Auto with reset to 0 */ state->ReceiveMode = Mode_None; - state->CurScramblingCode = (u32) -1; - state->ForceScramblingCode = (u32) -1; - state->DefaultInputStreamID = (u32) -1; base = match_base(i2c, cfg->adr); if (base) { @@ -1861,5 +1586,5 @@ fail: EXPORT_SYMBOL_GPL(stv0910_attach); MODULE_DESCRIPTION("STV0910 driver"); -MODULE_AUTHOR("Ralph und Marcus Metzler, Manfred Voelkel"); +MODULE_AUTHOR("Ralph Metzler, Manfred Voelkel"); MODULE_LICENSE("GPL"); diff --git a/frontends/stv0910_regs.h b/frontends/stv0910_regs.h index e921937..305f5da 100644 --- a/frontends/stv0910_regs.h +++ b/frontends/stv0910_regs.h @@ -2,7 +2,7 @@ // Author Manfred Völkel, August 2013 // (c) 2013 Digital Devices GmbH Germany. All rights reserved -// $Id: DD_STV0910Register.h 627 2015-11-23 11:51:14Z manfred $ +// $Id: DD_STV0910Register.h 504 2013-09-02 23:02:14Z manfred $ /* ======================================================================= -- Registers Declaration (Internal ST, All Applications ) @@ -51,6 +51,7 @@ /*OUTCFG*/ #define RSTV0910_OUTCFG 0xf11c +#define FSTV0910_INV_DATA6 0xf11c0080 #define FSTV0910_TS2_OUTSER_HZ 0xf11c0020 #define FSTV0910_TS1_OUTSER_HZ 0xf11c0010 #define FSTV0910_TS2_OUTPAR_HZ 0xf11c0008 @@ -92,7 +93,9 @@ #define FSTV0910_SDEMOD_LOCK_1 0xf1230040 #define FSTV0910_SDEMOD_IRQ_1 0xf1230020 #define FSTV0910_SBCH_ERRFLAG 0xf1230010 +#define FSTV0910_SECW2_IRQ 0xf1230008 #define FSTV0910_SDISEQC2_IRQ 0xf1230004 +#define FSTV0910_SECW1_IRQ 0xf1230002 #define FSTV0910_SDISEQC1_IRQ 0xf1230001 /*IRQMASK3*/ @@ -130,12 +133,18 @@ #define FSTV0910_MDEMOD_LOCK_1 0xf1270040 #define FSTV0910_MDEMOD_IRQ_1 0xf1270020 #define FSTV0910_MBCH_ERRFLAG 0xf1270010 +#define FSTV0910_MECW2_IRQ 0xf1270008 #define FSTV0910_MDISEQC2_IRQ 0xf1270004 +#define FSTV0910_MECW1_IRQ 0xf1270002 #define FSTV0910_MDISEQC1_IRQ 0xf1270001 /*I2CCFG*/ #define RSTV0910_I2CCFG 0xf129 +#define FSTV0910_I2C2_FASTMODE 0xf1290080 +#define FSTV0910_STATUS_WR2 0xf1290040 +#define FSTV0910_I2C2ADDR_INC 0xf1290030 #define FSTV0910_I2C_FASTMODE 0xf1290008 +#define FSTV0910_STATUS_WR 0xf1290004 #define FSTV0910_I2CADDR_INC 0xf1290003 /*P1_I2CRPT*/ @@ -451,6 +460,7 @@ /*PLLSTAT*/ #define RSTV0910_PLLSTAT 0xf1b8 +#define FSTV0910_PLL_BIST_END 0xf1b80004 #define FSTV0910_PLLLOCK 0xf1b80001 /*STOPCLK1*/ @@ -474,18 +484,29 @@ /*TSTTNR0*/ #define RSTV0910_TSTTNR0 0xf1df #define FSTV0910_FSK_PON 0xf1df0004 +#define FSTV0910_FSK_OPENLOOP 0xf1df0002 /*TSTTNR1*/ #define RSTV0910_TSTTNR1 0xf1e0 +#define FSTV0910_BYPASS_ADC1 0xf1e00080 +#define FSTV0910_INVADC1_CKOUT 0xf1e00040 +#define FSTV0910_SELIQSRC1 0xf1e00030 +#define FSTV0910_DEMOD2_SELADC 0xf1e00008 +#define FSTV0910_DEMOD1_SELADC 0xf1e00004 #define FSTV0910_ADC1_PON 0xf1e00002 /*TSTTNR2*/ #define RSTV0910_TSTTNR2 0xf1e1 +#define FSTV0910_I2C_DISEQC_BYPASS 0xf1e10080 +#define FSTV0910_I2C_DISEQC_ENCH 0xf1e10040 #define FSTV0910_I2C_DISEQC_PON 0xf1e10020 #define FSTV0910_DISEQC_CLKDIV 0xf1e1000f /*TSTTNR3*/ #define RSTV0910_TSTTNR3 0xf1e2 +#define FSTV0910_BYPASS_ADC2 0xf1e20080 +#define FSTV0910_INVADC2_CKOUT 0xf1e20040 +#define FSTV0910_SELIQSRC2 0xf1e20030 #define FSTV0910_ADC2_PON 0xf1e20002 /*P2_IQCONST*/ @@ -495,6 +516,8 @@ /*P2_NOSCFG*/ #define RSTV0910_P2_NOSCFG 0xf201 +#define FSTV0910_P2_DIS_ACMRATIO 0xf2010080 +#define FSTV0910_P2_NOSIN_EGALSEL 0xf2010040 #define FSTV0910_P2_DUMMYPL_NOSDATA 0xf2010020 #define FSTV0910_P2_NOSPLH_BETA 0xf2010018 #define FSTV0910_P2_NOSDATA_BETA 0xf2010007 @@ -515,10 +538,14 @@ #define FSTV0910_P2_AMM_CORRECT 0xf2040010 #define FSTV0910_P2_QUAD_FROZEN 0xf2040008 #define FSTV0910_P2_QUAD_CORRECT 0xf2040004 +#define FSTV0910_P2_DCCOMP_SLOW 0xf2040002 +#define FSTV0910_P2_IQMISM_SLOW 0xf2040001 /*P2_AGC1CN*/ #define RSTV0910_P2_AGC1CN 0xf206 #define FSTV0910_P2_AGC1_LOCKED 0xf2060080 +#define FSTV0910_P2_AGC1_OVERFLOW 0xf2060040 +#define FSTV0910_P2_AGC1_NOSLOWLK 0xf2060020 #define FSTV0910_P2_AGC1_MINPOWER 0xf2060010 #define FSTV0910_P2_AGCOUT_FAST 0xf2060008 #define FSTV0910_P2_AGCIQ_BETA 0xf2060007 @@ -576,12 +603,16 @@ #define RSTV0910_P2_DSTATUS 0xf212 #define FSTV0910_P2_CAR_LOCK 0xf2120080 #define FSTV0910_P2_TMGLOCK_QUALITY 0xf2120060 +#define FSTV0910_P2_SDVBS1_ENABLE 0xf2120010 #define FSTV0910_P2_LOCK_DEFINITIF 0xf2120008 +#define FSTV0910_P2_TIMING_IS_LOCKED 0xf2120004 +#define FSTV0910_P2_DEMOD_SYSCFG 0xf2120002 #define FSTV0910_P2_OVADC_DETECT 0xf2120001 /*P2_DSTATUS2*/ #define RSTV0910_P2_DSTATUS2 0xf213 #define FSTV0910_P2_DEMOD_DELOCK 0xf2130080 +#define FSTV0910_P2_DEMOD_TIMEOUT 0xf2130040 #define FSTV0910_P2_MODCODRQ_SYNCTAG 0xf2130020 #define FSTV0910_P2_POLYPH_SATEVENT 0xf2130010 #define FSTV0910_P2_AGC1_NOSIGNALACK 0xf2130008 @@ -595,16 +626,25 @@ #define FSTV0910_P2_DVBS1_ENABLE 0xf2140040 #define FSTV0910_P2_SCAN_ENABLE 0xf2140010 #define FSTV0910_P2_CFR_AUTOSCAN 0xf2140008 +#define FSTV0910_P2_NOFORCE_RELOCK 0xf2140004 #define FSTV0910_P2_TUN_RNG 0xf2140003 /*P2_DMDCFG2*/ #define RSTV0910_P2_DMDCFG2 0xf215 +#define FSTV0910_P2_AGC1_WAITLOCK 0xf2150080 #define FSTV0910_P2_S1S2_SEQUENTIAL 0xf2150040 +#define FSTV0910_P2_BLINDPEA_MODE 0xf2150020 #define FSTV0910_P2_INFINITE_RELOCK 0xf2150010 +#define FSTV0910_P2_BWOFFSET_COLDWARM 0xf2150008 +#define FSTV0910_P2_TMGLOCK_NSCANSTOP 0xf2150004 +#define FSTV0910_P2_COARSE_LK3MODE 0xf2150002 +#define FSTV0910_P2_COARSE_LK2MODE 0xf2150001 /*P2_DMDISTATE*/ #define RSTV0910_P2_DMDISTATE 0xf216 #define FSTV0910_P2_I2C_NORESETDMODE 0xf2160080 +#define FSTV0910_P2_FORCE_ETAPED 0xf2160040 +#define FSTV0910_P2_SDMDRST_DIRCLK 0xf2160020 #define FSTV0910_P2_I2C_DEMOD_MODE 0xf216001f /*P2_DMDT0M*/ @@ -613,7 +653,9 @@ /*P2_DMDSTATE*/ #define RSTV0910_P2_DMDSTATE 0xf21b +#define FSTV0910_P2_DEMOD_LOCKED 0xf21b0080 #define FSTV0910_P2_HEADER_MODE 0xf21b0060 +#define FSTV0910_P2_DEMOD_MODE 0xf21b001f /*P2_DMDFLYW*/ #define RSTV0910_P2_DMDFLYW 0xf21c @@ -625,15 +667,29 @@ #define FSTV0910_P2_CFR_ZIGZAG 0xf21d0080 #define FSTV0910_P2_DEMOD_CFGMODE 0xf21d0060 #define FSTV0910_P2_GAMMA_LOWBAUDRATE 0xf21d0010 +#define FSTV0910_P2_RELOCK_MODE 0xf21d0008 +#define FSTV0910_P2_DEMOD_FAIL 0xf21d0004 +#define FSTV0910_P2_ETAPE1A_DVBXMEM 0xf21d0003 /*P2_DMDCFG3*/ #define RSTV0910_P2_DMDCFG3 0xf21e +#define FSTV0910_P2_DVBS1_TMGWAIT 0xf21e0080 +#define FSTV0910_P2_NO_BWCENTERING 0xf21e0040 +#define FSTV0910_P2_INV_SEQSRCH 0xf21e0020 +#define FSTV0910_P2_DIS_SFRUPLOW_TRK 0xf21e0010 #define FSTV0910_P2_NOSTOP_FIFOFULL 0xf21e0008 +#define FSTV0910_P2_LOCKTIME_MODE 0xf21e0007 /*P2_DMDCFG4*/ #define RSTV0910_P2_DMDCFG4 0xf21f #define FSTV0910_P2_DIS_VITLOCK 0xf21f0080 +#define FSTV0910_P2_S1S2TOUT_FAST 0xf21f0040 +#define FSTV0910_P2_DEMOD_FASTLOCK 0xf21f0020 +#define FSTV0910_P2_S1HIER_ENABLE 0xf21f0010 +#define FSTV0910_P2_TUNER_NRELAUNCH 0xf21f0008 #define FSTV0910_P2_DIS_CLKENABLE 0xf21f0004 +#define FSTV0910_P2_DIS_HDRDIVLOCK 0xf21f0002 +#define FSTV0910_P2_NO_TNRWBINIT 0xf21f0001 /*P2_CORRELMANT*/ #define RSTV0910_P2_CORRELMANT 0xf220 @@ -656,45 +712,16 @@ /*P2_DMDREG*/ #define RSTV0910_P2_DMDREG 0xf225 +#define FSTV0910_P2_EXTPSK_MODE 0xf2250080 +#define FSTV0910_P2_HIER_SHORTFRAME 0xf2250002 #define FSTV0910_P2_DECIM_PLFRAMES 0xf2250001 -/*P2_AGCNADJ*/ -#define RSTV0910_P2_AGCNADJ 0xf226 -#define FSTV0910_P2_RADJOFF_AGC2 0xf2260080 -#define FSTV0910_P2_RADJOFF_AGC1 0xf2260040 -#define FSTV0910_P2_AGC_NADJ 0xf226013f - -/*P2_AGCKS*/ -#define RSTV0910_P2_AGCKS 0xf227 -#define FSTV0910_P2_RSADJ_MANUALCFG 0xf2270080 -#define FSTV0910_P2_RSADJ_CCMMODE 0xf2270040 -#define FSTV0910_P2_RADJ_SPSK 0xf227013f - -/*P2_AGCKQ*/ -#define RSTV0910_P2_AGCKQ 0xf228 -#define FSTV0910_P2_RADJON_DVBS1 0xf2280040 -#define FSTV0910_P2_RADJ_QPSK 0xf228013f - -/*P2_AGCK8*/ -#define RSTV0910_P2_AGCK8 0xf229 -#define FSTV0910_P2_RADJ_8PSK 0xf229013f - -/*P2_AGCK16*/ -#define RSTV0910_P2_AGCK16 0xf22a -#define FSTV0910_P2_R2ADJOFF_16APSK 0xf22a0040 -#define FSTV0910_P2_R1ADJOFF_16APSK 0xf22a0020 -#define FSTV0910_P2_RADJ_16APSK 0xf22a011f - -/*P2_AGCK32*/ -#define RSTV0910_P2_AGCK32 0xf22b -#define FSTV0910_P2_R3ADJOFF_32APSK 0xf22b0080 -#define FSTV0910_P2_R2ADJOFF_32APSK 0xf22b0040 -#define FSTV0910_P2_R1ADJOFF_32APSK 0xf22b0020 -#define FSTV0910_P2_RADJ_32APSK 0xf22b011f - /*P2_AGC2O*/ #define RSTV0910_P2_AGC2O 0xf22c #define FSTV0910_P2_CSTENV_MODE 0xf22c00c0 +#define FSTV0910_P2_AGC2_LKSQRT 0xf22c0020 +#define FSTV0910_P2_AGC2_LKMODE 0xf22c0010 +#define FSTV0910_P2_AGC2_LKEQUA 0xf22c0008 #define FSTV0910_P2_AGC2_COEF 0xf22c0007 /*P2_AGC2REF*/ @@ -703,36 +730,9 @@ /*P2_AGC1ADJ*/ #define RSTV0910_P2_AGC1ADJ 0xf22e +#define FSTV0910_P2_AGC1ADJ_MANUAL 0xf22e0080 #define FSTV0910_P2_AGC1_ADJUSTED 0xf22e007f -/*P2_AGCRSADJ*/ -#define RSTV0910_P2_AGCRSADJ 0xf22f -#define FSTV0910_P2_RS_ADJUSTED 0xf22f007f - -/*P2_AGCRQADJ*/ -#define RSTV0910_P2_AGCRQADJ 0xf230 -#define FSTV0910_P2_RQ_ADJUSTED 0xf230007f - -/*P2_AGCR8ADJ*/ -#define RSTV0910_P2_AGCR8ADJ 0xf231 -#define FSTV0910_P2_R8_ADJUSTED 0xf231007f - -/*P2_AGCR1ADJ*/ -#define RSTV0910_P2_AGCR1ADJ 0xf232 -#define FSTV0910_P2_R1_ADJUSTED 0xf232007f - -/*P2_AGCR2ADJ*/ -#define RSTV0910_P2_AGCR2ADJ 0xf233 -#define FSTV0910_P2_R2_ADJUSTED 0xf233007f - -/*P2_AGCR3ADJ*/ -#define RSTV0910_P2_AGCR3ADJ 0xf234 -#define FSTV0910_P2_R3_ADJUSTED 0xf234007f - -/*P2_AGCREFADJ*/ -#define RSTV0910_P2_AGCREFADJ 0xf235 -#define FSTV0910_P2_AGC2REF_ADJUSTED 0xf235007f - /*P2_AGC2I1*/ #define RSTV0910_P2_AGC2I1 0xf236 #define FSTV0910_P2_AGC2_INTEGRATOR1 0xf23600ff @@ -743,29 +743,26 @@ /*P2_CARCFG*/ #define RSTV0910_P2_CARCFG 0xf238 +#define FSTV0910_P2_CFRUPLOW_AUTO 0xf2380080 +#define FSTV0910_P2_CFRUPLOW_TEST 0xf2380040 +#define FSTV0910_P2_WIDE_FREQDET 0xf2380020 +#define FSTV0910_P2_CARHDR_NODIV8 0xf2380010 +#define FSTV0910_P2_I2C_ROTA 0xf2380008 #define FSTV0910_P2_ROTAON 0xf2380004 #define FSTV0910_P2_PH_DET_ALGO 0xf2380003 /*P2_ACLC*/ #define RSTV0910_P2_ACLC 0xf239 +#define FSTV0910_P2_CARS1_ANOSAUTO 0xf2390040 #define FSTV0910_P2_CAR_ALPHA_MANT 0xf2390030 #define FSTV0910_P2_CAR_ALPHA_EXP 0xf239000f /*P2_BCLC*/ #define RSTV0910_P2_BCLC 0xf23a +#define FSTV0910_P2_CARS1_BNOSAUTO 0xf23a0040 #define FSTV0910_P2_CAR_BETA_MANT 0xf23a0030 #define FSTV0910_P2_CAR_BETA_EXP 0xf23a000f -/*P2_ACLCS2*/ -#define RSTV0910_P2_ACLCS2 0xf23b -#define FSTV0910_P2_CARS2_APLHA_MANTISSE 0xf23b0030 -#define FSTV0910_P2_CARS2_ALPHA_EXP 0xf23b000f - -/*P2_BCLCS2*/ -#define RSTV0910_P2_BCLCS2 0xf23c -#define FSTV0910_P2_CARS2_BETA_MANTISSE 0xf23c0030 -#define FSTV0910_P2_CARS2_BETA_EXP 0xf23c000f - /*P2_CARFREQ*/ #define RSTV0910_P2_CARFREQ 0xf23d #define FSTV0910_P2_KC_COARSE_EXP 0xf23d00f0 @@ -785,6 +782,13 @@ /*P2_CFRICFG*/ #define RSTV0910_P2_CFRICFG 0xf241 +#define FSTV0910_P2_CFRINIT_UNVALRNG 0xf2410080 +#define FSTV0910_P2_CFRINIT_LUNVALCPT 0xf2410040 +#define FSTV0910_P2_CFRINIT_ABORTDBL 0xf2410020 +#define FSTV0910_P2_CFRINIT_ABORTPRED 0xf2410010 +#define FSTV0910_P2_CFRINIT_UNVALSKIP 0xf2410008 +#define FSTV0910_P2_CFRINIT_CSTINC 0xf2410004 +#define FSTV0910_P2_CFRIROLL_GARDER 0xf2410002 #define FSTV0910_P2_NEG_CFRSTEP 0xf2410001 /*P2_CFRUP1*/ @@ -848,6 +852,7 @@ #define RSTV0910_P2_TMGCFG 0xf250 #define FSTV0910_P2_TMGLOCK_BETA 0xf25000c0 #define FSTV0910_P2_DO_TIMING_CORR 0xf2500010 +#define FSTV0910_P2_MANUAL_SCAN 0xf250000c #define FSTV0910_P2_TMG_MINFREQ 0xf2500003 /*P2_RTC*/ @@ -891,7 +896,10 @@ /*P2_TMGCFG2*/ #define RSTV0910_P2_TMGCFG2 0xf25a +#define FSTV0910_P2_KREFTMG2_DECMODE 0xf25a00c0 #define FSTV0910_P2_DIS_AUTOSAMP 0xf25a0008 +#define FSTV0910_P2_SCANINIT_QUART 0xf25a0004 +#define FSTV0910_P2_NOTMG_DVBS1DERAT 0xf25a0002 #define FSTV0910_P2_SFRRATIO_FINE 0xf25a0001 /*P2_KREFTMG2*/ @@ -900,9 +908,11 @@ /*P2_TMGCFG3*/ #define RSTV0910_P2_TMGCFG3 0xf25d +#define FSTV0910_P2_CFRINC_MODE 0xf25d0070 #define FSTV0910_P2_CONT_TMGCENTER 0xf25d0008 #define FSTV0910_P2_AUTO_GUP 0xf25d0004 #define FSTV0910_P2_AUTO_GLOW 0xf25d0002 +#define FSTV0910_P2_SFRVAL_MINMODE 0xf25d0001 /*P2_SFRINIT1*/ #define RSTV0910_P2_SFRINIT1 0xf25e @@ -967,10 +977,16 @@ /*P2_TMGOBS*/ #define RSTV0910_P2_TMGOBS 0xf26d #define FSTV0910_P2_ROLLOFF_STATUS 0xf26d00c0 +#define FSTV0910_P2_SCAN_SIGN 0xf26d0030 +#define FSTV0910_P2_TMG_SCANNING 0xf26d0008 +#define FSTV0910_P2_CHCENTERING_MODE 0xf26d0004 +#define FSTV0910_P2_TMG_SCANFAIL 0xf26d0002 /*P2_EQUALCFG*/ #define RSTV0910_P2_EQUALCFG 0xf26f +#define FSTV0910_P2_NOTMG_NEGALWAIT 0xf26f0080 #define FSTV0910_P2_EQUAL_ON 0xf26f0040 +#define FSTV0910_P2_SEL_EQUALCOR 0xf26f0038 #define FSTV0910_P2_MU_EQUALDFE 0xf26f0007 /*P2_EQUAI1*/ @@ -1101,20 +1117,20 @@ #define FSTV0910_P2_FRAMESEL_TYPESEL 0xf28e000c #define FSTV0910_P2_FRAMESEL_TYPE 0xf28e0003 -/*P2_NOSCFGF2*/ -#define RSTV0910_P2_NOSCFGF2 0xf28f -#define FSTV0910_P2_DIS_NOSPILOTS 0xf28f0080 -#define FSTV0910_P2_FRAMESEL_MODCODSEL 0xf28f0060 -#define FSTV0910_P2_FRAMESEL_MODCOD 0xf28f001f - /*P2_CAR2CFG*/ #define RSTV0910_P2_CAR2CFG 0xf290 +#define FSTV0910_P2_DESCRAMB_OFF 0xf2900080 +#define FSTV0910_P2_EN_PHNOSRAM 0xf2900020 +#define FSTV0910_P2_STOP_CFR2UPDATE 0xf2900010 +#define FSTV0910_P2_STOP_NCO2UPDATE 0xf2900008 #define FSTV0910_P2_ROTA2ON 0xf2900004 #define FSTV0910_P2_PH_DET_ALGO2 0xf2900003 /*P2_CFR2CFR1*/ #define RSTV0910_P2_CFR2CFR1 0xf291 +#define FSTV0910_P2_CFR2_S2CONTROL 0xf29100c0 #define FSTV0910_P2_EN_S2CAR2CENTER 0xf2910020 +#define FSTV0910_P2_BCHERRCFR2_MODE 0xf2910018 #define FSTV0910_P2_CFR2TOCFR1_BETA 0xf2910007 /*P2_CAR3CFG*/ @@ -1139,48 +1155,48 @@ /*P2_ACLC2S2Q*/ #define RSTV0910_P2_ACLC2S2Q 0xf297 #define FSTV0910_P2_ENAB_SPSKSYMB 0xf2970080 +#define FSTV0910_P2_CAR2S2_QANOSAUTO 0xf2970040 #define FSTV0910_P2_CAR2S2_Q_ALPH_M 0xf2970030 #define FSTV0910_P2_CAR2S2_Q_ALPH_E 0xf297000f /*P2_ACLC2S28*/ #define RSTV0910_P2_ACLC2S28 0xf298 +#define FSTV0910_P2_OLDI3Q_MODE 0xf2980080 +#define FSTV0910_P2_CAR2S2_8ANOSAUTO 0xf2980040 #define FSTV0910_P2_CAR2S2_8_ALPH_M 0xf2980030 #define FSTV0910_P2_CAR2S2_8_ALPH_E 0xf298000f /*P2_ACLC2S216A*/ #define RSTV0910_P2_ACLC2S216A 0xf299 +#define FSTV0910_P2_CAR2S2_16ANOSAUTO 0xf2990040 #define FSTV0910_P2_CAR2S2_16A_ALPH_M 0xf2990030 #define FSTV0910_P2_CAR2S2_16A_ALPH_E 0xf299000f /*P2_ACLC2S232A*/ #define RSTV0910_P2_ACLC2S232A 0xf29a +#define FSTV0910_P2_CAR2S2_32ANOSUATO 0xf29a0040 #define FSTV0910_P2_CAR2S2_32A_ALPH_M 0xf29a0030 #define FSTV0910_P2_CAR2S2_32A_ALPH_E 0xf29a000f /*P2_BCLC2S2Q*/ #define RSTV0910_P2_BCLC2S2Q 0xf29c +#define FSTV0910_P2_DVBS2S2Q_NIP 0xf29c0080 +#define FSTV0910_P2_CAR2S2_QBNOSAUTO 0xf29c0040 #define FSTV0910_P2_CAR2S2_Q_BETA_M 0xf29c0030 #define FSTV0910_P2_CAR2S2_Q_BETA_E 0xf29c000f /*P2_BCLC2S28*/ #define RSTV0910_P2_BCLC2S28 0xf29d +#define FSTV0910_P2_DVBS2S28_NIP 0xf29d0080 +#define FSTV0910_P2_CAR2S2_8BNOSAUTO 0xf29d0040 #define FSTV0910_P2_CAR2S2_8_BETA_M 0xf29d0030 #define FSTV0910_P2_CAR2S2_8_BETA_E 0xf29d000f -/*P2_BCLC2S216A*/ -#define RSTV0910_P2_BCLC2S216A 0xf29e -#define FSTV0910_P2_DVBS2S216A_NIP 0xf29e0080 -#define FSTV0910_P2_CAR2S2_16A_BETA_M 0xf29e0030 -#define FSTV0910_P2_CAR2S2_16A_BETA_E 0xf29e000f - -/*P2_BCLC2S232A*/ -#define RSTV0910_P2_BCLC2S232A 0xf29f -#define FSTV0910_P2_DVBS2S232A_NIP 0xf29f0080 -#define FSTV0910_P2_CAR2S2_32A_BETA_M 0xf29f0030 -#define FSTV0910_P2_CAR2S2_32A_BETA_E 0xf29f000f - /*P2_PLROOT2*/ #define RSTV0910_P2_PLROOT2 0xf2ac +#define FSTV0910_P2_PLHAUTO_DISPLH 0xf2ac0040 +#define FSTV0910_P2_PLHAUTO_FASTMODE 0xf2ac0020 +#define FSTV0910_P2_PLHAUTO_ENABLE 0xf2ac0010 #define FSTV0910_P2_PLSCRAMB_MODE 0xf2ac000c #define FSTV0910_P2_PLSCRAMB_ROOT2 0xf2ac0003 @@ -1192,93 +1208,45 @@ #define RSTV0910_P2_PLROOT0 0xf2ae #define FSTV0910_P2_PLSCRAMB_ROOT0 0xf2ae00ff -/*P2_MODCODLST0*/ -#define RSTV0910_P2_MODCODLST0 0xf2b0 -#define FSTV0910_P2_NACCES_MODCODCH 0xf2b00001 - -/*P2_MODCODLST1*/ -#define RSTV0910_P2_MODCODLST1 0xf2b1 -#define FSTV0910_P2_SYMBRATE_FILTER 0xf2b10008 -#define FSTV0910_P2_NRESET_MODCODLST 0xf2b10004 -#define FSTV0910_P2_DIS_32PSK_9_10 0xf2b10003 - -/*P2_MODCODLST2*/ -#define RSTV0910_P2_MODCODLST2 0xf2b2 -#define FSTV0910_P2_DIS_32PSK_8_9 0xf2b200f0 -#define FSTV0910_P2_DIS_32PSK_5_6 0xf2b2000f - -/*P2_MODCODLST3*/ -#define RSTV0910_P2_MODCODLST3 0xf2b3 -#define FSTV0910_P2_DIS_32PSK_4_5 0xf2b300f0 -#define FSTV0910_P2_DIS_32PSK_3_4 0xf2b3000f - -/*P2_MODCODLST4*/ -#define RSTV0910_P2_MODCODLST4 0xf2b4 -#define FSTV0910_P2_DUMMYPL_PILOT 0xf2b40080 -#define FSTV0910_P2_DUMMYPL_NOPILOT 0xf2b40040 -#define FSTV0910_P2_DIS_16PSK_9_10 0xf2b40030 -#define FSTV0910_P2_DIS_16PSK_8_9 0xf2b4000f - -/*P2_MODCODLST5*/ -#define RSTV0910_P2_MODCODLST5 0xf2b5 -#define FSTV0910_P2_DIS_16PSK_5_6 0xf2b500f0 -#define FSTV0910_P2_DIS_16PSK_4_5 0xf2b5000f - -/*P2_MODCODLST6*/ -#define RSTV0910_P2_MODCODLST6 0xf2b6 -#define FSTV0910_P2_DIS_16PSK_3_4 0xf2b600f0 -#define FSTV0910_P2_DIS_16PSK_2_3 0xf2b6000f - /*P2_MODCODLST7*/ #define RSTV0910_P2_MODCODLST7 0xf2b7 #define FSTV0910_P2_MODCOD_NNOSFILTER 0xf2b70080 +#define FSTV0910_P2_MODCODLST_NOSTYPE 0xf2b70040 #define FSTV0910_P2_DIS_8PSK_9_10 0xf2b70030 -#define FSTV0910_P2_DIS_8PSK_8_9 0xf2b7000f +#define FSTV0910_P2_DIS_8P_8_9 0xf2b7000f /*P2_MODCODLST8*/ #define RSTV0910_P2_MODCODLST8 0xf2b8 -#define FSTV0910_P2_DIS_8PSK_5_6 0xf2b800f0 -#define FSTV0910_P2_DIS_8PSK_3_4 0xf2b8000f +#define FSTV0910_P2_DIS_8P_5_6 0xf2b800f0 +#define FSTV0910_P2_DIS_8P_3_4 0xf2b8000f /*P2_MODCODLST9*/ #define RSTV0910_P2_MODCODLST9 0xf2b9 -#define FSTV0910_P2_DIS_8PSK_2_3 0xf2b900f0 -#define FSTV0910_P2_DIS_8PSK_3_5 0xf2b9000f +#define FSTV0910_P2_DIS_8P_2_3 0xf2b900f0 +#define FSTV0910_P2_DIS_8P_3_5 0xf2b9000f /*P2_MODCODLSTA*/ #define RSTV0910_P2_MODCODLSTA 0xf2ba #define FSTV0910_P2_NOSFILTER_LIMITE 0xf2ba0080 +#define FSTV0910_P2_NOSFILTER_MODE 0xf2ba0040 #define FSTV0910_P2_DIS_QPSK_9_10 0xf2ba0030 -#define FSTV0910_P2_DIS_QPSK_8_9 0xf2ba000f +#define FSTV0910_P2_DIS_QP_8_9 0xf2ba000f /*P2_MODCODLSTB*/ #define RSTV0910_P2_MODCODLSTB 0xf2bb -#define FSTV0910_P2_DIS_QPSK_5_6 0xf2bb00f0 -#define FSTV0910_P2_DIS_QPSK_4_5 0xf2bb000f +#define FSTV0910_P2_DIS_QP_5_6 0xf2bb00f0 +#define FSTV0910_P2_DIS_QP_4_5 0xf2bb000f /*P2_MODCODLSTC*/ #define RSTV0910_P2_MODCODLSTC 0xf2bc -#define FSTV0910_P2_DIS_QPSK_3_4 0xf2bc00f0 -#define FSTV0910_P2_DIS_QPSK_2_3 0xf2bc000f +#define FSTV0910_P2_DIS_QP_3_4 0xf2bc00f0 +#define FSTV0910_P2_DIS_QP_2_3 0xf2bc000f /*P2_MODCODLSTD*/ #define RSTV0910_P2_MODCODLSTD 0xf2bd #define FSTV0910_P2_DIS_QPSK_3_5 0xf2bd00f0 #define FSTV0910_P2_DIS_QPSK_1_2 0xf2bd000f -/*P2_MODCODLSTE*/ -#define RSTV0910_P2_MODCODLSTE 0xf2be -#define FSTV0910_P2_DIS_QPSK_2_5 0xf2be00f0 -#define FSTV0910_P2_DIS_QPSK_1_3 0xf2be000f - -/*P2_MODCODLSTF*/ -#define RSTV0910_P2_MODCODLSTF 0xf2bf -#define FSTV0910_P2_DIS_QPSK_1_4 0xf2bf00f0 -#define FSTV0910_P2_DEMOD_INVMODLST 0xf2bf0008 -#define FSTV0910_P2_DEMODOUT_ENABLE 0xf2bf0004 -#define FSTV0910_P2_DDEMOD_NSET 0xf2bf0002 -#define FSTV0910_P2_MODCOD_NSTOCK 0xf2bf0001 - /*P2_GAUSSR0*/ #define RSTV0910_P2_GAUSSR0 0xf2c0 #define FSTV0910_P2_EN_CCIMODE 0xf2c00080 @@ -1307,6 +1275,8 @@ #define FSTV0910_P2_RAINFADE_DETECT 0xf2c50080 #define FSTV0910_P2_NOTHRES2_FAIL 0xf2c50040 #define FSTV0910_P2_NOTHRES1_FAIL 0xf2c50020 +#define FSTV0910_P2_PILOT_FAILDETECT 0xf2c50010 +#define FSTV0910_P2_HIER_DETECT 0xf2c50008 #define FSTV0910_P2_DMDPROG_ERROR 0xf2c50004 #define FSTV0910_P2_CSTENV_DETECT 0xf2c50002 #define FSTV0910_P2_DETECTION_TRIAX 0xf2c50001 @@ -1314,12 +1284,15 @@ /*P2_DMDRESCFG*/ #define RSTV0910_P2_DMDRESCFG 0xf2c6 #define FSTV0910_P2_DMDRES_RESET 0xf2c60080 +#define FSTV0910_P2_DMDRES_NOISESQR 0xf2c60010 #define FSTV0910_P2_DMDRES_STRALL 0xf2c60008 #define FSTV0910_P2_DMDRES_NEWONLY 0xf2c60004 #define FSTV0910_P2_DMDRES_NOSTORE 0xf2c60002 +#define FSTV0910_P2_DMDRES_AGC2MEM 0xf2c60001 /*P2_DMDRESADR*/ #define RSTV0910_P2_DMDRESADR 0xf2c7 +#define FSTV0910_P2_SUSP_PREDCANAL 0xf2c70080 #define FSTV0910_P2_DMDRES_VALIDCFR 0xf2c70040 #define FSTV0910_P2_DMDRES_MEMFULL 0xf2c70030 #define FSTV0910_P2_DMDRES_RESNBR 0xf2c7000f @@ -1397,6 +1370,13 @@ /*P2_TNRCFG2*/ #define RSTV0910_P2_TNRCFG2 0xf2e1 #define FSTV0910_P2_TUN_IQSWAP 0xf2e10080 +#define FSTV0910_P2_STB6110_STEP2MHZ 0xf2e10040 +#define FSTV0910_P2_STB6120_DBLI2C 0xf2e10020 +#define FSTV0910_P2_TUNER_WIDEBAND 0xf2e10010 +#define FSTV0910_P2_TUNER_OBSPAGE 0xf2e10008 +#define FSTV0910_P2_DIS_BWCALC 0xf2e10004 +#define FSTV0910_P2_SHORT_WAITSTATES 0xf2e10002 +#define FSTV0910_P2_DIS_2BWAGC1 0xf2e10001 /*P2_SMAPCOEF7*/ #define RSTV0910_P2_SMAPCOEF7 0xf300 @@ -1406,6 +1386,10 @@ /*P2_SMAPCOEF6*/ #define RSTV0910_P2_SMAPCOEF6 0xf301 #define FSTV0910_P2_DIS_AGC2SCALE 0xf3010080 +#define FSTV0910_P2_DIS_16IQMULT 0xf3010040 +#define FSTV0910_P2_OLD_16APSK47 0xf3010020 +#define FSTV0910_P2_OLD_16APSK12 0xf3010010 +#define FSTV0910_P2_DIS_NEWSCALE 0xf3010008 #define FSTV0910_P2_ADJ_8PSKLLR1 0xf3010004 #define FSTV0910_P2_OLD_8PSKLLR1 0xf3010002 #define FSTV0910_P2_DIS_AB8PSK 0xf3010001 @@ -1415,29 +1399,6 @@ #define FSTV0910_P2_DIS_8SCALE 0xf3020080 #define FSTV0910_P2_SMAPCOEF_8P_LLR23 0xf302017f -/*P2_SMAPCOEF4*/ -#define RSTV0910_P2_SMAPCOEF4 0xf303 -#define FSTV0910_P2_SMAPCOEF_16APSK_LLR12 0xf303017f - -/*P2_SMAPCOEF3*/ -#define RSTV0910_P2_SMAPCOEF3 0xf304 -#define FSTV0910_P2_SMAPCOEF_16APSK_LLR34 0xf304017f - -/*P2_SMAPCOEF2*/ -#define RSTV0910_P2_SMAPCOEF2 0xf305 -#define FSTV0910_P2_SMAPCOEF_32APSK_R2R3 0xf30501f0 -#define FSTV0910_P2_SMAPCOEF_32APSK_LLR2 0xf305010f - -/*P2_SMAPCOEF1*/ -#define RSTV0910_P2_SMAPCOEF1 0xf306 -#define FSTV0910_P2_DIS_16SCALE 0xf3060080 -#define FSTV0910_P2_SMAPCOEF_32_LLR34 0xf306017f - -/*P2_SMAPCOEF0*/ -#define RSTV0910_P2_SMAPCOEF0 0xf307 -#define FSTV0910_P2_DIS_32SCALE 0xf3070080 -#define FSTV0910_P2_SMAPCOEF_32_LLR15 0xf307017f - /*P2_NOSTHRES1*/ #define RSTV0910_P2_NOSTHRES1 0xf309 #define FSTV0910_P2_NOS_THRESHOLD1 0xf30900ff @@ -1458,6 +1419,8 @@ /*P2_NOSRAMCFG*/ #define RSTV0910_P2_NOSRAMCFG 0xf30d +#define FSTV0910_P2_NOSRAM_DVBS2DATA 0xf30d0080 +#define FSTV0910_P2_NOSRAM_QUADRAT 0xf30d0040 #define FSTV0910_P2_NOSRAM_ACTIVATION 0xf30d0030 #define FSTV0910_P2_NOSRAM_CNRONLY 0xf30d0008 #define FSTV0910_P2_NOSRAM_LGNCNR1 0xf30d0007 @@ -1496,13 +1459,18 @@ #define RSTV0910_P2_VITSCALE 0xf332 #define FSTV0910_P2_NVTH_NOSRANGE 0xf3320080 #define FSTV0910_P2_VERROR_MAXMODE 0xf3320040 +#define FSTV0910_P2_KDIV_MODE 0xf3320030 #define FSTV0910_P2_NSLOWSN_LOCKED 0xf3320008 +#define FSTV0910_P2_DELOCK_PRFLOSS 0xf3320004 #define FSTV0910_P2_DIS_RSFLOCK 0xf3320002 /*P2_FECM*/ #define RSTV0910_P2_FECM 0xf333 #define FSTV0910_P2_DSS_DVB 0xf3330080 +#define FSTV0910_P2_DEMOD_BYPASS 0xf3330040 +#define FSTV0910_P2_CMP_SLOWMODE 0xf3330020 #define FSTV0910_P2_DSS_SRCH 0xf3330010 +#define FSTV0910_P2_DIFF_MODEVIT 0xf3330004 #define FSTV0910_P2_SYNCVIT 0xf3330002 #define FSTV0910_P2_IQINV 0xf3330001 @@ -1532,6 +1500,9 @@ /*P2_VITCURPUN*/ #define RSTV0910_P2_VITCURPUN 0xf33a +#define FSTV0910_P2_CYCLESLIP_VIT 0xf33a0080 +#define FSTV0910_P2_VIT_ROTA180 0xf33a0040 +#define FSTV0910_P2_VIT_ROTA90 0xf33a0020 #define FSTV0910_P2_VIT_CURPUN 0xf33a001f /*P2_VERROR*/ @@ -1558,8 +1529,14 @@ /*P2_VSTATUSVIT*/ #define RSTV0910_P2_VSTATUSVIT 0xf33e +#define FSTV0910_P2_VITERBI_ON 0xf33e0080 +#define FSTV0910_P2_END_LOOPVIT 0xf33e0040 +#define FSTV0910_P2_VITERBI_DEPRF 0xf33e0020 #define FSTV0910_P2_PRFVIT 0xf33e0010 #define FSTV0910_P2_LOCKEDVIT 0xf33e0008 +#define FSTV0910_P2_VITERBI_DELOCK 0xf33e0004 +#define FSTV0910_P2_VIT_DEMODSEL 0xf33e0002 +#define FSTV0910_P2_VITERBI_COMPOUT 0xf33e0001 /*P2_VTHINUSE*/ #define RSTV0910_P2_VTHINUSE 0xf33f @@ -1567,44 +1544,45 @@ /*P2_KDIV12*/ #define RSTV0910_P2_KDIV12 0xf340 +#define FSTV0910_P2_KDIV12_MANUAL 0xf3400080 #define FSTV0910_P2_K_DIVIDER_12 0xf340007f /*P2_KDIV23*/ #define RSTV0910_P2_KDIV23 0xf341 +#define FSTV0910_P2_KDIV23_MANUAL 0xf3410080 #define FSTV0910_P2_K_DIVIDER_23 0xf341007f /*P2_KDIV34*/ #define RSTV0910_P2_KDIV34 0xf342 +#define FSTV0910_P2_KDIV34_MANUAL 0xf3420080 #define FSTV0910_P2_K_DIVIDER_34 0xf342007f /*P2_KDIV56*/ #define RSTV0910_P2_KDIV56 0xf343 +#define FSTV0910_P2_KDIV56_MANUAL 0xf3430080 #define FSTV0910_P2_K_DIVIDER_56 0xf343007f /*P2_KDIV67*/ #define RSTV0910_P2_KDIV67 0xf344 +#define FSTV0910_P2_KDIV67_MANUAL 0xf3440080 #define FSTV0910_P2_K_DIVIDER_67 0xf344007f /*P2_KDIV78*/ #define RSTV0910_P2_KDIV78 0xf345 +#define FSTV0910_P2_KDIV78_MANUAL 0xf3450080 #define FSTV0910_P2_K_DIVIDER_78 0xf345007f -/*P2_TSPIDFLT1*/ -#define RSTV0910_P2_TSPIDFLT1 0xf346 -#define FSTV0910_P2_PIDFLT_ADDR 0xf34600ff - -/*P2_TSPIDFLT0*/ -#define RSTV0910_P2_TSPIDFLT0 0xf347 -#define FSTV0910_P2_PIDFLT_DATA 0xf34700ff - /*P2_PDELCTRL0*/ #define RSTV0910_P2_PDELCTRL0 0xf34f #define FSTV0910_P2_ISIOBS_MODE 0xf34f0030 +#define FSTV0910_P2_PDELDIS_BITWISE 0xf34f0004 /*P2_PDELCTRL1*/ #define RSTV0910_P2_PDELCTRL1 0xf350 #define FSTV0910_P2_INV_MISMASK 0xf3500080 +#define FSTV0910_P2_FORCE_ACCEPTED 0xf3500040 #define FSTV0910_P2_FILTER_EN 0xf3500020 +#define FSTV0910_P2_FORCE_PKTDELINUSE 0xf3500010 #define FSTV0910_P2_HYSTEN 0xf3500008 #define FSTV0910_P2_HYSTSWRST 0xf3500004 #define FSTV0910_P2_EN_MIS00 0xf3500002 @@ -1615,6 +1593,8 @@ #define FSTV0910_P2_FORCE_CONTINUOUS 0xf3510080 #define FSTV0910_P2_RESET_UPKO_COUNT 0xf3510040 #define FSTV0910_P2_USER_PKTDELIN_NB 0xf3510020 +#define FSTV0910_P2_DATA_UNBBSCRAMBLED 0xf3510008 +#define FSTV0910_P2_FORCE_LONGPKT 0xf3510004 #define FSTV0910_P2_FRAME_MODE 0xf3510002 /*P2_HYSTTHRESH*/ @@ -1622,11 +1602,6 @@ #define FSTV0910_P2_DELIN_LOCKTHRES 0xf35400f0 #define FSTV0910_P2_DELIN_UNLOCKTHRES 0xf354000f -/*P2_UPLCCST0*/ -#define RSTV0910_P2_UPLCCST0 0xf358 -#define FSTV0910_P2_UPL_CST0 0xf35800f8 -#define FSTV0910_P2_UPL_MODE 0xf3580007 - /*P2_ISIENTRY*/ #define RSTV0910_P2_ISIENTRY 0xf35e #define FSTV0910_P2_ISI_ENTRY 0xf35e00ff @@ -1675,13 +1650,16 @@ #define RSTV0910_P2_PDELSTATUS1 0xf369 #define FSTV0910_P2_PKTDELIN_DELOCK 0xf3690080 #define FSTV0910_P2_SYNCDUPDFL_BADDFL 0xf3690040 +#define FSTV0910_P2_CONTINUOUS_STREAM 0xf3690020 #define FSTV0910_P2_UNACCEPTED_STREAM 0xf3690010 #define FSTV0910_P2_BCH_ERROR_FLAG 0xf3690008 +#define FSTV0910_P2_BBHCRCKO 0xf3690004 #define FSTV0910_P2_PKTDELIN_LOCK 0xf3690002 #define FSTV0910_P2_FIRST_LOCK 0xf3690001 /*P2_PDELSTATUS2*/ #define RSTV0910_P2_PDELSTATUS2 0xf36a +#define FSTV0910_P2_PKTDEL_DEMODSEL 0xf36a0080 #define FSTV0910_P2_FRAME_MODCOD 0xf36a007c #define FSTV0910_P2_FRAME_TYPE 0xf36a0003 @@ -1703,12 +1681,18 @@ /*P2_PDELCTRL3*/ #define RSTV0910_P2_PDELCTRL3 0xf36f +#define FSTV0910_P2_PKTDEL_CONTFAIL 0xf36f0080 +#define FSTV0910_P2_PKTDEL_ENLONGPKT 0xf36f0040 #define FSTV0910_P2_NOFIFO_BCHERR 0xf36f0020 #define FSTV0910_P2_PKTDELIN_DELACMERR 0xf36f0010 +#define FSTV0910_P2_SATURATE_BBPKTKO 0xf36f0004 +#define FSTV0910_P2_PKTDEL_BCHERRCONT 0xf36f0002 +#define FSTV0910_P2_ETHERNET_DISFCS 0xf36f0001 /*P2_TSSTATEM*/ #define RSTV0910_P2_TSSTATEM 0xf370 #define FSTV0910_P2_TSDIL_ON 0xf3700080 +#define FSTV0910_P2_TSSKIPRS_ON 0xf3700040 #define FSTV0910_P2_TSRS_ON 0xf3700020 #define FSTV0910_P2_TSDESCRAMB_ON 0xf3700010 #define FSTV0910_P2_TSFRAME_MODE 0xf3700008 @@ -1716,15 +1700,6 @@ #define FSTV0910_P2_TSACM_MODE 0xf3700002 #define FSTV0910_P2_TSOUT_NOSYNC 0xf3700001 -/*P2_TSSTATEL*/ -#define RSTV0910_P2_TSSTATEL 0xf371 -#define FSTV0910_P2_TSNOSYNCBYTE 0xf3710080 -#define FSTV0910_P2_TSPARITY_ON 0xf3710040 -#define FSTV0910_P2_TSISSYI_ON 0xf3710008 -#define FSTV0910_P2_TSNPD_ON 0xf3710004 -#define FSTV0910_P2_TSCRC8_ON 0xf3710002 -#define FSTV0910_P2_TSDSS_PACKET 0xf3710001 - /*P2_TSCFGH*/ #define RSTV0910_P2_TSCFGH 0xf372 #define FSTV0910_P2_TSFIFO_DVBCI 0xf3720080 @@ -1740,6 +1715,8 @@ #define FSTV0910_P2_TSFIFO_MANSPEED 0xf37300c0 #define FSTV0910_P2_TSFIFO_PERMDATA 0xf3730020 #define FSTV0910_P2_TSFIFO_NONEWSGNL 0xf3730010 +#define FSTV0910_P2_NPD_SPECDVBS2 0xf3730004 +#define FSTV0910_P2_TSFIFO_DPUNACTIVE 0xf3730002 #define FSTV0910_P2_TSFIFO_INVDATA 0xf3730001 /*P2_TSCFGL*/ @@ -1750,45 +1727,32 @@ #define FSTV0910_P2_TSFIFO_EMBINDVB 0xf3740004 #define FSTV0910_P2_TSFIFO_BITSPEED 0xf3740003 -/*P2_TSSYNC*/ -#define RSTV0910_P2_TSSYNC 0xf375 -#define FSTV0910_P2_TSFIFO_SYNCMODE 0xf3750018 - /*P2_TSINSDELH*/ #define RSTV0910_P2_TSINSDELH 0xf376 #define FSTV0910_P2_TSDEL_SYNCBYTE 0xf3760080 #define FSTV0910_P2_TSDEL_XXHEADER 0xf3760040 +#define FSTV0910_P2_TSDEL_BBHEADER 0xf3760020 #define FSTV0910_P2_TSDEL_DATAFIELD 0xf3760010 +#define FSTV0910_P2_TSINSDEL_ISCR 0xf3760008 +#define FSTV0910_P2_TSINSDEL_NPD 0xf3760004 #define FSTV0910_P2_TSINSDEL_RSPARITY 0xf3760002 #define FSTV0910_P2_TSINSDEL_CRC8 0xf3760001 -/*P2_TSINSDELM*/ -#define RSTV0910_P2_TSINSDELM 0xf377 -#define FSTV0910_P2_TSINS_EMODCOD 0xf3770010 -#define FSTV0910_P2_TSINS_TOKEN 0xf3770008 -#define FSTV0910_P2_TSINS_XXXERR 0xf3770004 -#define FSTV0910_P2_TSINS_MATYPE 0xf3770002 -#define FSTV0910_P2_TSINS_UPL 0xf3770001 - -/*P2_TSINSDELL*/ -#define RSTV0910_P2_TSINSDELL 0xf378 -#define FSTV0910_P2_TSINS_DFL 0xf3780080 -#define FSTV0910_P2_TSINS_SYNCD 0xf3780040 -#define FSTV0910_P2_TSINS_BLOCLEN 0xf3780020 -#define FSTV0910_P2_TSINS_SIGPCOUNT 0xf3780010 -#define FSTV0910_P2_TSINS_FIFO 0xf3780008 -#define FSTV0910_P2_TSINS_REALPACK 0xf3780004 -#define FSTV0910_P2_TSINS_TSCONFIG 0xf3780002 -#define FSTV0910_P2_TSINS_LATENCY 0xf3780001 - /*P2_TSDIVN*/ #define RSTV0910_P2_TSDIVN 0xf379 #define FSTV0910_P2_TSFIFO_SPEEDMODE 0xf37900c0 +#define FSTV0910_P2_BYTE_OVERSAMPLING 0xf3790038 #define FSTV0910_P2_TSFIFO_RISEOK 0xf3790007 /*P2_TSCFG4*/ #define RSTV0910_P2_TSCFG4 0xf37a #define FSTV0910_P2_TSFIFO_TSSPEEDMODE 0xf37a00c0 +#define FSTV0910_P2_TSFIFO_HIERSEL 0xf37a0020 +#define FSTV0910_P2_TSFIFO_SPECTOKEN 0xf37a0010 +#define FSTV0910_P2_TSFIFO_MAXMODE 0xf37a0008 +#define FSTV0910_P2_TSFIFO_FRFORCEPKT 0xf37a0004 +#define FSTV0910_P2_EXT_FECSPYIN 0xf37a0002 +#define FSTV0910_P2_TSFIFO_DELSPEEDUP 0xf37a0001 /*P2_TSSPEED*/ #define RSTV0910_P2_TSSPEED 0xf380 @@ -1798,8 +1762,11 @@ #define RSTV0910_P2_TSSTATUS 0xf381 #define FSTV0910_P2_TSFIFO_LINEOK 0xf3810080 #define FSTV0910_P2_TSFIFO_ERROR 0xf3810040 +#define FSTV0910_P2_TSFIFO_DATA7 0xf3810020 #define FSTV0910_P2_TSFIFO_NOSYNC 0xf3810010 +#define FSTV0910_P2_ISCR_INITIALIZED 0xf3810008 #define FSTV0910_P2_TSREGUL_ERROR 0xf3810004 +#define FSTV0910_P2_SOFFIFO_UNREGUL 0xf3810002 #define FSTV0910_P2_DIL_READY 0xf3810001 /*P2_TSSTATUS2*/ @@ -1807,7 +1774,11 @@ #define FSTV0910_P2_TSFIFO_DEMODSEL 0xf3820080 #define FSTV0910_P2_TSFIFOSPEED_STORE 0xf3820040 #define FSTV0910_P2_DILXX_RESET 0xf3820020 +#define FSTV0910_P2_TSSPEED_IMPOSSIBLE 0xf3820010 +#define FSTV0910_P2_TSFIFO_LINENOK 0xf3820008 +#define FSTV0910_P2_TSFIFO_MUXSTREAM 0xf3820004 #define FSTV0910_P2_SCRAMBDETECT 0xf3820002 +#define FSTV0910_P2_ULDTV67_FALSELOCK 0xf3820001 /*P2_TSBITRATE1*/ #define RSTV0910_P2_TSBITRATE1 0xf383 @@ -1817,59 +1788,6 @@ #define RSTV0910_P2_TSBITRATE0 0xf384 #define FSTV0910_P2_TSFIFO_BITRATE0 0xf38400ff -/*P2_TSPACKLEN1*/ -#define RSTV0910_P2_TSPACKLEN1 0xf385 -#define FSTV0910_P2_TSFIFO_PACKCPT 0xf38500e0 - -/*P2_TSDLY2*/ -#define RSTV0910_P2_TSDLY2 0xf389 -#define FSTV0910_P2_SOFFIFO_LATENCY2 0xf389000f - -/*P2_TSDLY1*/ -#define RSTV0910_P2_TSDLY1 0xf38a -#define FSTV0910_P2_SOFFIFO_LATENCY1 0xf38a00ff - -/*P2_TSDLY0*/ -#define RSTV0910_P2_TSDLY0 0xf38b -#define FSTV0910_P2_SOFFIFO_LATENCY0 0xf38b00ff - -/*P2_TSNPDAV*/ -#define RSTV0910_P2_TSNPDAV 0xf38c -#define FSTV0910_P2_TSNPD_AVERAGE 0xf38c00ff - -/*P2_TSBUFSTAT2*/ -#define RSTV0910_P2_TSBUFSTAT2 0xf38d -#define FSTV0910_P2_TSISCR_3BYTES 0xf38d0080 -#define FSTV0910_P2_TSISCR_NEWDATA 0xf38d0040 -#define FSTV0910_P2_TSISCR_BUFSTAT2 0xf38d003f - -/*P2_TSBUFSTAT1*/ -#define RSTV0910_P2_TSBUFSTAT1 0xf38e -#define FSTV0910_P2_TSISCR_BUFSTAT1 0xf38e00ff - -/*P2_TSBUFSTAT0*/ -#define RSTV0910_P2_TSBUFSTAT0 0xf38f -#define FSTV0910_P2_TSISCR_BUFSTAT0 0xf38f00ff - -/*P2_TSDEBUGL*/ -#define RSTV0910_P2_TSDEBUGL 0xf391 -#define FSTV0910_P2_TSFIFO_ERROR_EVNT 0xf3910004 -#define FSTV0910_P2_TSFIFO_OVERFLOWM 0xf3910001 - -/*P2_TSDLYSET2*/ -#define RSTV0910_P2_TSDLYSET2 0xf392 -#define FSTV0910_P2_SOFFIFO_OFFSET 0xf39200c0 -#define FSTV0910_P2_HYSTERESIS_THRESHOLD 0xf3920030 -#define FSTV0910_P2_SOFFIFO_SYMBOFFS2 0xf392000f - -/*P2_TSDLYSET1*/ -#define RSTV0910_P2_TSDLYSET1 0xf393 -#define FSTV0910_P2_SOFFIFO_SYMBOFFS1 0xf39300ff - -/*P2_TSDLYSET0*/ -#define RSTV0910_P2_TSDLYSET0 0xf394 -#define FSTV0910_P2_SOFFIFO_SYMBOFFS0 0xf39400ff - /*P2_ERRCTRL1*/ #define RSTV0910_P2_ERRCTRL1 0xf398 #define FSTV0910_P2_ERR_SOURCE1 0xf39800f0 @@ -1927,12 +1845,14 @@ /*P2_FSPYDATA*/ #define RSTV0910_P2_FSPYDATA 0xf3a2 #define FSTV0910_P2_SPY_STUFFING 0xf3a20080 +#define FSTV0910_P2_NOERROR_PKTJITTER 0xf3a20040 #define FSTV0910_P2_SPY_CNULLPKT 0xf3a20020 #define FSTV0910_P2_SPY_OUTDATA_MODE 0xf3a2001f /*P2_FSPYOUT*/ #define RSTV0910_P2_FSPYOUT 0xf3a3 #define FSTV0910_P2_FSPY_DIRECT 0xf3a30080 +#define FSTV0910_P2_SPY_OUTDATA_BUS 0xf3a30038 #define FSTV0910_P2_STUFF_MODE 0xf3a30007 /*P2_FSTATUS*/ @@ -1977,6 +1897,8 @@ /*P2_FSPYBER*/ #define RSTV0910_P2_FSPYBER 0xf3b2 +#define FSTV0910_P2_FSPYOBS_XORREAD 0xf3b20040 +#define FSTV0910_P2_FSPYBER_OBSMODE 0xf3b20020 #define FSTV0910_P2_FSPYBER_SYNCBYTE 0xf3b20010 #define FSTV0910_P2_FSPYBER_UNSYNC 0xf3b20008 #define FSTV0910_P2_FSPYBER_CTIME 0xf3b20007 @@ -1997,26 +1919,32 @@ /*P2_SFKDIV12*/ #define RSTV0910_P2_SFKDIV12 0xf3c4 #define FSTV0910_P2_SFECKDIV12_MAN 0xf3c40080 +#define FSTV0910_P2_SFEC_K_DIVIDER_12 0xf3c4007f /*P2_SFKDIV23*/ #define RSTV0910_P2_SFKDIV23 0xf3c5 #define FSTV0910_P2_SFECKDIV23_MAN 0xf3c50080 +#define FSTV0910_P2_SFEC_K_DIVIDER_23 0xf3c5007f /*P2_SFKDIV34*/ #define RSTV0910_P2_SFKDIV34 0xf3c6 #define FSTV0910_P2_SFECKDIV34_MAN 0xf3c60080 +#define FSTV0910_P2_SFEC_K_DIVIDER_34 0xf3c6007f /*P2_SFKDIV56*/ #define RSTV0910_P2_SFKDIV56 0xf3c7 #define FSTV0910_P2_SFECKDIV56_MAN 0xf3c70080 +#define FSTV0910_P2_SFEC_K_DIVIDER_56 0xf3c7007f /*P2_SFKDIV67*/ #define RSTV0910_P2_SFKDIV67 0xf3c8 #define FSTV0910_P2_SFECKDIV67_MAN 0xf3c80080 +#define FSTV0910_P2_SFEC_K_DIVIDER_67 0xf3c8007f /*P2_SFKDIV78*/ #define RSTV0910_P2_SFKDIV78 0xf3c9 #define FSTV0910_P2_SFECKDIV78_MAN 0xf3c90080 +#define FSTV0910_P2_SFEC_K_DIVIDER_78 0xf3c9007f /*P2_SFSTATUS*/ #define RSTV0910_P2_SFSTATUS 0xf3cc @@ -2031,7 +1959,11 @@ /*P2_SFDLYSET2*/ #define RSTV0910_P2_SFDLYSET2 0xf3d0 +#define FSTV0910_P2_SFEC_OFFSET 0xf3d000c0 +#define FSTV0910_P2_RST_SFEC 0xf3d00008 +#define FSTV0910_P2_DILDLINE_ERROR 0xf3d00004 #define FSTV0910_P2_SFEC_DISABLE 0xf3d00002 +#define FSTV0910_P2_SFEC_UNREGUL 0xf3d00001 /*P2_SFERRCTRL*/ #define RSTV0910_P2_SFERRCTRL 0xf3d8 @@ -2058,6 +1990,8 @@ /*P1_NOSCFG*/ #define RSTV0910_P1_NOSCFG 0xf401 +#define FSTV0910_P1_DIS_ACMRATIO 0xf4010080 +#define FSTV0910_P1_NOSIN_EGALSEL 0xf4010040 #define FSTV0910_P1_DUMMYPL_NOSDATA 0xf4010020 #define FSTV0910_P1_NOSPLH_BETA 0xf4010018 #define FSTV0910_P1_NOSDATA_BETA 0xf4010007 @@ -2078,10 +2012,14 @@ #define FSTV0910_P1_AMM_CORRECT 0xf4040010 #define FSTV0910_P1_QUAD_FROZEN 0xf4040008 #define FSTV0910_P1_QUAD_CORRECT 0xf4040004 +#define FSTV0910_P1_DCCOMP_SLOW 0xf4040002 +#define FSTV0910_P1_IQMISM_SLOW 0xf4040001 /*P1_AGC1CN*/ #define RSTV0910_P1_AGC1CN 0xf406 #define FSTV0910_P1_AGC1_LOCKED 0xf4060080 +#define FSTV0910_P1_AGC1_OVERFLOW 0xf4060040 +#define FSTV0910_P1_AGC1_NOSLOWLK 0xf4060020 #define FSTV0910_P1_AGC1_MINPOWER 0xf4060010 #define FSTV0910_P1_AGCOUT_FAST 0xf4060008 #define FSTV0910_P1_AGCIQ_BETA 0xf4060007 @@ -2139,12 +2077,16 @@ #define RSTV0910_P1_DSTATUS 0xf412 #define FSTV0910_P1_CAR_LOCK 0xf4120080 #define FSTV0910_P1_TMGLOCK_QUALITY 0xf4120060 +#define FSTV0910_P1_SDVBS1_ENABLE 0xf4120010 #define FSTV0910_P1_LOCK_DEFINITIF 0xf4120008 +#define FSTV0910_P1_TIMING_IS_LOCKED 0xf4120004 +#define FSTV0910_P1_DEMOD_SYSCFG 0xf4120002 #define FSTV0910_P1_OVADC_DETECT 0xf4120001 /*P1_DSTATUS2*/ #define RSTV0910_P1_DSTATUS2 0xf413 #define FSTV0910_P1_DEMOD_DELOCK 0xf4130080 +#define FSTV0910_P1_DEMOD_TIMEOUT 0xf4130040 #define FSTV0910_P1_MODCODRQ_SYNCTAG 0xf4130020 #define FSTV0910_P1_POLYPH_SATEVENT 0xf4130010 #define FSTV0910_P1_AGC1_NOSIGNALACK 0xf4130008 @@ -2158,16 +2100,25 @@ #define FSTV0910_P1_DVBS1_ENABLE 0xf4140040 #define FSTV0910_P1_SCAN_ENABLE 0xf4140010 #define FSTV0910_P1_CFR_AUTOSCAN 0xf4140008 +#define FSTV0910_P1_NOFORCE_RELOCK 0xf4140004 #define FSTV0910_P1_TUN_RNG 0xf4140003 /*P1_DMDCFG2*/ #define RSTV0910_P1_DMDCFG2 0xf415 +#define FSTV0910_P1_AGC1_WAITLOCK 0xf4150080 #define FSTV0910_P1_S1S2_SEQUENTIAL 0xf4150040 +#define FSTV0910_P1_BLINDPEA_MODE 0xf4150020 #define FSTV0910_P1_INFINITE_RELOCK 0xf4150010 +#define FSTV0910_P1_BWOFFSET_COLDWARM 0xf4150008 +#define FSTV0910_P1_TMGLOCK_NSCANSTOP 0xf4150004 +#define FSTV0910_P1_COARSE_LK3MODE 0xf4150002 +#define FSTV0910_P1_COARSE_LK2MODE 0xf4150001 /*P1_DMDISTATE*/ #define RSTV0910_P1_DMDISTATE 0xf416 #define FSTV0910_P1_I2C_NORESETDMODE 0xf4160080 +#define FSTV0910_P1_FORCE_ETAPED 0xf4160040 +#define FSTV0910_P1_SDMDRST_DIRCLK 0xf4160020 #define FSTV0910_P1_I2C_DEMOD_MODE 0xf416001f /*P1_DMDT0M*/ @@ -2176,7 +2127,9 @@ /*P1_DMDSTATE*/ #define RSTV0910_P1_DMDSTATE 0xf41b +#define FSTV0910_P1_DEMOD_LOCKED 0xf41b0080 #define FSTV0910_P1_HEADER_MODE 0xf41b0060 +#define FSTV0910_P1_DEMOD_MODE 0xf41b001f /*P1_DMDFLYW*/ #define RSTV0910_P1_DMDFLYW 0xf41c @@ -2188,15 +2141,29 @@ #define FSTV0910_P1_CFR_ZIGZAG 0xf41d0080 #define FSTV0910_P1_DEMOD_CFGMODE 0xf41d0060 #define FSTV0910_P1_GAMMA_LOWBAUDRATE 0xf41d0010 +#define FSTV0910_P1_RELOCK_MODE 0xf41d0008 +#define FSTV0910_P1_DEMOD_FAIL 0xf41d0004 +#define FSTV0910_P1_ETAPE1A_DVBXMEM 0xf41d0003 /*P1_DMDCFG3*/ #define RSTV0910_P1_DMDCFG3 0xf41e +#define FSTV0910_P1_DVBS1_TMGWAIT 0xf41e0080 +#define FSTV0910_P1_NO_BWCENTERING 0xf41e0040 +#define FSTV0910_P1_INV_SEQSRCH 0xf41e0020 +#define FSTV0910_P1_DIS_SFRUPLOW_TRK 0xf41e0010 #define FSTV0910_P1_NOSTOP_FIFOFULL 0xf41e0008 +#define FSTV0910_P1_LOCKTIME_MODE 0xf41e0007 /*P1_DMDCFG4*/ #define RSTV0910_P1_DMDCFG4 0xf41f #define FSTV0910_P1_DIS_VITLOCK 0xf41f0080 +#define FSTV0910_P1_S1S2TOUT_FAST 0xf41f0040 +#define FSTV0910_P1_DEMOD_FASTLOCK 0xf41f0020 +#define FSTV0910_P1_S1HIER_ENABLE 0xf41f0010 +#define FSTV0910_P1_TUNER_NRELAUNCH 0xf41f0008 #define FSTV0910_P1_DIS_CLKENABLE 0xf41f0004 +#define FSTV0910_P1_DIS_HDRDIVLOCK 0xf41f0002 +#define FSTV0910_P1_NO_TNRWBINIT 0xf41f0001 /*P1_CORRELMANT*/ #define RSTV0910_P1_CORRELMANT 0xf420 @@ -2219,45 +2186,16 @@ /*P1_DMDREG*/ #define RSTV0910_P1_DMDREG 0xf425 +#define FSTV0910_P1_EXTPSK_MODE 0xf4250080 +#define FSTV0910_P1_HIER_SHORTFRAME 0xf4250002 #define FSTV0910_P1_DECIM_PLFRAMES 0xf4250001 -/*P1_AGCNADJ*/ -#define RSTV0910_P1_AGCNADJ 0xf426 -#define FSTV0910_P1_RADJOFF_AGC2 0xf4260080 -#define FSTV0910_P1_RADJOFF_AGC1 0xf4260040 -#define FSTV0910_P1_AGC_NADJ 0xf426013f - -/*P1_AGCKS*/ -#define RSTV0910_P1_AGCKS 0xf427 -#define FSTV0910_P1_RSADJ_MANUALCFG 0xf4270080 -#define FSTV0910_P1_RSADJ_CCMMODE 0xf4270040 -#define FSTV0910_P1_RADJ_SPSK 0xf427013f - -/*P1_AGCKQ*/ -#define RSTV0910_P1_AGCKQ 0xf428 -#define FSTV0910_P1_RADJON_DVBS1 0xf4280040 -#define FSTV0910_P1_RADJ_QPSK 0xf428013f - -/*P1_AGCK8*/ -#define RSTV0910_P1_AGCK8 0xf429 -#define FSTV0910_P1_RADJ_8PSK 0xf429013f - -/*P1_AGCK16*/ -#define RSTV0910_P1_AGCK16 0xf42a -#define FSTV0910_P1_R2ADJOFF_16APSK 0xf42a0040 -#define FSTV0910_P1_R1ADJOFF_16APSK 0xf42a0020 -#define FSTV0910_P1_RADJ_16APSK 0xf42a011f - -/*P1_AGCK32*/ -#define RSTV0910_P1_AGCK32 0xf42b -#define FSTV0910_P1_R3ADJOFF_32APSK 0xf42b0080 -#define FSTV0910_P1_R2ADJOFF_32APSK 0xf42b0040 -#define FSTV0910_P1_R1ADJOFF_32APSK 0xf42b0020 -#define FSTV0910_P1_RADJ_32APSK 0xf42b011f - /*P1_AGC2O*/ #define RSTV0910_P1_AGC2O 0xf42c #define FSTV0910_P1_CSTENV_MODE 0xf42c00c0 +#define FSTV0910_P1_AGC2_LKSQRT 0xf42c0020 +#define FSTV0910_P1_AGC2_LKMODE 0xf42c0010 +#define FSTV0910_P1_AGC2_LKEQUA 0xf42c0008 #define FSTV0910_P1_AGC2_COEF 0xf42c0007 /*P1_AGC2REF*/ @@ -2266,36 +2204,9 @@ /*P1_AGC1ADJ*/ #define RSTV0910_P1_AGC1ADJ 0xf42e +#define FSTV0910_P1_AGC1ADJ_MANUAL 0xf42e0080 #define FSTV0910_P1_AGC1_ADJUSTED 0xf42e007f -/*P1_AGCRSADJ*/ -#define RSTV0910_P1_AGCRSADJ 0xf42f -#define FSTV0910_P1_RS_ADJUSTED 0xf42f007f - -/*P1_AGCRQADJ*/ -#define RSTV0910_P1_AGCRQADJ 0xf430 -#define FSTV0910_P1_RQ_ADJUSTED 0xf430007f - -/*P1_AGCR8ADJ*/ -#define RSTV0910_P1_AGCR8ADJ 0xf431 -#define FSTV0910_P1_R8_ADJUSTED 0xf431007f - -/*P1_AGCR1ADJ*/ -#define RSTV0910_P1_AGCR1ADJ 0xf432 -#define FSTV0910_P1_R1_ADJUSTED 0xf432007f - -/*P1_AGCR2ADJ*/ -#define RSTV0910_P1_AGCR2ADJ 0xf433 -#define FSTV0910_P1_R2_ADJUSTED 0xf433007f - -/*P1_AGCR3ADJ*/ -#define RSTV0910_P1_AGCR3ADJ 0xf434 -#define FSTV0910_P1_R3_ADJUSTED 0xf434007f - -/*P1_AGCREFADJ*/ -#define RSTV0910_P1_AGCREFADJ 0xf435 -#define FSTV0910_P1_AGC2REF_ADJUSTED 0xf435007f - /*P1_AGC2I1*/ #define RSTV0910_P1_AGC2I1 0xf436 #define FSTV0910_P1_AGC2_INTEGRATOR1 0xf43600ff @@ -2306,29 +2217,26 @@ /*P1_CARCFG*/ #define RSTV0910_P1_CARCFG 0xf438 +#define FSTV0910_P1_CFRUPLOW_AUTO 0xf4380080 +#define FSTV0910_P1_CFRUPLOW_TEST 0xf4380040 +#define FSTV0910_P1_WIDE_FREQDET 0xf4380020 +#define FSTV0910_P1_CARHDR_NODIV8 0xf4380010 +#define FSTV0910_P1_I2C_ROTA 0xf4380008 #define FSTV0910_P1_ROTAON 0xf4380004 #define FSTV0910_P1_PH_DET_ALGO 0xf4380003 /*P1_ACLC*/ #define RSTV0910_P1_ACLC 0xf439 +#define FSTV0910_P1_CARS1_ANOSAUTO 0xf4390040 #define FSTV0910_P1_CAR_ALPHA_MANT 0xf4390030 #define FSTV0910_P1_CAR_ALPHA_EXP 0xf439000f /*P1_BCLC*/ #define RSTV0910_P1_BCLC 0xf43a +#define FSTV0910_P1_CARS1_BNOSAUTO 0xf43a0040 #define FSTV0910_P1_CAR_BETA_MANT 0xf43a0030 #define FSTV0910_P1_CAR_BETA_EXP 0xf43a000f -/*P1_ACLCS2*/ -#define RSTV0910_P1_ACLCS2 0xf43b -#define FSTV0910_P1_CARS2_APLHA_MANTISSE 0xf43b0030 -#define FSTV0910_P1_CARS2_ALPHA_EXP 0xf43b000f - -/*P1_BCLCS2*/ -#define RSTV0910_P1_BCLCS2 0xf43c -#define FSTV0910_P1_CARS2_BETA_MANTISSE 0xf43c0030 -#define FSTV0910_P1_CARS2_BETA_EXP 0xf43c000f - /*P1_CARFREQ*/ #define RSTV0910_P1_CARFREQ 0xf43d #define FSTV0910_P1_KC_COARSE_EXP 0xf43d00f0 @@ -2348,6 +2256,13 @@ /*P1_CFRICFG*/ #define RSTV0910_P1_CFRICFG 0xf441 +#define FSTV0910_P1_CFRINIT_UNVALRNG 0xf4410080 +#define FSTV0910_P1_CFRINIT_LUNVALCPT 0xf4410040 +#define FSTV0910_P1_CFRINIT_ABORTDBL 0xf4410020 +#define FSTV0910_P1_CFRINIT_ABORTPRED 0xf4410010 +#define FSTV0910_P1_CFRINIT_UNVALSKIP 0xf4410008 +#define FSTV0910_P1_CFRINIT_CSTINC 0xf4410004 +#define FSTV0910_P1_CFRIROLL_GARDER 0xf4410002 #define FSTV0910_P1_NEG_CFRSTEP 0xf4410001 /*P1_CFRUP1*/ @@ -2411,6 +2326,7 @@ #define RSTV0910_P1_TMGCFG 0xf450 #define FSTV0910_P1_TMGLOCK_BETA 0xf45000c0 #define FSTV0910_P1_DO_TIMING_CORR 0xf4500010 +#define FSTV0910_P1_MANUAL_SCAN 0xf450000c #define FSTV0910_P1_TMG_MINFREQ 0xf4500003 /*P1_RTC*/ @@ -2454,7 +2370,10 @@ /*P1_TMGCFG2*/ #define RSTV0910_P1_TMGCFG2 0xf45a +#define FSTV0910_P1_KREFTMG2_DECMODE 0xf45a00c0 #define FSTV0910_P1_DIS_AUTOSAMP 0xf45a0008 +#define FSTV0910_P1_SCANINIT_QUART 0xf45a0004 +#define FSTV0910_P1_NOTMG_DVBS1DERAT 0xf45a0002 #define FSTV0910_P1_SFRRATIO_FINE 0xf45a0001 /*P1_KREFTMG2*/ @@ -2463,9 +2382,11 @@ /*P1_TMGCFG3*/ #define RSTV0910_P1_TMGCFG3 0xf45d +#define FSTV0910_P1_CFRINC_MODE 0xf45d0070 #define FSTV0910_P1_CONT_TMGCENTER 0xf45d0008 #define FSTV0910_P1_AUTO_GUP 0xf45d0004 #define FSTV0910_P1_AUTO_GLOW 0xf45d0002 +#define FSTV0910_P1_SFRVAL_MINMODE 0xf45d0001 /*P1_SFRINIT1*/ #define RSTV0910_P1_SFRINIT1 0xf45e @@ -2530,10 +2451,16 @@ /*P1_TMGOBS*/ #define RSTV0910_P1_TMGOBS 0xf46d #define FSTV0910_P1_ROLLOFF_STATUS 0xf46d00c0 +#define FSTV0910_P1_SCAN_SIGN 0xf46d0030 +#define FSTV0910_P1_TMG_SCANNING 0xf46d0008 +#define FSTV0910_P1_CHCENTERING_MODE 0xf46d0004 +#define FSTV0910_P1_TMG_SCANFAIL 0xf46d0002 /*P1_EQUALCFG*/ #define RSTV0910_P1_EQUALCFG 0xf46f +#define FSTV0910_P1_NOTMG_NEGALWAIT 0xf46f0080 #define FSTV0910_P1_EQUAL_ON 0xf46f0040 +#define FSTV0910_P1_SEL_EQUALCOR 0xf46f0038 #define FSTV0910_P1_MU_EQUALDFE 0xf46f0007 /*P1_EQUAI1*/ @@ -2664,20 +2591,20 @@ #define FSTV0910_P1_FRAMESEL_TYPESEL 0xf48e000c #define FSTV0910_P1_FRAMESEL_TYPE 0xf48e0003 -/*P1_NOSCFGF2*/ -#define RSTV0910_P1_NOSCFGF2 0xf48f -#define FSTV0910_P1_DIS_NOSPILOTS 0xf48f0080 -#define FSTV0910_P1_FRAMESEL_MODCODSEL 0xf48f0060 -#define FSTV0910_P1_FRAMESEL_MODCOD 0xf48f001f - /*P1_CAR2CFG*/ #define RSTV0910_P1_CAR2CFG 0xf490 +#define FSTV0910_P1_DESCRAMB_OFF 0xf4900080 +#define FSTV0910_P1_EN_PHNOSRAM 0xf4900020 +#define FSTV0910_P1_STOP_CFR2UPDATE 0xf4900010 +#define FSTV0910_P1_STOP_NCO2UPDATE 0xf4900008 #define FSTV0910_P1_ROTA2ON 0xf4900004 #define FSTV0910_P1_PH_DET_ALGO2 0xf4900003 /*P1_CFR2CFR1*/ #define RSTV0910_P1_CFR2CFR1 0xf491 +#define FSTV0910_P1_CFR2_S2CONTROL 0xf49100c0 #define FSTV0910_P1_EN_S2CAR2CENTER 0xf4910020 +#define FSTV0910_P1_BCHERRCFR2_MODE 0xf4910018 #define FSTV0910_P1_CFR2TOCFR1_BETA 0xf4910007 /*P1_CAR3CFG*/ @@ -2702,48 +2629,48 @@ /*P1_ACLC2S2Q*/ #define RSTV0910_P1_ACLC2S2Q 0xf497 #define FSTV0910_P1_ENAB_SPSKSYMB 0xf4970080 +#define FSTV0910_P1_CAR2S2_QANOSAUTO 0xf4970040 #define FSTV0910_P1_CAR2S2_Q_ALPH_M 0xf4970030 #define FSTV0910_P1_CAR2S2_Q_ALPH_E 0xf497000f /*P1_ACLC2S28*/ #define RSTV0910_P1_ACLC2S28 0xf498 +#define FSTV0910_P1_OLDI3Q_MODE 0xf4980080 +#define FSTV0910_P1_CAR2S2_8ANOSAUTO 0xf4980040 #define FSTV0910_P1_CAR2S2_8_ALPH_M 0xf4980030 #define FSTV0910_P1_CAR2S2_8_ALPH_E 0xf498000f /*P1_ACLC2S216A*/ #define RSTV0910_P1_ACLC2S216A 0xf499 +#define FSTV0910_P1_CAR2S2_16ANOSAUTO 0xf4990040 #define FSTV0910_P1_CAR2S2_16A_ALPH_M 0xf4990030 #define FSTV0910_P1_CAR2S2_16A_ALPH_E 0xf499000f /*P1_ACLC2S232A*/ #define RSTV0910_P1_ACLC2S232A 0xf49a +#define FSTV0910_P1_CAR2S2_32ANOSUATO 0xf49a0040 #define FSTV0910_P1_CAR2S2_32A_ALPH_M 0xf49a0030 #define FSTV0910_P1_CAR2S2_32A_ALPH_E 0xf49a000f /*P1_BCLC2S2Q*/ #define RSTV0910_P1_BCLC2S2Q 0xf49c +#define FSTV0910_P1_DVBS2S2Q_NIP 0xf49c0080 +#define FSTV0910_P1_CAR2S2_QBNOSAUTO 0xf49c0040 #define FSTV0910_P1_CAR2S2_Q_BETA_M 0xf49c0030 #define FSTV0910_P1_CAR2S2_Q_BETA_E 0xf49c000f /*P1_BCLC2S28*/ #define RSTV0910_P1_BCLC2S28 0xf49d +#define FSTV0910_P1_DVBS2S28_NIP 0xf49d0080 +#define FSTV0910_P1_CAR2S2_8BNOSAUTO 0xf49d0040 #define FSTV0910_P1_CAR2S2_8_BETA_M 0xf49d0030 #define FSTV0910_P1_CAR2S2_8_BETA_E 0xf49d000f -/*P1_BCLC2S216A*/ -#define RSTV0910_P1_BCLC2S216A 0xf49e -#define FSTV0910_P1_DVBS2S216A_NIP 0xf49e0080 -#define FSTV0910_P1_CAR2S2_16A_BETA_M 0xf49e0030 -#define FSTV0910_P1_CAR2S2_16A_BETA_E 0xf49e000f - -/*P1_BCLC2S232A*/ -#define RSTV0910_P1_BCLC2S232A 0xf49f -#define FSTV0910_P1_DVBS2S232A_NIP 0xf49f0080 -#define FSTV0910_P1_CAR2S2_32A_BETA_M 0xf49f0030 -#define FSTV0910_P1_CAR2S2_32A_BETA_E 0xf49f000f - /*P1_PLROOT2*/ #define RSTV0910_P1_PLROOT2 0xf4ac +#define FSTV0910_P1_PLHAUTO_DISPLH 0xf4ac0040 +#define FSTV0910_P1_PLHAUTO_FASTMODE 0xf4ac0020 +#define FSTV0910_P1_PLHAUTO_ENABLE 0xf4ac0010 #define FSTV0910_P1_PLSCRAMB_MODE 0xf4ac000c #define FSTV0910_P1_PLSCRAMB_ROOT2 0xf4ac0003 @@ -2755,93 +2682,45 @@ #define RSTV0910_P1_PLROOT0 0xf4ae #define FSTV0910_P1_PLSCRAMB_ROOT0 0xf4ae00ff -/*P1_MODCODLST0*/ -#define RSTV0910_P1_MODCODLST0 0xf4b0 -#define FSTV0910_P1_NACCES_MODCODCH 0xf4b00001 - -/*P1_MODCODLST1*/ -#define RSTV0910_P1_MODCODLST1 0xf4b1 -#define FSTV0910_P1_SYMBRATE_FILTER 0xf4b10008 -#define FSTV0910_P1_NRESET_MODCODLST 0xf4b10004 -#define FSTV0910_P1_DIS_32PSK_9_10 0xf4b10003 - -/*P1_MODCODLST2*/ -#define RSTV0910_P1_MODCODLST2 0xf4b2 -#define FSTV0910_P1_DIS_32PSK_8_9 0xf4b200f0 -#define FSTV0910_P1_DIS_32PSK_5_6 0xf4b2000f - -/*P1_MODCODLST3*/ -#define RSTV0910_P1_MODCODLST3 0xf4b3 -#define FSTV0910_P1_DIS_32PSK_4_5 0xf4b300f0 -#define FSTV0910_P1_DIS_32PSK_3_4 0xf4b3000f - -/*P1_MODCODLST4*/ -#define RSTV0910_P1_MODCODLST4 0xf4b4 -#define FSTV0910_P1_DUMMYPL_PILOT 0xf4b40080 -#define FSTV0910_P1_DUMMYPL_NOPILOT 0xf4b40040 -#define FSTV0910_P1_DIS_16PSK_9_10 0xf4b40030 -#define FSTV0910_P1_DIS_16PSK_8_9 0xf4b4000f - -/*P1_MODCODLST5*/ -#define RSTV0910_P1_MODCODLST5 0xf4b5 -#define FSTV0910_P1_DIS_16PSK_5_6 0xf4b500f0 -#define FSTV0910_P1_DIS_16PSK_4_5 0xf4b5000f - -/*P1_MODCODLST6*/ -#define RSTV0910_P1_MODCODLST6 0xf4b6 -#define FSTV0910_P1_DIS_16PSK_3_4 0xf4b600f0 -#define FSTV0910_P1_DIS_16PSK_2_3 0xf4b6000f - /*P1_MODCODLST7*/ #define RSTV0910_P1_MODCODLST7 0xf4b7 #define FSTV0910_P1_MODCOD_NNOSFILTER 0xf4b70080 +#define FSTV0910_P1_MODCODLST_NOSTYPE 0xf4b70040 #define FSTV0910_P1_DIS_8PSK_9_10 0xf4b70030 -#define FSTV0910_P1_DIS_8PSK_8_9 0xf4b7000f +#define FSTV0910_P1_DIS_8P_8_9 0xf4b7000f /*P1_MODCODLST8*/ #define RSTV0910_P1_MODCODLST8 0xf4b8 -#define FSTV0910_P1_DIS_8PSK_5_6 0xf4b800f0 -#define FSTV0910_P1_DIS_8PSK_3_4 0xf4b8000f +#define FSTV0910_P1_DIS_8P_5_6 0xf4b800f0 +#define FSTV0910_P1_DIS_8P_3_4 0xf4b8000f /*P1_MODCODLST9*/ #define RSTV0910_P1_MODCODLST9 0xf4b9 -#define FSTV0910_P1_DIS_8PSK_2_3 0xf4b900f0 -#define FSTV0910_P1_DIS_8PSK_3_5 0xf4b9000f +#define FSTV0910_P1_DIS_8P_2_3 0xf4b900f0 +#define FSTV0910_P1_DIS_8P_3_5 0xf4b9000f /*P1_MODCODLSTA*/ #define RSTV0910_P1_MODCODLSTA 0xf4ba #define FSTV0910_P1_NOSFILTER_LIMITE 0xf4ba0080 +#define FSTV0910_P1_NOSFILTER_MODE 0xf4ba0040 #define FSTV0910_P1_DIS_QPSK_9_10 0xf4ba0030 -#define FSTV0910_P1_DIS_QPSK_8_9 0xf4ba000f +#define FSTV0910_P1_DIS_QP_8_9 0xf4ba000f /*P1_MODCODLSTB*/ #define RSTV0910_P1_MODCODLSTB 0xf4bb -#define FSTV0910_P1_DIS_QPSK_5_6 0xf4bb00f0 -#define FSTV0910_P1_DIS_QPSK_4_5 0xf4bb000f +#define FSTV0910_P1_DIS_QP_5_6 0xf4bb00f0 +#define FSTV0910_P1_DIS_QP_4_5 0xf4bb000f /*P1_MODCODLSTC*/ #define RSTV0910_P1_MODCODLSTC 0xf4bc -#define FSTV0910_P1_DIS_QPSK_3_4 0xf4bc00f0 -#define FSTV0910_P1_DIS_QPSK_2_3 0xf4bc000f +#define FSTV0910_P1_DIS_QP_3_4 0xf4bc00f0 +#define FSTV0910_P1_DIS_QP_2_3 0xf4bc000f /*P1_MODCODLSTD*/ #define RSTV0910_P1_MODCODLSTD 0xf4bd #define FSTV0910_P1_DIS_QPSK_3_5 0xf4bd00f0 #define FSTV0910_P1_DIS_QPSK_1_2 0xf4bd000f -/*P1_MODCODLSTE*/ -#define RSTV0910_P1_MODCODLSTE 0xf4be -#define FSTV0910_P1_DIS_QPSK_2_5 0xf4be00f0 -#define FSTV0910_P1_DIS_QPSK_1_3 0xf4be000f - -/*P1_MODCODLSTF*/ -#define RSTV0910_P1_MODCODLSTF 0xf4bf -#define FSTV0910_P1_DIS_QPSK_1_4 0xf4bf00f0 -#define FSTV0910_P1_DEMOD_INVMODLST 0xf4bf0008 -#define FSTV0910_P1_DEMODOUT_ENABLE 0xf4bf0004 -#define FSTV0910_P1_DDEMOD_NSET 0xf4bf0002 -#define FSTV0910_P1_MODCOD_NSTOCK 0xf4bf0001 - /*P1_GAUSSR0*/ #define RSTV0910_P1_GAUSSR0 0xf4c0 #define FSTV0910_P1_EN_CCIMODE 0xf4c00080 @@ -2870,6 +2749,8 @@ #define FSTV0910_P1_RAINFADE_DETECT 0xf4c50080 #define FSTV0910_P1_NOTHRES2_FAIL 0xf4c50040 #define FSTV0910_P1_NOTHRES1_FAIL 0xf4c50020 +#define FSTV0910_P1_PILOT_FAILDETECT 0xf4c50010 +#define FSTV0910_P1_HIER_DETECT 0xf4c50008 #define FSTV0910_P1_DMDPROG_ERROR 0xf4c50004 #define FSTV0910_P1_CSTENV_DETECT 0xf4c50002 #define FSTV0910_P1_DETECTION_TRIAX 0xf4c50001 @@ -2877,12 +2758,15 @@ /*P1_DMDRESCFG*/ #define RSTV0910_P1_DMDRESCFG 0xf4c6 #define FSTV0910_P1_DMDRES_RESET 0xf4c60080 +#define FSTV0910_P1_DMDRES_NOISESQR 0xf4c60010 #define FSTV0910_P1_DMDRES_STRALL 0xf4c60008 #define FSTV0910_P1_DMDRES_NEWONLY 0xf4c60004 #define FSTV0910_P1_DMDRES_NOSTORE 0xf4c60002 +#define FSTV0910_P1_DMDRES_AGC2MEM 0xf4c60001 /*P1_DMDRESADR*/ #define RSTV0910_P1_DMDRESADR 0xf4c7 +#define FSTV0910_P1_SUSP_PREDCANAL 0xf4c70080 #define FSTV0910_P1_DMDRES_VALIDCFR 0xf4c70040 #define FSTV0910_P1_DMDRES_MEMFULL 0xf4c70030 #define FSTV0910_P1_DMDRES_RESNBR 0xf4c7000f @@ -2960,6 +2844,13 @@ /*P1_TNRCFG2*/ #define RSTV0910_P1_TNRCFG2 0xf4e1 #define FSTV0910_P1_TUN_IQSWAP 0xf4e10080 +#define FSTV0910_P1_STB6110_STEP2MHZ 0xf4e10040 +#define FSTV0910_P1_STB6120_DBLI2C 0xf4e10020 +#define FSTV0910_P1_TUNER_WIDEBAND 0xf4e10010 +#define FSTV0910_P1_TUNER_OBSPAGE 0xf4e10008 +#define FSTV0910_P1_DIS_BWCALC 0xf4e10004 +#define FSTV0910_P1_SHORT_WAITSTATES 0xf4e10002 +#define FSTV0910_P1_DIS_2BWAGC1 0xf4e10001 /*P1_SMAPCOEF7*/ #define RSTV0910_P1_SMAPCOEF7 0xf500 @@ -2969,6 +2860,10 @@ /*P1_SMAPCOEF6*/ #define RSTV0910_P1_SMAPCOEF6 0xf501 #define FSTV0910_P1_DIS_AGC2SCALE 0xf5010080 +#define FSTV0910_P1_DIS_16IQMULT 0xf5010040 +#define FSTV0910_P1_OLD_16APSK47 0xf5010020 +#define FSTV0910_P1_OLD_16APSK12 0xf5010010 +#define FSTV0910_P1_DIS_NEWSCALE 0xf5010008 #define FSTV0910_P1_ADJ_8PSKLLR1 0xf5010004 #define FSTV0910_P1_OLD_8PSKLLR1 0xf5010002 #define FSTV0910_P1_DIS_AB8PSK 0xf5010001 @@ -2978,29 +2873,6 @@ #define FSTV0910_P1_DIS_8SCALE 0xf5020080 #define FSTV0910_P1_SMAPCOEF_8P_LLR23 0xf502017f -/*P1_SMAPCOEF4*/ -#define RSTV0910_P1_SMAPCOEF4 0xf503 -#define FSTV0910_P1_SMAPCOEF_16APSK_LLR12 0xf503017f - -/*P1_SMAPCOEF3*/ -#define RSTV0910_P1_SMAPCOEF3 0xf504 -#define FSTV0910_P1_SMAPCOEF_16APSK_LLR34 0xf504017f - -/*P1_SMAPCOEF2*/ -#define RSTV0910_P1_SMAPCOEF2 0xf505 -#define FSTV0910_P1_SMAPCOEF_32APSK_R2R3 0xf50501f0 -#define FSTV0910_P1_SMAPCOEF_32APSK_LLR2 0xf505010f - -/*P1_SMAPCOEF1*/ -#define RSTV0910_P1_SMAPCOEF1 0xf506 -#define FSTV0910_P1_DIS_16SCALE 0xf5060080 -#define FSTV0910_P1_SMAPCOEF_32_LLR34 0xf506017f - -/*P1_SMAPCOEF0*/ -#define RSTV0910_P1_SMAPCOEF0 0xf507 -#define FSTV0910_P1_DIS_32SCALE 0xf5070080 -#define FSTV0910_P1_SMAPCOEF_32_LLR15 0xf507017f - /*P1_NOSTHRES1*/ #define RSTV0910_P1_NOSTHRES1 0xf509 #define FSTV0910_P1_NOS_THRESHOLD1 0xf50900ff @@ -3021,6 +2893,8 @@ /*P1_NOSRAMCFG*/ #define RSTV0910_P1_NOSRAMCFG 0xf50d +#define FSTV0910_P1_NOSRAM_DVBS2DATA 0xf50d0080 +#define FSTV0910_P1_NOSRAM_QUADRAT 0xf50d0040 #define FSTV0910_P1_NOSRAM_ACTIVATION 0xf50d0030 #define FSTV0910_P1_NOSRAM_CNRONLY 0xf50d0008 #define FSTV0910_P1_NOSRAM_LGNCNR1 0xf50d0007 @@ -3059,13 +2933,18 @@ #define RSTV0910_P1_VITSCALE 0xf532 #define FSTV0910_P1_NVTH_NOSRANGE 0xf5320080 #define FSTV0910_P1_VERROR_MAXMODE 0xf5320040 +#define FSTV0910_P1_KDIV_MODE 0xf5320030 #define FSTV0910_P1_NSLOWSN_LOCKED 0xf5320008 +#define FSTV0910_P1_DELOCK_PRFLOSS 0xf5320004 #define FSTV0910_P1_DIS_RSFLOCK 0xf5320002 /*P1_FECM*/ #define RSTV0910_P1_FECM 0xf533 #define FSTV0910_P1_DSS_DVB 0xf5330080 +#define FSTV0910_P1_DEMOD_BYPASS 0xf5330040 +#define FSTV0910_P1_CMP_SLOWMODE 0xf5330020 #define FSTV0910_P1_DSS_SRCH 0xf5330010 +#define FSTV0910_P1_DIFF_MODEVIT 0xf5330004 #define FSTV0910_P1_SYNCVIT 0xf5330002 #define FSTV0910_P1_IQINV 0xf5330001 @@ -3095,6 +2974,9 @@ /*P1_VITCURPUN*/ #define RSTV0910_P1_VITCURPUN 0xf53a +#define FSTV0910_P1_CYCLESLIP_VIT 0xf53a0080 +#define FSTV0910_P1_VIT_ROTA180 0xf53a0040 +#define FSTV0910_P1_VIT_ROTA90 0xf53a0020 #define FSTV0910_P1_VIT_CURPUN 0xf53a001f /*P1_VERROR*/ @@ -3121,8 +3003,14 @@ /*P1_VSTATUSVIT*/ #define RSTV0910_P1_VSTATUSVIT 0xf53e +#define FSTV0910_P1_VITERBI_ON 0xf53e0080 +#define FSTV0910_P1_END_LOOPVIT 0xf53e0040 +#define FSTV0910_P1_VITERBI_DEPRF 0xf53e0020 #define FSTV0910_P1_PRFVIT 0xf53e0010 #define FSTV0910_P1_LOCKEDVIT 0xf53e0008 +#define FSTV0910_P1_VITERBI_DELOCK 0xf53e0004 +#define FSTV0910_P1_VIT_DEMODSEL 0xf53e0002 +#define FSTV0910_P1_VITERBI_COMPOUT 0xf53e0001 /*P1_VTHINUSE*/ #define RSTV0910_P1_VTHINUSE 0xf53f @@ -3130,44 +3018,45 @@ /*P1_KDIV12*/ #define RSTV0910_P1_KDIV12 0xf540 +#define FSTV0910_P1_KDIV12_MANUAL 0xf5400080 #define FSTV0910_P1_K_DIVIDER_12 0xf540007f /*P1_KDIV23*/ #define RSTV0910_P1_KDIV23 0xf541 +#define FSTV0910_P1_KDIV23_MANUAL 0xf5410080 #define FSTV0910_P1_K_DIVIDER_23 0xf541007f /*P1_KDIV34*/ #define RSTV0910_P1_KDIV34 0xf542 +#define FSTV0910_P1_KDIV34_MANUAL 0xf5420080 #define FSTV0910_P1_K_DIVIDER_34 0xf542007f /*P1_KDIV56*/ #define RSTV0910_P1_KDIV56 0xf543 +#define FSTV0910_P1_KDIV56_MANUAL 0xf5430080 #define FSTV0910_P1_K_DIVIDER_56 0xf543007f /*P1_KDIV67*/ #define RSTV0910_P1_KDIV67 0xf544 +#define FSTV0910_P1_KDIV67_MANUAL 0xf5440080 #define FSTV0910_P1_K_DIVIDER_67 0xf544007f /*P1_KDIV78*/ #define RSTV0910_P1_KDIV78 0xf545 +#define FSTV0910_P1_KDIV78_MANUAL 0xf5450080 #define FSTV0910_P1_K_DIVIDER_78 0xf545007f -/*P1_TSPIDFLT1*/ -#define RSTV0910_P1_TSPIDFLT1 0xf546 -#define FSTV0910_P1_PIDFLT_ADDR 0xf54600ff - -/*P1_TSPIDFLT0*/ -#define RSTV0910_P1_TSPIDFLT0 0xf547 -#define FSTV0910_P1_PIDFLT_DATA 0xf54700ff - /*P1_PDELCTRL0*/ #define RSTV0910_P1_PDELCTRL0 0xf54f #define FSTV0910_P1_ISIOBS_MODE 0xf54f0030 +#define FSTV0910_P1_PDELDIS_BITWISE 0xf54f0004 /*P1_PDELCTRL1*/ #define RSTV0910_P1_PDELCTRL1 0xf550 #define FSTV0910_P1_INV_MISMASK 0xf5500080 +#define FSTV0910_P1_FORCE_ACCEPTED 0xf5500040 #define FSTV0910_P1_FILTER_EN 0xf5500020 +#define FSTV0910_P1_FORCE_PKTDELINUSE 0xf5500010 #define FSTV0910_P1_HYSTEN 0xf5500008 #define FSTV0910_P1_HYSTSWRST 0xf5500004 #define FSTV0910_P1_EN_MIS00 0xf5500002 @@ -3178,6 +3067,8 @@ #define FSTV0910_P1_FORCE_CONTINUOUS 0xf5510080 #define FSTV0910_P1_RESET_UPKO_COUNT 0xf5510040 #define FSTV0910_P1_USER_PKTDELIN_NB 0xf5510020 +#define FSTV0910_P1_DATA_UNBBSCRAMBLED 0xf5510008 +#define FSTV0910_P1_FORCE_LONGPKT 0xf5510004 #define FSTV0910_P1_FRAME_MODE 0xf5510002 /*P1_HYSTTHRESH*/ @@ -3185,11 +3076,6 @@ #define FSTV0910_P1_DELIN_LOCKTHRES 0xf55400f0 #define FSTV0910_P1_DELIN_UNLOCKTHRES 0xf554000f -/*P1_UPLCCST0*/ -#define RSTV0910_P1_UPLCCST0 0xf558 -#define FSTV0910_P1_UPL_CST0 0xf55800f8 -#define FSTV0910_P1_UPL_MODE 0xf5580007 - /*P1_ISIENTRY*/ #define RSTV0910_P1_ISIENTRY 0xf55e #define FSTV0910_P1_ISI_ENTRY 0xf55e00ff @@ -3238,13 +3124,16 @@ #define RSTV0910_P1_PDELSTATUS1 0xf569 #define FSTV0910_P1_PKTDELIN_DELOCK 0xf5690080 #define FSTV0910_P1_SYNCDUPDFL_BADDFL 0xf5690040 +#define FSTV0910_P1_CONTINUOUS_STREAM 0xf5690020 #define FSTV0910_P1_UNACCEPTED_STREAM 0xf5690010 #define FSTV0910_P1_BCH_ERROR_FLAG 0xf5690008 +#define FSTV0910_P1_BBHCRCKO 0xf5690004 #define FSTV0910_P1_PKTDELIN_LOCK 0xf5690002 #define FSTV0910_P1_FIRST_LOCK 0xf5690001 /*P1_PDELSTATUS2*/ #define RSTV0910_P1_PDELSTATUS2 0xf56a +#define FSTV0910_P1_PKTDEL_DEMODSEL 0xf56a0080 #define FSTV0910_P1_FRAME_MODCOD 0xf56a007c #define FSTV0910_P1_FRAME_TYPE 0xf56a0003 @@ -3266,12 +3155,18 @@ /*P1_PDELCTRL3*/ #define RSTV0910_P1_PDELCTRL3 0xf56f +#define FSTV0910_P1_PKTDEL_CONTFAIL 0xf56f0080 +#define FSTV0910_P1_PKTDEL_ENLONGPKT 0xf56f0040 #define FSTV0910_P1_NOFIFO_BCHERR 0xf56f0020 #define FSTV0910_P1_PKTDELIN_DELACMERR 0xf56f0010 +#define FSTV0910_P1_SATURATE_BBPKTKO 0xf56f0004 +#define FSTV0910_P1_PKTDEL_BCHERRCONT 0xf56f0002 +#define FSTV0910_P1_ETHERNET_DISFCS 0xf56f0001 /*P1_TSSTATEM*/ #define RSTV0910_P1_TSSTATEM 0xf570 #define FSTV0910_P1_TSDIL_ON 0xf5700080 +#define FSTV0910_P1_TSSKIPRS_ON 0xf5700040 #define FSTV0910_P1_TSRS_ON 0xf5700020 #define FSTV0910_P1_TSDESCRAMB_ON 0xf5700010 #define FSTV0910_P1_TSFRAME_MODE 0xf5700008 @@ -3279,15 +3174,6 @@ #define FSTV0910_P1_TSACM_MODE 0xf5700002 #define FSTV0910_P1_TSOUT_NOSYNC 0xf5700001 -/*P1_TSSTATEL*/ -#define RSTV0910_P1_TSSTATEL 0xf571 -#define FSTV0910_P1_TSNOSYNCBYTE 0xf5710080 -#define FSTV0910_P1_TSPARITY_ON 0xf5710040 -#define FSTV0910_P1_TSISSYI_ON 0xf5710008 -#define FSTV0910_P1_TSNPD_ON 0xf5710004 -#define FSTV0910_P1_TSCRC8_ON 0xf5710002 -#define FSTV0910_P1_TSDSS_PACKET 0xf5710001 - /*P1_TSCFGH*/ #define RSTV0910_P1_TSCFGH 0xf572 #define FSTV0910_P1_TSFIFO_DVBCI 0xf5720080 @@ -3303,6 +3189,8 @@ #define FSTV0910_P1_TSFIFO_MANSPEED 0xf57300c0 #define FSTV0910_P1_TSFIFO_PERMDATA 0xf5730020 #define FSTV0910_P1_TSFIFO_NONEWSGNL 0xf5730010 +#define FSTV0910_P1_NPD_SPECDVBS2 0xf5730004 +#define FSTV0910_P1_TSFIFO_DPUNACTIVE 0xf5730002 #define FSTV0910_P1_TSFIFO_INVDATA 0xf5730001 /*P1_TSCFGL*/ @@ -3313,45 +3201,32 @@ #define FSTV0910_P1_TSFIFO_EMBINDVB 0xf5740004 #define FSTV0910_P1_TSFIFO_BITSPEED 0xf5740003 -/*P1_TSSYNC*/ -#define RSTV0910_P1_TSSYNC 0xf575 -#define FSTV0910_P1_TSFIFO_SYNCMODE 0xf5750018 - /*P1_TSINSDELH*/ #define RSTV0910_P1_TSINSDELH 0xf576 #define FSTV0910_P1_TSDEL_SYNCBYTE 0xf5760080 #define FSTV0910_P1_TSDEL_XXHEADER 0xf5760040 +#define FSTV0910_P1_TSDEL_BBHEADER 0xf5760020 #define FSTV0910_P1_TSDEL_DATAFIELD 0xf5760010 +#define FSTV0910_P1_TSINSDEL_ISCR 0xf5760008 +#define FSTV0910_P1_TSINSDEL_NPD 0xf5760004 #define FSTV0910_P1_TSINSDEL_RSPARITY 0xf5760002 #define FSTV0910_P1_TSINSDEL_CRC8 0xf5760001 -/*P1_TSINSDELM*/ -#define RSTV0910_P1_TSINSDELM 0xf577 -#define FSTV0910_P1_TSINS_EMODCOD 0xf5770010 -#define FSTV0910_P1_TSINS_TOKEN 0xf5770008 -#define FSTV0910_P1_TSINS_XXXERR 0xf5770004 -#define FSTV0910_P1_TSINS_MATYPE 0xf5770002 -#define FSTV0910_P1_TSINS_UPL 0xf5770001 - -/*P1_TSINSDELL*/ -#define RSTV0910_P1_TSINSDELL 0xf578 -#define FSTV0910_P1_TSINS_DFL 0xf5780080 -#define FSTV0910_P1_TSINS_SYNCD 0xf5780040 -#define FSTV0910_P1_TSINS_BLOCLEN 0xf5780020 -#define FSTV0910_P1_TSINS_SIGPCOUNT 0xf5780010 -#define FSTV0910_P1_TSINS_FIFO 0xf5780008 -#define FSTV0910_P1_TSINS_REALPACK 0xf5780004 -#define FSTV0910_P1_TSINS_TSCONFIG 0xf5780002 -#define FSTV0910_P1_TSINS_LATENCY 0xf5780001 - /*P1_TSDIVN*/ #define RSTV0910_P1_TSDIVN 0xf579 #define FSTV0910_P1_TSFIFO_SPEEDMODE 0xf57900c0 +#define FSTV0910_P1_BYTE_OVERSAMPLING 0xf5790038 #define FSTV0910_P1_TSFIFO_RISEOK 0xf5790007 /*P1_TSCFG4*/ #define RSTV0910_P1_TSCFG4 0xf57a #define FSTV0910_P1_TSFIFO_TSSPEEDMODE 0xf57a00c0 +#define FSTV0910_P1_TSFIFO_HIERSEL 0xf57a0020 +#define FSTV0910_P1_TSFIFO_SPECTOKEN 0xf57a0010 +#define FSTV0910_P1_TSFIFO_MAXMODE 0xf57a0008 +#define FSTV0910_P1_TSFIFO_FRFORCEPKT 0xf57a0004 +#define FSTV0910_P1_EXT_FECSPYIN 0xf57a0002 +#define FSTV0910_P1_TSFIFO_DELSPEEDUP 0xf57a0001 /*P1_TSSPEED*/ #define RSTV0910_P1_TSSPEED 0xf580 @@ -3361,8 +3236,11 @@ #define RSTV0910_P1_TSSTATUS 0xf581 #define FSTV0910_P1_TSFIFO_LINEOK 0xf5810080 #define FSTV0910_P1_TSFIFO_ERROR 0xf5810040 +#define FSTV0910_P1_TSFIFO_DATA7 0xf5810020 #define FSTV0910_P1_TSFIFO_NOSYNC 0xf5810010 +#define FSTV0910_P1_ISCR_INITIALIZED 0xf5810008 #define FSTV0910_P1_TSREGUL_ERROR 0xf5810004 +#define FSTV0910_P1_SOFFIFO_UNREGUL 0xf5810002 #define FSTV0910_P1_DIL_READY 0xf5810001 /*P1_TSSTATUS2*/ @@ -3370,7 +3248,11 @@ #define FSTV0910_P1_TSFIFO_DEMODSEL 0xf5820080 #define FSTV0910_P1_TSFIFOSPEED_STORE 0xf5820040 #define FSTV0910_P1_DILXX_RESET 0xf5820020 +#define FSTV0910_P1_TSSPEED_IMPOSSIBLE 0xf5820010 +#define FSTV0910_P1_TSFIFO_LINENOK 0xf5820008 +#define FSTV0910_P1_TSFIFO_MUXSTREAM 0xf5820004 #define FSTV0910_P1_SCRAMBDETECT 0xf5820002 +#define FSTV0910_P1_ULDTV67_FALSELOCK 0xf5820001 /*P1_TSBITRATE1*/ #define RSTV0910_P1_TSBITRATE1 0xf583 @@ -3380,59 +3262,6 @@ #define RSTV0910_P1_TSBITRATE0 0xf584 #define FSTV0910_P1_TSFIFO_BITRATE0 0xf58400ff -/*P1_TSPACKLEN1*/ -#define RSTV0910_P1_TSPACKLEN1 0xf585 -#define FSTV0910_P1_TSFIFO_PACKCPT 0xf58500e0 - -/*P1_TSDLY2*/ -#define RSTV0910_P1_TSDLY2 0xf589 -#define FSTV0910_P1_SOFFIFO_LATENCY2 0xf589000f - -/*P1_TSDLY1*/ -#define RSTV0910_P1_TSDLY1 0xf58a -#define FSTV0910_P1_SOFFIFO_LATENCY1 0xf58a00ff - -/*P1_TSDLY0*/ -#define RSTV0910_P1_TSDLY0 0xf58b -#define FSTV0910_P1_SOFFIFO_LATENCY0 0xf58b00ff - -/*P1_TSNPDAV*/ -#define RSTV0910_P1_TSNPDAV 0xf58c -#define FSTV0910_P1_TSNPD_AVERAGE 0xf58c00ff - -/*P1_TSBUFSTAT2*/ -#define RSTV0910_P1_TSBUFSTAT2 0xf58d -#define FSTV0910_P1_TSISCR_3BYTES 0xf58d0080 -#define FSTV0910_P1_TSISCR_NEWDATA 0xf58d0040 -#define FSTV0910_P1_TSISCR_BUFSTAT2 0xf58d003f - -/*P1_TSBUFSTAT1*/ -#define RSTV0910_P1_TSBUFSTAT1 0xf58e -#define FSTV0910_P1_TSISCR_BUFSTAT1 0xf58e00ff - -/*P1_TSBUFSTAT0*/ -#define RSTV0910_P1_TSBUFSTAT0 0xf58f -#define FSTV0910_P1_TSISCR_BUFSTAT0 0xf58f00ff - -/*P1_TSDEBUGL*/ -#define RSTV0910_P1_TSDEBUGL 0xf591 -#define FSTV0910_P1_TSFIFO_ERROR_EVNT 0xf5910004 -#define FSTV0910_P1_TSFIFO_OVERFLOWM 0xf5910001 - -/*P1_TSDLYSET2*/ -#define RSTV0910_P1_TSDLYSET2 0xf592 -#define FSTV0910_P1_SOFFIFO_OFFSET 0xf59200c0 -#define FSTV0910_P1_HYSTERESIS_THRESHOLD 0xf5920030 -#define FSTV0910_P1_SOFFIFO_SYMBOFFS2 0xf592000f - -/*P1_TSDLYSET1*/ -#define RSTV0910_P1_TSDLYSET1 0xf593 -#define FSTV0910_P1_SOFFIFO_SYMBOFFS1 0xf59300ff - -/*P1_TSDLYSET0*/ -#define RSTV0910_P1_TSDLYSET0 0xf594 -#define FSTV0910_P1_SOFFIFO_SYMBOFFS0 0xf59400ff - /*P1_ERRCTRL1*/ #define RSTV0910_P1_ERRCTRL1 0xf598 #define FSTV0910_P1_ERR_SOURCE1 0xf59800f0 @@ -3490,12 +3319,14 @@ /*P1_FSPYDATA*/ #define RSTV0910_P1_FSPYDATA 0xf5a2 #define FSTV0910_P1_SPY_STUFFING 0xf5a20080 +#define FSTV0910_P1_NOERROR_PKTJITTER 0xf5a20040 #define FSTV0910_P1_SPY_CNULLPKT 0xf5a20020 #define FSTV0910_P1_SPY_OUTDATA_MODE 0xf5a2001f /*P1_FSPYOUT*/ #define RSTV0910_P1_FSPYOUT 0xf5a3 #define FSTV0910_P1_FSPY_DIRECT 0xf5a30080 +#define FSTV0910_P1_SPY_OUTDATA_BUS 0xf5a30038 #define FSTV0910_P1_STUFF_MODE 0xf5a30007 /*P1_FSTATUS*/ @@ -3540,6 +3371,8 @@ /*P1_FSPYBER*/ #define RSTV0910_P1_FSPYBER 0xf5b2 +#define FSTV0910_P1_FSPYOBS_XORREAD 0xf5b20040 +#define FSTV0910_P1_FSPYBER_OBSMODE 0xf5b20020 #define FSTV0910_P1_FSPYBER_SYNCBYTE 0xf5b20010 #define FSTV0910_P1_FSPYBER_UNSYNC 0xf5b20008 #define FSTV0910_P1_FSPYBER_CTIME 0xf5b20007 @@ -3560,26 +3393,32 @@ /*P1_SFKDIV12*/ #define RSTV0910_P1_SFKDIV12 0xf5c4 #define FSTV0910_P1_SFECKDIV12_MAN 0xf5c40080 +#define FSTV0910_P1_SFEC_K_DIVIDER_12 0xf5c4007f /*P1_SFKDIV23*/ #define RSTV0910_P1_SFKDIV23 0xf5c5 #define FSTV0910_P1_SFECKDIV23_MAN 0xf5c50080 +#define FSTV0910_P1_SFEC_K_DIVIDER_23 0xf5c5007f /*P1_SFKDIV34*/ #define RSTV0910_P1_SFKDIV34 0xf5c6 #define FSTV0910_P1_SFECKDIV34_MAN 0xf5c60080 +#define FSTV0910_P1_SFEC_K_DIVIDER_34 0xf5c6007f /*P1_SFKDIV56*/ #define RSTV0910_P1_SFKDIV56 0xf5c7 #define FSTV0910_P1_SFECKDIV56_MAN 0xf5c70080 +#define FSTV0910_P1_SFEC_K_DIVIDER_56 0xf5c7007f /*P1_SFKDIV67*/ #define RSTV0910_P1_SFKDIV67 0xf5c8 #define FSTV0910_P1_SFECKDIV67_MAN 0xf5c80080 +#define FSTV0910_P1_SFEC_K_DIVIDER_67 0xf5c8007f /*P1_SFKDIV78*/ #define RSTV0910_P1_SFKDIV78 0xf5c9 #define FSTV0910_P1_SFECKDIV78_MAN 0xf5c90080 +#define FSTV0910_P1_SFEC_K_DIVIDER_78 0xf5c9007f /*P1_SFSTATUS*/ #define RSTV0910_P1_SFSTATUS 0xf5cc @@ -3594,7 +3433,11 @@ /*P1_SFDLYSET2*/ #define RSTV0910_P1_SFDLYSET2 0xf5d0 +#define FSTV0910_P1_SFEC_OFFSET 0xf5d000c0 +#define FSTV0910_P1_RST_SFEC 0xf5d00008 +#define FSTV0910_P1_DILDLINE_ERROR 0xf5d00004 #define FSTV0910_P1_SFEC_DISABLE 0xf5d00002 +#define FSTV0910_P1_SFEC_UNREGUL 0xf5d00001 /*P1_SFERRCTRL*/ #define RSTV0910_P1_SFERRCTRL 0xf5d8 @@ -3614,79 +3457,14 @@ #define RSTV0910_P1_SFERRCNT0 0xf5db #define FSTV0910_P1_SFEC_ERR_CNT0 0xf5db00ff -/*RCCFG2*/ -#define RSTV0910_RCCFG2 0xf600 -#define FSTV0910_TSRCFIFO_DVBCI 0xf6000080 -#define FSTV0910_TSRCFIFO_SERIAL 0xf6000040 -#define FSTV0910_TSRCFIFO_DISABLE 0xf6000020 -#define FSTV0910_TSFIFO_2TORC 0xf6000010 -#define FSTV0910_TSRCFIFO_HSGNLOUT 0xf6000008 -#define FSTV0910_TSRCFIFO_ERRMODE 0xf6000006 - -/*RCCFG1*/ -#define RSTV0910_RCCFG1 0xf601 -#define FSTV0910_TSRCFIFO_MANSPEED 0xf60100c0 -#define FSTV0910_TSRCFIFO_PERMDATA 0xf6010020 -#define FSTV0910_TSRCFIFO_NONEWSGNL 0xf6010010 -#define FSTV0910_TSRCFIFO_INVDATA 0xf6010001 - -/*RCCFG0*/ -#define RSTV0910_RCCFG0 0xf602 -#define FSTV0910_TSRCFIFO_BCLKDEL1CK 0xf60200c0 -#define FSTV0910_TSRCFIFO_DUTY50 0xf6020010 -#define FSTV0910_TSRCFIFO_NSGNL2DATA 0xf6020008 -#define FSTV0910_TSRCFIFO_NPDSGNL 0xf6020004 - -/*RCINSDEL2*/ -#define RSTV0910_RCINSDEL2 0xf603 -#define FSTV0910_TSRCDEL_SYNCBYTE 0xf6030080 -#define FSTV0910_TSRCDEL_XXHEADER 0xf6030040 -#define FSTV0910_TSRCDEL_BBHEADER 0xf6030020 -#define FSTV0910_TSRCDEL_DATAFIELD 0xf6030010 -#define FSTV0910_TSRCINSDEL_ISCR 0xf6030008 -#define FSTV0910_TSRCINSDEL_NPD 0xf6030004 -#define FSTV0910_TSRCINSDEL_RSPARITY 0xf6030002 -#define FSTV0910_TSRCINSDEL_CRC8 0xf6030001 - -/*RCINSDEL1*/ -#define RSTV0910_RCINSDEL1 0xf604 -#define FSTV0910_TSRCINS_BBPADDING 0xf6040080 -#define FSTV0910_TSRCINS_BCHFEC 0xf6040040 -#define FSTV0910_TSRCINS_EMODCOD 0xf6040010 -#define FSTV0910_TSRCINS_TOKEN 0xf6040008 -#define FSTV0910_TSRCINS_XXXERR 0xf6040004 -#define FSTV0910_TSRCINS_MATYPE 0xf6040002 -#define FSTV0910_TSRCINS_UPL 0xf6040001 - -/*RCINSDEL0*/ -#define RSTV0910_RCINSDEL0 0xf605 -#define FSTV0910_TSRCINS_DFL 0xf6050080 -#define FSTV0910_TSRCINS_SYNCD 0xf6050040 -#define FSTV0910_TSRCINS_BLOCLEN 0xf6050020 -#define FSTV0910_TSRCINS_SIGPCOUNT 0xf6050010 -#define FSTV0910_TSRCINS_FIFO 0xf6050008 -#define FSTV0910_TSRCINS_REALPACK 0xf6050004 -#define FSTV0910_TSRCINS_TSCONFIG 0xf6050002 -#define FSTV0910_TSRCINS_LATENCY 0xf6050001 - -/*RCSTATUS*/ -#define RSTV0910_RCSTATUS 0xf606 -#define FSTV0910_TSRCFIFO_LINEOK 0xf6060080 -#define FSTV0910_TSRCFIFO_ERROR 0xf6060040 -#define FSTV0910_TSRCREGUL_ERROR 0xf6060010 -#define FSTV0910_TSRCFIFO_DEMODSEL 0xf6060008 -#define FSTV0910_TSRCFIFOSPEED_STORE 0xf6060004 -#define FSTV0910_TSRCSPEED_IMPOSSIBLE 0xf6060001 - -/*RCSPEED*/ -#define RSTV0910_RCSPEED 0xf607 -#define FSTV0910_TSRCFIFO_OUTSPEED 0xf60700ff - /*TSGENERAL*/ #define RSTV0910_TSGENERAL 0xf630 +#define FSTV0910_EN_LGNERROR 0xf6300080 #define FSTV0910_TSFIFO_DISTS2PAR 0xf6300040 +#define FSTV0910_MUXSTREAM_COMPMOSE 0xf6300030 #define FSTV0910_MUXSTREAM_OUTMODE 0xf6300008 #define FSTV0910_TSFIFO_PERMPARAL 0xf6300006 +#define FSTV0910_RST_REEDSOLO 0xf6300001 /*P1_DISIRQCFG*/ #define RSTV0910_P1_DISIRQCFG 0xf700 @@ -3817,6 +3595,7 @@ /*P1_ACRPRESC*/ #define RSTV0910_P1_ACRPRESC 0xf71e +#define FSTV0910_P1_ACR_CODFRDY 0xf71e0008 #define FSTV0910_P1_ACR_PRESC 0xf71e0007 /*P1_ACRDIV*/ @@ -3952,24 +3731,13 @@ /*P2_ACRPRESC*/ #define RSTV0910_P2_ACRPRESC 0xf75e +#define FSTV0910_P2_ACR_CODFRDY 0xf75e0008 #define FSTV0910_P2_ACR_PRESC 0xf75e0007 /*P2_ACRDIV*/ #define RSTV0910_P2_ACRDIV 0xf75f #define FSTV0910_P2_ACR_DIV 0xf75f00ff -/*P1_NBITER_NF1*/ -#define RSTV0910_P1_NBITER_NF1 0xfa00 -#define FSTV0910_P1_NBITER_NF_QPSK_1_4 0xfa0000ff - -/*P1_NBITER_NF2*/ -#define RSTV0910_P1_NBITER_NF2 0xfa01 -#define FSTV0910_P1_NBITER_NF_QPSK_1_3 0xfa0100ff - -/*P1_NBITER_NF3*/ -#define RSTV0910_P1_NBITER_NF3 0xfa02 -#define FSTV0910_P1_NBITER_NF_QPSK_2_5 0xfa0200ff - /*P1_NBITER_NF4*/ #define RSTV0910_P1_NBITER_NF4 0xfa03 #define FSTV0910_P1_NBITER_NF_QPSK_1_2 0xfa0300ff @@ -4026,231 +3794,6 @@ #define RSTV0910_P1_NBITER_NF17 0xfa10 #define FSTV0910_P1_NBITER_NF_8PSK_9_10 0xfa1000ff -/*P1_NBITER_NF18*/ -#define RSTV0910_P1_NBITER_NF18 0xfa11 -#define FSTV0910_P1_NBITER_NF_16APSK_2_3 0xfa1100ff - -/*P1_NBITER_NF19*/ -#define RSTV0910_P1_NBITER_NF19 0xfa12 -#define FSTV0910_P1_NBITER_NF_16APSK_3_4 0xfa1200ff - -/*P1_NBITER_NF20*/ -#define RSTV0910_P1_NBITER_NF20 0xfa13 -#define FSTV0910_P1_NBITER_NF_16APSK_4_5 0xfa1300ff - -/*P1_NBITER_NF21*/ -#define RSTV0910_P1_NBITER_NF21 0xfa14 -#define FSTV0910_P1_NBITER_NF_16APSK_5_6 0xfa1400ff - -/*P1_NBITER_NF22*/ -#define RSTV0910_P1_NBITER_NF22 0xfa15 -#define FSTV0910_P1_NBITER_NF_16APSK_8_9 0xfa1500ff - -/*P1_NBITER_NF23*/ -#define RSTV0910_P1_NBITER_NF23 0xfa16 -#define FSTV0910_P1_NBITER_NF_16APSK_9_10 0xfa1600ff - -/*P1_NBITER_NF24*/ -#define RSTV0910_P1_NBITER_NF24 0xfa17 -#define FSTV0910_P1_NBITER_NF_32APSK_3_4 0xfa1700ff - -/*P1_NBITER_NF25*/ -#define RSTV0910_P1_NBITER_NF25 0xfa18 -#define FSTV0910_P1_NBITER_NF_32APSK_4_5 0xfa1800ff - -/*P1_NBITER_NF26*/ -#define RSTV0910_P1_NBITER_NF26 0xfa19 -#define FSTV0910_P1_NBITER_NF_32APSK_5_6 0xfa1900ff - -/*P1_NBITER_NF27*/ -#define RSTV0910_P1_NBITER_NF27 0xfa1a -#define FSTV0910_P1_NBITER_NF_32APSK_8_9 0xfa1a00ff - -/*P1_NBITER_NF28*/ -#define RSTV0910_P1_NBITER_NF28 0xfa1b -#define FSTV0910_P1_NBITER_NF_32APSK_9_10 0xfa1b00ff - -/*P1_NBITER_SF1*/ -#define RSTV0910_P1_NBITER_SF1 0xfa1c -#define FSTV0910_P1_NBITER_SF_QPSK_1_4 0xfa1c00ff - -/*P1_NBITER_SF2*/ -#define RSTV0910_P1_NBITER_SF2 0xfa1d -#define FSTV0910_P1_NBITER_SF_QPSK_1_3 0xfa1d00ff - -/*P1_NBITER_SF3*/ -#define RSTV0910_P1_NBITER_SF3 0xfa1e -#define FSTV0910_P1_NBITER_SF_QPSK_2_5 0xfa1e00ff - -/*P1_NBITER_SF4*/ -#define RSTV0910_P1_NBITER_SF4 0xfa1f -#define FSTV0910_P1_NBITER_SF_QPSK_1_2 0xfa1f00ff - -/*P1_NBITER_SF5*/ -#define RSTV0910_P1_NBITER_SF5 0xfa20 -#define FSTV0910_P1_NBITER_SF_QPSK_3_5 0xfa2000ff - -/*P1_NBITER_SF6*/ -#define RSTV0910_P1_NBITER_SF6 0xfa21 -#define FSTV0910_P1_NBITER_SF_QPSK_2_3 0xfa2100ff - -/*P1_NBITER_SF7*/ -#define RSTV0910_P1_NBITER_SF7 0xfa22 -#define FSTV0910_P1_NBITER_SF_QPSK_3_4 0xfa2200ff - -/*P1_NBITER_SF8*/ -#define RSTV0910_P1_NBITER_SF8 0xfa23 -#define FSTV0910_P1_NBITER_SF_QPSK_4_5 0xfa2300ff - -/*P1_NBITER_SF9*/ -#define RSTV0910_P1_NBITER_SF9 0xfa24 -#define FSTV0910_P1_NBITER_SF_QPSK_5_6 0xfa2400ff - -/*P1_NBITER_SF10*/ -#define RSTV0910_P1_NBITER_SF10 0xfa25 -#define FSTV0910_P1_NBITER_SF_QPSK_8_9 0xfa2500ff - -/*P1_NBITER_SF12*/ -#define RSTV0910_P1_NBITER_SF12 0xfa26 -#define FSTV0910_P1_NBITER_SF_8PSK_3_5 0xfa2600ff - -/*P1_NBITER_SF13*/ -#define RSTV0910_P1_NBITER_SF13 0xfa27 -#define FSTV0910_P1_NBITER_SF_8PSK_2_3 0xfa2700ff - -/*P1_NBITER_SF14*/ -#define RSTV0910_P1_NBITER_SF14 0xfa28 -#define FSTV0910_P1_NBITER_SF_8PSK_3_4 0xfa2800ff - -/*P1_NBITER_SF15*/ -#define RSTV0910_P1_NBITER_SF15 0xfa29 -#define FSTV0910_P1_NBITER_SF_8PSK_5_6 0xfa2900ff - -/*P1_NBITER_SF16*/ -#define RSTV0910_P1_NBITER_SF16 0xfa2a -#define FSTV0910_P1_NBITER_SF_8PSK_8_9 0xfa2a00ff - -/*P1_NBITER_SF18*/ -#define RSTV0910_P1_NBITER_SF18 0xfa2b -#define FSTV0910_P1_NBITER_SF_16APSK_2_3 0xfa2b00ff - -/*P1_NBITER_SF19*/ -#define RSTV0910_P1_NBITER_SF19 0xfa2c -#define FSTV0910_P1_NBITER_SF_16APSK_3_4 0xfa2c00ff - -/*P1_NBITER_SF20*/ -#define RSTV0910_P1_NBITER_SF20 0xfa2d -#define FSTV0910_P1_NBITER_SF_16APSK_4_5 0xfa2d00ff - -/*P1_NBITER_SF21*/ -#define RSTV0910_P1_NBITER_SF21 0xfa2e -#define FSTV0910_P1_NBITER_SF_16APSK_5_6 0xfa2e00ff - -/*P1_NBITER_SF22*/ -#define RSTV0910_P1_NBITER_SF22 0xfa2f -#define FSTV0910_P1_NBITER_SF_16APSK_8_9 0xfa2f00ff - -/*P1_NBITER_SF24*/ -#define RSTV0910_P1_NBITER_SF24 0xfa30 -#define FSTV0910_P1_NBITER_SF_32APSK_3_4 0xfa3000ff - -/*P1_NBITER_SF25*/ -#define RSTV0910_P1_NBITER_SF25 0xfa31 -#define FSTV0910_P1_NBITER_SF_32APSK_4_5 0xfa3100ff - -/*P1_NBITER_SF26*/ -#define RSTV0910_P1_NBITER_SF26 0xfa32 -#define FSTV0910_P1_NBITER_SF_32APSK_5_6 0xfa3200ff - -/*P1_NBITER_SF27*/ -#define RSTV0910_P1_NBITER_SF27 0xfa33 -#define FSTV0910_P1_NBITER_SF_32APSK_8_9 0xfa3300ff - -/*SELSATUR6*/ -#define RSTV0910_SELSATUR6 0xfa34 -#define FSTV0910_SSAT_SF27 0xfa340008 -#define FSTV0910_SSAT_SF26 0xfa340004 -#define FSTV0910_SSAT_SF25 0xfa340002 -#define FSTV0910_SSAT_SF24 0xfa340001 - -/*SELSATUR5*/ -#define RSTV0910_SELSATUR5 0xfa35 -#define FSTV0910_SSAT_SF22 0xfa350080 -#define FSTV0910_SSAT_SF21 0xfa350040 -#define FSTV0910_SSAT_SF20 0xfa350020 -#define FSTV0910_SSAT_SF19 0xfa350010 -#define FSTV0910_SSAT_SF18 0xfa350008 -#define FSTV0910_SSAT_SF16 0xfa350004 -#define FSTV0910_SSAT_SF15 0xfa350002 -#define FSTV0910_SSAT_SF14 0xfa350001 - -/*SELSATUR4*/ -#define RSTV0910_SELSATUR4 0xfa36 -#define FSTV0910_SSAT_SF13 0xfa360080 -#define FSTV0910_SSAT_SF12 0xfa360040 -#define FSTV0910_SSAT_SF10 0xfa360020 -#define FSTV0910_SSAT_SF9 0xfa360010 -#define FSTV0910_SSAT_SF8 0xfa360008 -#define FSTV0910_SSAT_SF7 0xfa360004 -#define FSTV0910_SSAT_SF6 0xfa360002 -#define FSTV0910_SSAT_SF5 0xfa360001 - -/*SELSATUR3*/ -#define RSTV0910_SELSATUR3 0xfa37 -#define FSTV0910_SSAT_SF4 0xfa370080 -#define FSTV0910_SSAT_SF3 0xfa370040 -#define FSTV0910_SSAT_SF2 0xfa370020 -#define FSTV0910_SSAT_SF1 0xfa370010 -#define FSTV0910_SSAT_NF28 0xfa370008 -#define FSTV0910_SSAT_NF27 0xfa370004 -#define FSTV0910_SSAT_NF26 0xfa370002 -#define FSTV0910_SSAT_NF25 0xfa370001 - -/*SELSATUR2*/ -#define RSTV0910_SELSATUR2 0xfa38 -#define FSTV0910_SSAT_NF24 0xfa380080 -#define FSTV0910_SSAT_NF23 0xfa380040 -#define FSTV0910_SSAT_NF22 0xfa380020 -#define FSTV0910_SSAT_NF21 0xfa380010 -#define FSTV0910_SSAT_NF20 0xfa380008 -#define FSTV0910_SSAT_NF19 0xfa380004 -#define FSTV0910_SSAT_NF18 0xfa380002 -#define FSTV0910_SSAT_NF17 0xfa380001 - -/*SELSATUR1*/ -#define RSTV0910_SELSATUR1 0xfa39 -#define FSTV0910_SSAT_NF16 0xfa390080 -#define FSTV0910_SSAT_NF15 0xfa390040 -#define FSTV0910_SSAT_NF14 0xfa390020 -#define FSTV0910_SSAT_NF13 0xfa390010 -#define FSTV0910_SSAT_NF12 0xfa390008 -#define FSTV0910_SSAT_NF11 0xfa390004 -#define FSTV0910_SSAT_NF10 0xfa390002 -#define FSTV0910_SSAT_NF9 0xfa390001 - -/*SELSATUR0*/ -#define RSTV0910_SELSATUR0 0xfa3a -#define FSTV0910_SSAT_NF8 0xfa3a0080 -#define FSTV0910_SSAT_NF7 0xfa3a0040 -#define FSTV0910_SSAT_NF6 0xfa3a0020 -#define FSTV0910_SSAT_NF5 0xfa3a0010 -#define FSTV0910_SSAT_NF4 0xfa3a0008 -#define FSTV0910_SSAT_NF3 0xfa3a0004 -#define FSTV0910_SSAT_NF2 0xfa3a0002 -#define FSTV0910_SSAT_NF1 0xfa3a0001 - -/*GAINLLR_NF1*/ -#define RSTV0910_GAINLLR_NF1 0xfa40 -#define FSTV0910_GAINLLR_NF_QPSK_1_4 0xfa40007f - -/*GAINLLR_NF2*/ -#define RSTV0910_GAINLLR_NF2 0xfa41 -#define FSTV0910_GAINLLR_NF_QPSK_1_3 0xfa41007f - -/*GAINLLR_NF3*/ -#define RSTV0910_GAINLLR_NF3 0xfa42 -#define FSTV0910_GAINLLR_NF_QPSK_2_5 0xfa42007f - /*GAINLLR_NF4*/ #define RSTV0910_GAINLLR_NF4 0xfa43 #define FSTV0910_GAINLLR_NF_QPSK_1_2 0xfa43007f @@ -4307,155 +3850,23 @@ #define RSTV0910_GAINLLR_NF17 0xfa50 #define FSTV0910_GAINLLR_NF_8PSK_9_10 0xfa50007f -/*GAINLLR_NF18*/ -#define RSTV0910_GAINLLR_NF18 0xfa51 -#define FSTV0910_GAINLLR_NF_16APSK_2_3 0xfa51007f - -/*GAINLLR_NF19*/ -#define RSTV0910_GAINLLR_NF19 0xfa52 -#define FSTV0910_GAINLLR_NF_16APSK_3_4 0xfa52007f - -/*GAINLLR_NF20*/ -#define RSTV0910_GAINLLR_NF20 0xfa53 -#define FSTV0910_GAINLLR_NF_16APSK_4_5 0xfa53007f - -/*GAINLLR_NF21*/ -#define RSTV0910_GAINLLR_NF21 0xfa54 -#define FSTV0910_GAINLLR_NF_16APSK_5_6 0xfa54007f - -/*GAINLLR_NF22*/ -#define RSTV0910_GAINLLR_NF22 0xfa55 -#define FSTV0910_GAINLLR_NF_16APSK_8_9 0xfa55007f - -/*GAINLLR_NF23*/ -#define RSTV0910_GAINLLR_NF23 0xfa56 -#define FSTV0910_GAINLLR_NF_16APSK_9_10 0xfa56007f - -/*GAINLLR_NF24*/ -#define RSTV0910_GAINLLR_NF24 0xfa57 -#define FSTV0910_GAINLLR_NF_32APSK_3_4 0xfa57007f - -/*GAINLLR_NF25*/ -#define RSTV0910_GAINLLR_NF25 0xfa58 -#define FSTV0910_GAINLLR_NF_32APSK_4_5 0xfa58007f - -/*GAINLLR_NF26*/ -#define RSTV0910_GAINLLR_NF26 0xfa59 -#define FSTV0910_GAINLLR_NF_32APSK_5_6 0xfa59007f - -/*GAINLLR_NF27*/ -#define RSTV0910_GAINLLR_NF27 0xfa5a -#define FSTV0910_GAINLLR_NF_32APSK_8_9 0xfa5a007f - -/*GAINLLR_NF28*/ -#define RSTV0910_GAINLLR_NF28 0xfa5b -#define FSTV0910_GAINLLR_NF_32APSK_9_10 0xfa5b007f - -/*GAINLLR_SF1*/ -#define RSTV0910_GAINLLR_SF1 0xfa5c -#define FSTV0910_GAINLLR_SF_QPSK_1_4 0xfa5c007f - -/*GAINLLR_SF2*/ -#define RSTV0910_GAINLLR_SF2 0xfa5d -#define FSTV0910_GAINLLR_SF_QPSK_1_3 0xfa5d007f - -/*GAINLLR_SF3*/ -#define RSTV0910_GAINLLR_SF3 0xfa5e -#define FSTV0910_GAINLLR_SF_QPSK_2_5 0xfa5e007f - -/*GAINLLR_SF4*/ -#define RSTV0910_GAINLLR_SF4 0xfa5f -#define FSTV0910_GAINLLR_SF_QPSK_1_2 0xfa5f007f - -/*GAINLLR_SF5*/ -#define RSTV0910_GAINLLR_SF5 0xfa60 -#define FSTV0910_GAINLLR_SF_QPSK_3_5 0xfa60007f - -/*GAINLLR_SF6*/ -#define RSTV0910_GAINLLR_SF6 0xfa61 -#define FSTV0910_GAINLLR_SF_QPSK_2_3 0xfa61007f - -/*GAINLLR_SF7*/ -#define RSTV0910_GAINLLR_SF7 0xfa62 -#define FSTV0910_GAINLLR_SF_QPSK_3_4 0xfa62007f - -/*GAINLLR_SF8*/ -#define RSTV0910_GAINLLR_SF8 0xfa63 -#define FSTV0910_GAINLLR_SF_QPSK_4_5 0xfa63007f - -/*GAINLLR_SF9*/ -#define RSTV0910_GAINLLR_SF9 0xfa64 -#define FSTV0910_GAINLLR_SF_QPSK_5_6 0xfa64007f - -/*GAINLLR_SF10*/ -#define RSTV0910_GAINLLR_SF10 0xfa65 -#define FSTV0910_GAINLLR_SF_QPSK_8_9 0xfa65007f - -/*GAINLLR_SF12*/ -#define RSTV0910_GAINLLR_SF12 0xfa66 -#define FSTV0910_GAINLLR_SF_8PSK_3_5 0xfa66007f - -/*GAINLLR_SF13*/ -#define RSTV0910_GAINLLR_SF13 0xfa67 -#define FSTV0910_GAINLLR_SF_8PSK_2_3 0xfa67007f - -/*GAINLLR_SF14*/ -#define RSTV0910_GAINLLR_SF14 0xfa68 -#define FSTV0910_GAINLLR_SF_8PSK_3_4 0xfa68007f - -/*GAINLLR_SF15*/ -#define RSTV0910_GAINLLR_SF15 0xfa69 -#define FSTV0910_GAINLLR_SF_8PSK_5_6 0xfa69007f - -/*GAINLLR_SF16*/ -#define RSTV0910_GAINLLR_SF16 0xfa6a -#define FSTV0910_GAINLLR_SF_8PSK_8_9 0xfa6a007f - -/*GAINLLR_SF18*/ -#define RSTV0910_GAINLLR_SF18 0xfa6b -#define FSTV0910_GAINLLR_SF_16APSK_2_3 0xfa6b007f - -/*GAINLLR_SF19*/ -#define RSTV0910_GAINLLR_SF19 0xfa6c -#define FSTV0910_GAINLLR_SF_16APSK_3_4 0xfa6c007f - -/*GAINLLR_SF20*/ -#define RSTV0910_GAINLLR_SF20 0xfa6d -#define FSTV0910_GAINLLR_SF_16APSK_4_5 0xfa6d007f - -/*GAINLLR_SF21*/ -#define RSTV0910_GAINLLR_SF21 0xfa6e -#define FSTV0910_GAINLLR_SF_16APSK_5_6 0xfa6e007f - -/*GAINLLR_SF22*/ -#define RSTV0910_GAINLLR_SF22 0xfa6f -#define FSTV0910_GAINLLR_SF_16APSK_8_9 0xfa6f007f - -/*GAINLLR_SF24*/ -#define RSTV0910_GAINLLR_SF24 0xfa70 -#define FSTV0910_GAINLLR_SF_32APSK_3_4 0xfa70007f - -/*GAINLLR_SF25*/ -#define RSTV0910_GAINLLR_SF25 0xfa71 -#define FSTV0910_GAINLLR_SF_32APSK_4_5 0xfa71007f - -/*GAINLLR_SF26*/ -#define RSTV0910_GAINLLR_SF26 0xfa72 -#define FSTV0910_GAINLLR_SF_32APSK_5_6 0xfa72007f - -/*GAINLLR_SF27*/ -#define RSTV0910_GAINLLR_SF27 0xfa73 -#define FSTV0910_GAINLLR_SF_32APSK_8_9 0xfa73007f - /*CFGEXT*/ #define RSTV0910_CFGEXT 0xfa80 +#define FSTV0910_BYPFIFOBCH 0xfa800080 #define FSTV0910_BYPBCH 0xfa800040 #define FSTV0910_BYPLDPC 0xfa800020 +#define FSTV0910_BYPFIFOBCHF 0xfa800010 +#define FSTV0910_INVLLRSIGN 0xfa800008 #define FSTV0910_SHORTMULT 0xfa800004 +#define FSTV0910_ENSTOPDEC 0xfa800002 /*GENCFG*/ #define RSTV0910_GENCFG 0xfa86 +#define FSTV0910_LEG_ITER 0xfa860040 +#define FSTV0910_NOSHFRD1 0xfa860020 #define FSTV0910_BROADCAST 0xfa860010 +#define FSTV0910_NOSHFRD2 0xfa860008 +#define FSTV0910_BCHERRFLAG 0xfa860004 #define FSTV0910_CROSSINPUT 0xfa860002 #define FSTV0910_DDEMOD 0xfa860001 @@ -4496,18 +3907,6 @@ #define RSTV0910_P2_STATUSMAXITER 0xfabf #define FSTV0910_P2_STATUS_MAX_ITER 0xfabf00ff -/*P2_NBITER_NF1*/ -#define RSTV0910_P2_NBITER_NF1 0xfac0 -#define FSTV0910_P2_NBITER_NF_QPSK_1_4 0xfac000ff - -/*P2_NBITER_NF2*/ -#define RSTV0910_P2_NBITER_NF2 0xfac1 -#define FSTV0910_P2_NBITER_NF_QPSK_1_3 0xfac100ff - -/*P2_NBITER_NF3*/ -#define RSTV0910_P2_NBITER_NF3 0xfac2 -#define FSTV0910_P2_NBITER_NF_QPSK_2_5 0xfac200ff - /*P2_NBITER_NF4*/ #define RSTV0910_P2_NBITER_NF4 0xfac3 #define FSTV0910_P2_NBITER_NF_QPSK_1_2 0xfac300ff @@ -4564,197 +3963,36 @@ #define RSTV0910_P2_NBITER_NF17 0xfad0 #define FSTV0910_P2_NBITER_NF_8PSK_9_10 0xfad000ff -/*P2_NBITER_NF18*/ -#define RSTV0910_P2_NBITER_NF18 0xfad1 -#define FSTV0910_P2_NBITER_NF_16APSK_2_3 0xfad100ff - -/*P2_NBITER_NF19*/ -#define RSTV0910_P2_NBITER_NF19 0xfad2 -#define FSTV0910_P2_NBITER_NF_16APSK_3_4 0xfad200ff - -/*P2_NBITER_NF20*/ -#define RSTV0910_P2_NBITER_NF20 0xfad3 -#define FSTV0910_P2_NBITER_NF_16APSK_4_5 0xfad300ff - -/*P2_NBITER_NF21*/ -#define RSTV0910_P2_NBITER_NF21 0xfad4 -#define FSTV0910_P2_NBITER_NF_16APSK_5_6 0xfad400ff - -/*P2_NBITER_NF22*/ -#define RSTV0910_P2_NBITER_NF22 0xfad5 -#define FSTV0910_P2_NBITER_NF_16APSK_8_9 0xfad500ff - -/*P2_NBITER_NF23*/ -#define RSTV0910_P2_NBITER_NF23 0xfad6 -#define FSTV0910_P2_NBITER_NF_16APSK_9_10 0xfad600ff - -/*P2_NBITER_NF24*/ -#define RSTV0910_P2_NBITER_NF24 0xfad7 -#define FSTV0910_P2_NBITER_NF_32APSK_3_4 0xfad700ff - -/*P2_NBITER_NF25*/ -#define RSTV0910_P2_NBITER_NF25 0xfad8 -#define FSTV0910_P2_NBITER_NF_32APSK_4_5 0xfad800ff - -/*P2_NBITER_NF26*/ -#define RSTV0910_P2_NBITER_NF26 0xfad9 -#define FSTV0910_P2_NBITER_NF_32APSK_5_6 0xfad900ff - -/*P2_NBITER_NF27*/ -#define RSTV0910_P2_NBITER_NF27 0xfada -#define FSTV0910_P2_NBITER_NF_32APSK_8_9 0xfada00ff - -/*P2_NBITER_NF28*/ -#define RSTV0910_P2_NBITER_NF28 0xfadb -#define FSTV0910_P2_NBITER_NF_32APSK_9_10 0xfadb00ff - -/*P2_NBITER_SF1*/ -#define RSTV0910_P2_NBITER_SF1 0xfadc -#define FSTV0910_P2_NBITER_SF_QPSK_1_4 0xfadc00ff - -/*P2_NBITER_SF2*/ -#define RSTV0910_P2_NBITER_SF2 0xfadd -#define FSTV0910_P2_NBITER_SF_QPSK_1_3 0xfadd00ff - -/*P2_NBITER_SF3*/ -#define RSTV0910_P2_NBITER_SF3 0xfade -#define FSTV0910_P2_NBITER_SF_QPSK_2_5 0xfade00ff - -/*P2_NBITER_SF4*/ -#define RSTV0910_P2_NBITER_SF4 0xfadf -#define FSTV0910_P2_NBITER_SF_QPSK_1_2 0xfadf00ff - -/*P2_NBITER_SF5*/ -#define RSTV0910_P2_NBITER_SF5 0xfae0 -#define FSTV0910_P2_NBITER_SF_QPSK_3_5 0xfae000ff - -/*P2_NBITER_SF6*/ -#define RSTV0910_P2_NBITER_SF6 0xfae1 -#define FSTV0910_P2_NBITER_SF_QPSK_2_3 0xfae100ff - -/*P2_NBITER_SF7*/ -#define RSTV0910_P2_NBITER_SF7 0xfae2 -#define FSTV0910_P2_NBITER_SF_QPSK_3_4 0xfae200ff - -/*P2_NBITER_SF8*/ -#define RSTV0910_P2_NBITER_SF8 0xfae3 -#define FSTV0910_P2_NBITER_SF_QPSK_4_5 0xfae300ff - -/*P2_NBITER_SF9*/ -#define RSTV0910_P2_NBITER_SF9 0xfae4 -#define FSTV0910_P2_NBITER_SF_QPSK_5_6 0xfae400ff - -/*P2_NBITER_SF10*/ -#define RSTV0910_P2_NBITER_SF10 0xfae5 -#define FSTV0910_P2_NBITER_SF_QPSK_8_9 0xfae500ff - -/*P2_NBITER_SF12*/ -#define RSTV0910_P2_NBITER_SF12 0xfae6 -#define FSTV0910_P2_NBITER_SF_8PSK_3_5 0xfae600ff - -/*P2_NBITER_SF13*/ -#define RSTV0910_P2_NBITER_SF13 0xfae7 -#define FSTV0910_P2_NBITER_SF_8PSK_2_3 0xfae700ff - -/*P2_NBITER_SF14*/ -#define RSTV0910_P2_NBITER_SF14 0xfae8 -#define FSTV0910_P2_NBITER_SF_8PSK_3_4 0xfae800ff - -/*P2_NBITER_SF15*/ -#define RSTV0910_P2_NBITER_SF15 0xfae9 -#define FSTV0910_P2_NBITER_SF_8PSK_5_6 0xfae900ff - -/*P2_NBITER_SF16*/ -#define RSTV0910_P2_NBITER_SF16 0xfaea -#define FSTV0910_P2_NBITER_SF_8PSK_8_9 0xfaea00ff - -/*P2_NBITER_SF18*/ -#define RSTV0910_P2_NBITER_SF18 0xfaeb -#define FSTV0910_P2_NBITER_SF_16APSK_2_3 0xfaeb00ff - -/*P2_NBITER_SF19*/ -#define RSTV0910_P2_NBITER_SF19 0xfaec -#define FSTV0910_P2_NBITER_SF_16APSK_3_4 0xfaec00ff - -/*P2_NBITER_SF20*/ -#define RSTV0910_P2_NBITER_SF20 0xfaed -#define FSTV0910_P2_NBITER_SF_16APSK_4_5 0xfaed00ff - -/*P2_NBITER_SF21*/ -#define RSTV0910_P2_NBITER_SF21 0xfaee -#define FSTV0910_P2_NBITER_SF_16APSK_5_6 0xfaee00ff - -/*P2_NBITER_SF22*/ -#define RSTV0910_P2_NBITER_SF22 0xfaef -#define FSTV0910_P2_NBITER_SF_16APSK_8_9 0xfaef00ff - -/*P2_NBITER_SF24*/ -#define RSTV0910_P2_NBITER_SF24 0xfaf0 -#define FSTV0910_P2_NBITER_SF_32APSK_3_4 0xfaf000ff - -/*P2_NBITER_SF25*/ -#define RSTV0910_P2_NBITER_SF25 0xfaf1 -#define FSTV0910_P2_NBITER_SF_32APSK_4_5 0xfaf100ff - -/*P2_NBITER_SF26*/ -#define RSTV0910_P2_NBITER_SF26 0xfaf2 -#define FSTV0910_P2_NBITER_SF_32APSK_5_6 0xfaf200ff - -/*P2_NBITER_SF27*/ -#define RSTV0910_P2_NBITER_SF27 0xfaf3 -#define FSTV0910_P2_NBITER_SF_32APSK_8_9 0xfaf300ff - /*TSTRES0*/ #define RSTV0910_TSTRES0 0xff11 #define FSTV0910_FRESFEC 0xff110080 +#define FSTV0910_FRESTS 0xff110040 +#define FSTV0910_FRESVIT1 0xff110020 +#define FSTV0910_FRESVIT2 0xff110010 #define FSTV0910_FRESSYM1 0xff110008 #define FSTV0910_FRESSYM2 0xff110004 - -/*TSTOUT*/ -#define RSTV0910_TSTOUT 0xff12 -#define FSTV0910_TS 0xff12003e -#define FSTV0910_TEST_OUT 0xff120001 - -/*TSTIN*/ -#define RSTV0910_TSTIN 0xff13 -#define FSTV0910_TEST_IN 0xff130080 - -/*P2_TSTDMD*/ -#define RSTV0910_P2_TSTDMD 0xff20 -#define FSTV0910_P2_CFRINIT_INVZIGZAG 0xff200008 - -/*P2_TCTL1*/ -#define RSTV0910_P2_TCTL1 0xff24 -#define FSTV0910_P2_TST_IQSYMBSEL 0xff24001f +#define FSTV0910_FRESMAS 0xff110002 +#define FSTV0910_FRESINT 0xff110001 /*P2_TCTL4*/ #define RSTV0910_P2_TCTL4 0xff28 #define FSTV0910_P2_CFR2TOCFR1_DVBS1 0xff2800c0 - -/*P2_TPKTDELIN*/ -#define RSTV0910_P2_TPKTDELIN 0xff37 -#define FSTV0910_P2_CFG_RSPARITYON 0xff370080 - -/*P1_TSTDMD*/ -#define RSTV0910_P1_TSTDMD 0xff40 -#define FSTV0910_P1_CFRINIT_INVZIGZAG 0xff400008 - -/*P1_TCTL1*/ -#define RSTV0910_P1_TCTL1 0xff44 -#define FSTV0910_P1_TST_IQSYMBSEL 0xff44001f +#define FSTV0910_P2_TSTINV_PHERR 0xff280020 +#define FSTV0910_P2_EN_PLHCALC 0xff280010 +#define FSTV0910_P2_TETA3L_RSTTETA3D 0xff280008 +#define FSTV0910_P2_DIS_FORCEBETA2 0xff280004 +#define FSTV0910_P2_CAR3_NOTRACEBACK 0xff280002 +#define FSTV0910_P2_CAR3_NOFORWARD 0xff280001 /*P1_TCTL4*/ #define RSTV0910_P1_TCTL4 0xff48 #define FSTV0910_P1_CFR2TOCFR1_DVBS1 0xff4800c0 +#define FSTV0910_P1_TSTINV_PHERR 0xff480020 +#define FSTV0910_P1_EN_PLHCALC 0xff480010 +#define FSTV0910_P1_TETA3L_RSTTETA3D 0xff480008 +#define FSTV0910_P1_DIS_FORCEBETA2 0xff480004 +#define FSTV0910_P1_CAR3_NOTRACEBACK 0xff480002 +#define FSTV0910_P1_CAR3_NOFORWARD 0xff480001 -/*P1_TPKTDELIN*/ -#define RSTV0910_P1_TPKTDELIN 0xff57 -#define FSTV0910_P1_CFG_RSPARITYON 0xff570080 - -/*TSTTSRS*/ -#define RSTV0910_TSTTSRS 0xff6d -#define FSTV0910_TSTRS_DISRS2 0xff6d0002 -#define FSTV0910_TSTRS_DISRS1 0xff6d0001 - -#define STV0910_NBREGS 975 -#define STV0910_NBFIELDS 1818 +#define STV0910_NBREGS 735 +#define STV0910_NBFIELDS 1776 From cd229fabf5d785cda1c5daf26f37333323cdbdbe Mon Sep 17 00:00:00 2001 From: mvoelkel Date: Wed, 31 Aug 2016 22:24:37 +0200 Subject: [PATCH 4/4] stv090x: removed duplicate function --- frontends/stv090x.c | 63 --------------------------------------------- 1 file changed, 63 deletions(-) diff --git a/frontends/stv090x.c b/frontends/stv090x.c index 0b0e1ed..1684cf9 100644 --- a/frontends/stv090x.c +++ b/frontends/stv090x.c @@ -5144,69 +5144,6 @@ static int stv090x_get_frontend(struct dvb_frontend *fe) return 0; } -static int get_frontend(struct dvb_frontend *fe) -{ - struct stv090x_state *state = fe->demodulator_priv; - struct dtv_frontend_properties *p = &fe->dtv_property_cache; - u8 tmp; - u32 reg = 0; - - if (state->rec_mode == 2) { - u32 mc; - enum fe_modulation modcod2mod[0x20] = { - QPSK, QPSK, QPSK, QPSK, - QPSK, QPSK, QPSK, QPSK, - QPSK, QPSK, QPSK, QPSK, - PSK_8, PSK_8, PSK_8, PSK_8, - PSK_8, PSK_8, APSK_16, APSK_16, - APSK_16, APSK_16, APSK_16, APSK_16, - APSK_32, APSK_32, APSK_32, APSK_32, - APSK_32, - }; - enum fe_code_rate modcod2fec[0x20] = { - FEC_NONE, FEC_1_4, FEC_1_3, FEC_2_5, - FEC_1_2, FEC_3_5, FEC_2_3, FEC_3_4, - FEC_4_5, FEC_5_6, FEC_8_9, FEC_9_10, - FEC_3_5, FEC_2_3, FEC_3_4, FEC_5_6, - FEC_8_9, FEC_9_10, FEC_2_3, FEC_3_4, - FEC_4_5, FEC_5_6, FEC_8_9, FEC_9_10, - FEC_3_4, FEC_4_5, FEC_5_6, FEC_8_9, - FEC_9_10 - }; - mc = state->modcod; - p->pilot = (state->pilots & 0x01) ? PILOT_ON : PILOT_OFF; - p->modulation = modcod2mod[mc]; - p->fec_inner = modcod2fec[mc]; - } else if (state->rec_mode == 1) { - reg = STV090x_READ_DEMOD(state, VITCURPUN); - switch( reg & 0x1F ) { - case 0x0d: - p->fec_inner = FEC_1_2; - break; - case 0x12: - p->fec_inner = FEC_2_3; - break; - case 0x15: - p->fec_inner = FEC_3_4; - break; - case 0x18: - p->fec_inner = FEC_5_6; - break; - case 0x1a: - p->fec_inner = FEC_7_8; - break; - default: - p->fec_inner = FEC_NONE; - break; - } - p->rolloff = ROLLOFF_35; - } else { - - } - - return 0; -} - static struct dvb_frontend_ops stv090x_ops = { #ifndef USE_API3 .delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS },