linux/drivers/media/dvb-frontends/lgs8gxx_priv.h
<<
>>
Prefs
   1/*
   2 *    Support for Legend Silicon GB20600 (a.k.a DMB-TH) demodulator
   3 *    LGS8913, LGS8GL5, LGS8G75
   4 *    experimental support LGS8G42, LGS8G52
   5 *
   6 *    Copyright (C) 2007-2009 David T.L. Wong <davidtlwong@gmail.com>
   7 *    Copyright (C) 2008 Sirius International (Hong Kong) Limited
   8 *    Timothy Lee <timothy.lee@siriushk.com> (for initial work on LGS8GL5)
   9 *
  10 *    This program is free software; you can redistribute it and/or modify
  11 *    it under the terms of the GNU General Public License as published by
  12 *    the Free Software Foundation; either version 2 of the License, or
  13 *    (at your option) any later version.
  14 *
  15 *    This program is distributed in the hope that it will be useful,
  16 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  17 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18 *    GNU General Public License for more details.
  19 *
  20 *    You should have received a copy of the GNU General Public License
  21 *    along with this program; if not, write to the Free Software
  22 *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  23 *
  24 */
  25
  26#ifndef LGS8913_PRIV_H
  27#define LGS8913_PRIV_H
  28
  29struct lgs8gxx_state {
  30        struct i2c_adapter *i2c;
  31        /* configuration settings */
  32        const struct lgs8gxx_config *config;
  33        struct dvb_frontend frontend;
  34        u16 curr_gi; /* current guard interval */
  35};
  36
  37#define SC_MASK         0x1C    /* Sub-Carrier Modulation Mask */
  38#define SC_QAM64        0x10    /* 64QAM modulation */
  39#define SC_QAM32        0x0C    /* 32QAM modulation */
  40#define SC_QAM16        0x08    /* 16QAM modulation */
  41#define SC_QAM4NR       0x04    /* 4QAM-NR modulation */
  42#define SC_QAM4         0x00    /* 4QAM modulation */
  43
  44#define LGS_FEC_MASK    0x03    /* FEC Rate Mask */
  45#define LGS_FEC_0_4     0x00    /* FEC Rate 0.4 */
  46#define LGS_FEC_0_6     0x01    /* FEC Rate 0.6 */
  47#define LGS_FEC_0_8     0x02    /* FEC Rate 0.8 */
  48
  49#define TIM_MASK          0x20  /* Time Interleave Length Mask */
  50#define TIM_LONG          0x20  /* Time Interleave Length = 720 */
  51#define TIM_MIDDLE     0x00   /* Time Interleave Length = 240 */
  52
  53#define CF_MASK 0x80    /* Control Frame Mask */
  54#define CF_EN   0x80    /* Control Frame On */
  55
  56#define GI_MASK 0x03    /* Guard Interval Mask */
  57#define GI_420  0x00    /* 1/9 Guard Interval */
  58#define GI_595  0x01    /* */
  59#define GI_945  0x02    /* 1/4 Guard Interval */
  60
  61
  62#define TS_PARALLEL     0x00    /* Parallel TS Output a.k.a. SPI */
  63#define TS_SERIAL       0x01    /* Serial TS Output a.k.a. SSI */
  64#define TS_CLK_NORMAL           0x00    /* MPEG Clock Normal */
  65#define TS_CLK_INVERTED         0x02    /* MPEG Clock Inverted */
  66#define TS_CLK_GATED            0x00    /* MPEG clock gated */
  67#define TS_CLK_FREERUN          0x04    /* MPEG clock free running*/
  68
  69
  70#endif
  71