Commit d8667cbb authored by Mac Michaels's avatar Mac Michaels Committed by Linus Torvalds

[PATCH] dvb: frontend: add driver for LGDT3302

Add support for LGDT3302 (ATSC VSB/QAM) used in DViCO FusionHDTV3 Gold.
Signed-off-by: default avatarMac Michaels <wmichaels1@earthlink.net>
Signed-off-by: default avatarMichael Krufky <mkrufky@m1k.net>
Signed-off-by: default avatarJohannes Stezenbach <js@linuxtv.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 25de1926
...@@ -187,4 +187,11 @@ config DVB_BCM3510 ...@@ -187,4 +187,11 @@ config DVB_BCM3510
An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to
support this frontend. support this frontend.
config DVB_LGDT3302
tristate "LGDT3302 based (DViCO FusionHDTV3 Gold)"
depends on DVB_CORE
help
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
to support this frontend.
endmenu endmenu
...@@ -30,3 +30,4 @@ obj-$(CONFIG_DVB_OR51211) += or51211.o ...@@ -30,3 +30,4 @@ obj-$(CONFIG_DVB_OR51211) += or51211.o
obj-$(CONFIG_DVB_OR51132) += or51132.o obj-$(CONFIG_DVB_OR51132) += or51132.o
obj-$(CONFIG_DVB_BCM3510) += bcm3510.o obj-$(CONFIG_DVB_BCM3510) += bcm3510.o
obj-$(CONFIG_DVB_S5H1420) += s5h1420.o obj-$(CONFIG_DVB_S5H1420) += s5h1420.o
obj-$(CONFIG_DVB_LGDT3302) += lgdt3302.o
...@@ -93,6 +93,19 @@ struct dvb_pll_desc dvb_pll_lg_z201 = { ...@@ -93,6 +93,19 @@ struct dvb_pll_desc dvb_pll_lg_z201 = {
}; };
EXPORT_SYMBOL(dvb_pll_lg_z201); EXPORT_SYMBOL(dvb_pll_lg_z201);
struct dvb_pll_desc dvb_pll_microtune_4042 = {
.name = "Microtune 4042 FI5",
.min = 57000000,
.max = 858000000,
.count = 3,
.entries = {
{ 162000000, 44000000, 62500, 0x8e, 0xa1 },
{ 457000000, 44000000, 62500, 0x8e, 0x91 },
{ 999999999, 44000000, 62500, 0x8e, 0x31 },
},
};
EXPORT_SYMBOL(dvb_pll_microtune_4042);
struct dvb_pll_desc dvb_pll_unknown_1 = { struct dvb_pll_desc dvb_pll_unknown_1 = {
.name = "unknown 1", /* used by dntv live dvb-t */ .name = "unknown 1", /* used by dntv live dvb-t */
.min = 174000000, .min = 174000000,
......
...@@ -24,6 +24,7 @@ extern struct dvb_pll_desc dvb_pll_thomson_dtt7579; ...@@ -24,6 +24,7 @@ extern struct dvb_pll_desc dvb_pll_thomson_dtt7579;
extern struct dvb_pll_desc dvb_pll_thomson_dtt759x; extern struct dvb_pll_desc dvb_pll_thomson_dtt759x;
extern struct dvb_pll_desc dvb_pll_thomson_dtt7610; extern struct dvb_pll_desc dvb_pll_thomson_dtt7610;
extern struct dvb_pll_desc dvb_pll_lg_z201; extern struct dvb_pll_desc dvb_pll_lg_z201;
extern struct dvb_pll_desc dvb_pll_microtune_4042;
extern struct dvb_pll_desc dvb_pll_unknown_1; extern struct dvb_pll_desc dvb_pll_unknown_1;
extern struct dvb_pll_desc dvb_pll_tua6010xs; extern struct dvb_pll_desc dvb_pll_tua6010xs;
......
This diff is collapsed.
/*
* $Id: lgdt3302.h,v 1.2 2005/06/28 23:50:48 mkrufky Exp $
*
* Support for LGDT3302 (DViCO FustionHDTV 3 Gold) - VSB/QAM
*
* Copyright (C) 2005 Wilson Michaels <wilsonmichaels@earthlink.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef LGDT3302_H
#define LGDT3302_H
#include <linux/dvb/frontend.h>
struct lgdt3302_config
{
/* The demodulator's i2c address */
u8 demod_address;
u8 pll_address;
struct dvb_pll_desc *pll_desc;
/* Need to set device param for start_dma */
int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured);
};
extern struct dvb_frontend* lgdt3302_attach(const struct lgdt3302_config* config,
struct i2c_adapter* i2c);
#endif /* LGDT3302_H */
/*
* Local variables:
* c-basic-offset: 8
* End:
*/
/*
* $Id: lgdt3302_priv.h,v 1.2 2005/06/28 23:50:48 mkrufky Exp $
*
* Support for LGDT3302 (DViCO FustionHDTV 3 Gold) - VSB/QAM
*
* Copyright (C) 2005 Wilson Michaels <wilsonmichaels@earthlink.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef _LGDT3302_PRIV_
#define _LGDT3302_PRIV_
/* i2c control register addresses */
enum I2C_REG {
TOP_CONTROL= 0x00,
IRQ_MASK= 0x01,
IRQ_STATUS= 0x02,
VSB_CARRIER_FREQ0= 0x16,
VSB_CARRIER_FREQ1= 0x17,
VSB_CARRIER_FREQ2= 0x18,
VSB_CARRIER_FREQ3= 0x19,
CARRIER_MSEQAM1= 0x1a,
CARRIER_MSEQAM2= 0x1b,
CARRIER_LOCK= 0x1c,
TIMING_RECOVERY= 0x1d,
AGC_DELAY0= 0x2a,
AGC_DELAY1= 0x2b,
AGC_DELAY2= 0x2c,
AGC_RF_BANDWIDTH0= 0x2d,
AGC_RF_BANDWIDTH1= 0x2e,
AGC_RF_BANDWIDTH2= 0x2f,
AGC_LOOP_BANDWIDTH0= 0x30,
AGC_LOOP_BANDWIDTH1= 0x31,
AGC_FUNC_CTRL1= 0x32,
AGC_FUNC_CTRL2= 0x33,
AGC_FUNC_CTRL3= 0x34,
AGC_RFIF_ACC0= 0x39,
AGC_RFIF_ACC1= 0x3a,
AGC_RFIF_ACC2= 0x3b,
AGC_STATUS= 0x3f,
SYNC_STATUS_VSB= 0x43,
EQPH_ERR0= 0x47,
EQ_ERR1= 0x48,
EQ_ERR2= 0x49,
PH_ERR1= 0x4a,
PH_ERR2= 0x4b,
DEMUX_CONTROL= 0x66,
PACKET_ERR_COUNTER1= 0x6a,
PACKET_ERR_COUNTER2= 0x6b,
};
#endif /* _LGDT3302_PRIV_ */
/*
* Local variables:
* c-basic-offset: 8
* End:
*/
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment