V4L/DVB (7358): tuner-simple: enable digital tuning support for Philips TD1316
Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
a33b42c6bb
commit
0e5d383b0a
@@ -756,6 +756,15 @@ static void simple_set_dvb(struct dvb_frontend *fe, u8 *buf,
|
|||||||
params->frequency >= 158870000)
|
params->frequency >= 158870000)
|
||||||
buf[3] |= 0x08;
|
buf[3] |= 0x08;
|
||||||
break;
|
break;
|
||||||
|
case TUNER_PHILIPS_TD1316:
|
||||||
|
/* determine band */
|
||||||
|
buf[3] |= (params->frequency < 161000000) ? 1 :
|
||||||
|
(params->frequency < 444000000) ? 2 : 4;
|
||||||
|
|
||||||
|
/* setup PLL filter */
|
||||||
|
if (params->u.ofdm.bandwidth == BANDWIDTH_8_MHZ)
|
||||||
|
buf[3] |= 1 << 3;
|
||||||
|
break;
|
||||||
case TUNER_PHILIPS_TUV1236D:
|
case TUNER_PHILIPS_TUV1236D:
|
||||||
case TUNER_PHILIPS_ATSC:
|
case TUNER_PHILIPS_ATSC:
|
||||||
{
|
{
|
||||||
|
@@ -1063,12 +1063,30 @@ static struct tuner_range tuner_philips_td1316_pal_ranges[] = {
|
|||||||
{ 16 * 999.99 , 0xc8, 0xa4, },
|
{ 16 * 999.99 , 0xc8, 0xa4, },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct tuner_range tuner_philips_td1316_dvb_ranges[] = {
|
||||||
|
{ 16 * 93.834 /*MHz*/, 0xca, 0x60, },
|
||||||
|
{ 16 * 123.834 /*MHz*/, 0xca, 0xa0, },
|
||||||
|
{ 16 * 163.834 /*MHz*/, 0xca, 0xc0, },
|
||||||
|
{ 16 * 253.834 /*MHz*/, 0xca, 0x60, },
|
||||||
|
{ 16 * 383.834 /*MHz*/, 0xca, 0xa0, },
|
||||||
|
{ 16 * 443.834 /*MHz*/, 0xca, 0xc0, },
|
||||||
|
{ 16 * 583.834 /*MHz*/, 0xca, 0x60, },
|
||||||
|
{ 16 * 793.834 /*MHz*/, 0xca, 0xa0, },
|
||||||
|
{ 16 * 999.999 , 0xca, 0xe0, },
|
||||||
|
};
|
||||||
|
|
||||||
static struct tuner_params tuner_philips_td1316_params[] = {
|
static struct tuner_params tuner_philips_td1316_params[] = {
|
||||||
{
|
{
|
||||||
.type = TUNER_PARAM_TYPE_PAL,
|
.type = TUNER_PARAM_TYPE_PAL,
|
||||||
.ranges = tuner_philips_td1316_pal_ranges,
|
.ranges = tuner_philips_td1316_pal_ranges,
|
||||||
.count = ARRAY_SIZE(tuner_philips_td1316_pal_ranges),
|
.count = ARRAY_SIZE(tuner_philips_td1316_pal_ranges),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.type = TUNER_PARAM_TYPE_DIGITAL,
|
||||||
|
.ranges = tuner_philips_td1316_dvb_ranges,
|
||||||
|
.count = ARRAY_SIZE(tuner_philips_td1316_dvb_ranges),
|
||||||
|
.iffreq = 16 * 36.166667 /*MHz*/,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* ------------ TUNER_PHILIPS_TUV1236D - Philips ATSC ------------ */
|
/* ------------ TUNER_PHILIPS_TUV1236D - Philips ATSC ------------ */
|
||||||
@@ -1556,6 +1574,9 @@ struct tunertype tuners[] = {
|
|||||||
.name = "Philips TD1316 Hybrid Tuner",
|
.name = "Philips TD1316 Hybrid Tuner",
|
||||||
.params = tuner_philips_td1316_params,
|
.params = tuner_philips_td1316_params,
|
||||||
.count = ARRAY_SIZE(tuner_philips_td1316_params),
|
.count = ARRAY_SIZE(tuner_philips_td1316_params),
|
||||||
|
.min = 16 * 87.00,
|
||||||
|
.max = 16 * 895.00,
|
||||||
|
.stepsize = 166667,
|
||||||
},
|
},
|
||||||
[TUNER_PHILIPS_TUV1236D] = { /* Philips ATSC */
|
[TUNER_PHILIPS_TUV1236D] = { /* Philips ATSC */
|
||||||
.name = "Philips TUV1236D ATSC/NTSC dual in",
|
.name = "Philips TUV1236D ATSC/NTSC dual in",
|
||||||
|
Reference in New Issue
Block a user