-/**
- * since we need only a few bits to store internal state we don't allocate
- * extra memory but use frontend->data as bitfield
- */
-
-#define SET_PWM(data,pwm) do { \
- long d = (long)data; \
- d &= ~0xff; \
- d |= pwm; \
- data = (void *)d; \
-} while (0)
-
-#define SET_REG0(data,reg0) do { \
- long d = (long)data; \
- d &= ~(0xff << 8); \
- d |= reg0 << 8; \
- data = (void *)d; \
-} while (0)
-
-#define SET_TUNER(data,type) do { \
- long d = (long)data; \
- d &= ~(0xff << 16); \
- d |= type << 16; \
- data = (void *)d; \
-} while (0)
-
-#define SET_DEMOD_ADDR(data,type) do { \
- long d = (long)data; \
- d &= ~(0xff << 24); \
- d |= type << 24; \
- data = (void *)d; \
-} while (0)
-
-#define GET_PWM(data) ((u8) ((long) data & 0xff))
-#define GET_REG0(data) ((u8) (((long) data >> 8) & 0xff))
-#define GET_TUNER(data) ((u8) (((long) data >> 16) & 0xff))
-#define GET_DEMOD_ADDR(data) ((u8) (((long) data >> 24) & 0xff))
-
-#if defined(CONFIG_DBOX2)
-#define XIN 69600000UL
-#define DISABLE_INVERSION(reg0) do { reg0 &= ~0x20; } while (0)
-#define ENABLE_INVERSION(reg0) do { reg0 |= 0x20; } while (0)
-#define HAS_INVERSION(reg0) (reg0 & 0x20)
-#else /* PCI cards */
-#define XIN 57840000UL
-#define DISABLE_INVERSION(reg0) do { reg0 |= 0x20; } while (0)
-#define ENABLE_INVERSION(reg0) do { reg0 &= ~0x20; } while (0)
-#define HAS_INVERSION(reg0) (!(reg0 & 0x20))
-#endif
-
-#define FIN (XIN >> 4)
-
-
-
-static struct dvb_frontend_info ves1820_info = {
- .name = "VES1820 based DVB-C frontend",
- .type = FE_QAM,
- .frequency_stepsize = 62500,
- .frequency_min = 51000000,
- .frequency_max = 858000000,
- .symbol_rate_min = (XIN/2)/64, /* SACLK/64 == (XIN/2)/64 */
- .symbol_rate_max = (XIN/2)/4, /* SACLK/4 */
-#if 0
- .frequency_tolerance = ???,
- .symbol_rate_tolerance = ???, /* ppm */ /* == 8% (spec p. 5) */
- .notifier_delay = ?,
-#endif
- .caps = FE_CAN_QAM_16 | FE_CAN_QAM_32 | FE_CAN_QAM_64 |
- FE_CAN_QAM_128 | FE_CAN_QAM_256 |
- FE_CAN_FEC_AUTO | FE_CAN_INVERSION_AUTO,