/*
*
* i2c tv tuner chip device type database.
*
*/
#include <linux/i2c.h>
#include <media/tuner.h>
#include <media/tuner-types.h>
/* ---------------------------------------------------------------------- */
/*
* The floats in the tuner struct are computed at compile time
* by gcc and cast back to integers. Thus we don't violate the
* "no float in kernel" rule.
*
* A tuner_range may be referenced by multiple tuner_params structs.
* There are many duplicates in here. Reusing tuner_range structs,
* rather than defining new ones for each tuner, will cut down on
* memory usage, and is preferred when possible.
*
* Each tuner_params array may contain one or more elements, one
* for each video standard.
*
* FIXME: tuner_params struct contains an element, tda988x. We must
* set this for all tuners that contain a tda988x chip, and then we
* can remove this setting from the various card structs.
*
* FIXME: Right now, all tuners are using the first tuner_params[]
* array element for analog mode. In the future, we will be merging
* similar tuner definitions together, such that each tuner definition
* will have a tuner_params struct for each available video standard.
* At that point, the tuner_params[] array element will be chosen
* based on the video standard in use.
*/
/* 0-9 */
/* ------------ TUNER_TEMIC_PAL - TEMIC PAL ------------ */
static struct tuner_range tuner_temic_pal_ranges[] = {
{ 16 * 140.25 /*MHz*/, 0x8e, 0x02, },
{ 16 * 463.25 /*MHz*/, 0x8e, 0x04, },
{ 16 * 999.99 , 0x8e, 0x01, },
};
static struct tuner_params tuner_temic_pal_params[] = {
{
.type = TUNER_PARAM_TYPE_PAL,
.ranges = tuner_temic_pal_ranges,
.count = ARRAY_SIZE(tuner_temic_pal_ranges),
},
};
/* ------------ TUNER_PHILIPS_PAL_I - Philips PAL_I ------------ */
static struct tuner_range tuner_philips_pal_i_ranges[] = {
{ 16 *