mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
[PATCH] dvb: add nxt200x frontend module
* nxt200x.c, nxt200x.h - New frontend module that supports both NXT2002 and NXT2004. So far, only tested on NXT2004. After testing on NXT2002, we should deprecate the nxt2002 module, and implement this one instead on the applicable cards. * get_dvb_firmware: - Added support for the NXT2004 firmware. This firmware works with both the ATI HDTV Wonder and the AVerTVHD MCE a180. This was originally written by Jean-Francois Thibert * dvb-pll.c - Fixed minimum frequency for tuv1236d. It seems that the data sheets are wrong. Signed-off-by: Kirk Lapray <kirk.lapray@gmail.com> Signed-off-by: Michael Krufky <mkrufky@m1k.net> Cc: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
7f44dcda3f
commit
04a45929e7
@ -22,7 +22,7 @@ use File::Temp qw/ tempdir /;
|
||||
use IO::Handle;
|
||||
|
||||
@components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t",
|
||||
"dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002",
|
||||
"dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004",
|
||||
"or51211", "or51132_qam", "or51132_vsb");
|
||||
|
||||
# Check args
|
||||
@ -252,6 +252,23 @@ sub nxt2002 {
|
||||
$outfile;
|
||||
}
|
||||
|
||||
sub nxt2004 {
|
||||
my $sourcefile = "AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip";
|
||||
my $url = "http://www.aver.com/support/Drivers/$sourcefile";
|
||||
my $hash = "111cb885b1e009188346d72acfed024c";
|
||||
my $outfile = "dvb-fe-nxt2004.fw";
|
||||
my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
|
||||
|
||||
checkstandard();
|
||||
|
||||
wgetfile($sourcefile, $url);
|
||||
unzip($sourcefile, $tmpdir);
|
||||
verify("$tmpdir/3xHybrid.sys", $hash);
|
||||
extract("$tmpdir/3xHybrid.sys", 465304, 9584, $outfile);
|
||||
|
||||
$outfile;
|
||||
}
|
||||
|
||||
sub or51211 {
|
||||
my $fwfile = "dvb-fe-or51211.fw";
|
||||
my $url = "http://linuxtv.org/downloads/firmware/$fwfile";
|
||||
|
@ -164,6 +164,14 @@ config DVB_NXT2002
|
||||
help
|
||||
An ATSC 8VSB tuner module. Say Y when you want to support this frontend.
|
||||
|
||||
config DVB_NXT200X
|
||||
tristate "Nextwave NXT2002/NXT2004 based"
|
||||
depends on DVB_CORE
|
||||
select FW_LOADER
|
||||
help
|
||||
An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
|
||||
to support this frontend.
|
||||
|
||||
config DVB_OR51211
|
||||
tristate "or51211 based (pcHDTV HD2000 card)"
|
||||
depends on DVB_CORE
|
||||
|
@ -26,6 +26,7 @@ obj-$(CONFIG_DVB_TDA80XX) += tda80xx.o
|
||||
obj-$(CONFIG_DVB_TDA10021) += tda10021.o
|
||||
obj-$(CONFIG_DVB_STV0297) += stv0297.o
|
||||
obj-$(CONFIG_DVB_NXT2002) += nxt2002.o
|
||||
obj-$(CONFIG_DVB_NXT2002) += nxt200x.o
|
||||
obj-$(CONFIG_DVB_OR51211) += or51211.o
|
||||
obj-$(CONFIG_DVB_OR51132) += or51132.o
|
||||
obj-$(CONFIG_DVB_BCM3510) += bcm3510.o
|
||||
|
@ -314,7 +314,7 @@ EXPORT_SYMBOL(dvb_pll_tdhu2);
|
||||
*/
|
||||
struct dvb_pll_desc dvb_pll_tuv1236d = {
|
||||
.name = "Philips TUV1236D",
|
||||
.min = 57000000,
|
||||
.min = 54000000,
|
||||
.max = 864000000,
|
||||
.count = 3,
|
||||
.entries = {
|
||||
|
1203
drivers/media/dvb/frontends/nxt200x.c
Normal file
1203
drivers/media/dvb/frontends/nxt200x.c
Normal file
File diff suppressed because it is too large
Load Diff
58
drivers/media/dvb/frontends/nxt200x.h
Normal file
58
drivers/media/dvb/frontends/nxt200x.h
Normal file
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Support for NXT2002 and NXT2004 - VSB/QAM
|
||||
*
|
||||
* Copyright (C) 2005 Kirk Lapray (kirk.lapray@gmail.com)
|
||||
* based on nxt2002 by Taylor Jacob <rtjacob@earthlink.net>
|
||||
* and nxt2004 by Jean-Francois Thibert (jeanfrancois@sagetv.com)
|
||||
*
|
||||
* 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 NXT200X_H
|
||||
#define NXT200X_H
|
||||
|
||||
#include <linux/dvb/frontend.h>
|
||||
#include <linux/firmware.h>
|
||||
|
||||
typedef enum nxt_chip_t {
|
||||
NXTUNDEFINED,
|
||||
NXT2002,
|
||||
NXT2004
|
||||
}nxt_chip_type;
|
||||
|
||||
struct nxt200x_config
|
||||
{
|
||||
/* the demodulator's i2c address */
|
||||
u8 demod_address;
|
||||
|
||||
/* tuner information */
|
||||
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* nxt200x_attach(const struct nxt200x_config* config,
|
||||
struct i2c_adapter* i2c);
|
||||
|
||||
#endif /* NXT200X_H */
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* c-basic-offset: 8
|
||||
* End:
|
||||
*/
|
Loading…
Reference in New Issue
Block a user