Commit 04a45929 authored by Kirk Lapray's avatar Kirk Lapray Committed by Linus Torvalds

[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: default avatarKirk Lapray <kirk.lapray@gmail.com>
Signed-off-by: default avatarMichael Krufky <mkrufky@m1k.net>
Cc: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 7f44dcda
...@@ -22,7 +22,7 @@ use File::Temp qw/ tempdir /; ...@@ -22,7 +22,7 @@ use File::Temp qw/ tempdir /;
use IO::Handle; use IO::Handle;
@components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", @components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t",
"dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004",
"or51211", "or51132_qam", "or51132_vsb"); "or51211", "or51132_qam", "or51132_vsb");
# Check args # Check args
...@@ -252,6 +252,23 @@ sub nxt2002 { ...@@ -252,6 +252,23 @@ sub nxt2002 {
$outfile; $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 { sub or51211 {
my $fwfile = "dvb-fe-or51211.fw"; my $fwfile = "dvb-fe-or51211.fw";
my $url = "http://linuxtv.org/downloads/firmware/$fwfile"; my $url = "http://linuxtv.org/downloads/firmware/$fwfile";
......
...@@ -164,6 +164,14 @@ config DVB_NXT2002 ...@@ -164,6 +164,14 @@ config DVB_NXT2002
help help
An ATSC 8VSB tuner module. Say Y when you want to support this frontend. 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 config DVB_OR51211
tristate "or51211 based (pcHDTV HD2000 card)" tristate "or51211 based (pcHDTV HD2000 card)"
depends on DVB_CORE depends on DVB_CORE
......
...@@ -26,6 +26,7 @@ obj-$(CONFIG_DVB_TDA80XX) += tda80xx.o ...@@ -26,6 +26,7 @@ obj-$(CONFIG_DVB_TDA80XX) += tda80xx.o
obj-$(CONFIG_DVB_TDA10021) += tda10021.o obj-$(CONFIG_DVB_TDA10021) += tda10021.o
obj-$(CONFIG_DVB_STV0297) += stv0297.o obj-$(CONFIG_DVB_STV0297) += stv0297.o
obj-$(CONFIG_DVB_NXT2002) += nxt2002.o obj-$(CONFIG_DVB_NXT2002) += nxt2002.o
obj-$(CONFIG_DVB_NXT2002) += nxt200x.o
obj-$(CONFIG_DVB_OR51211) += or51211.o 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
......
...@@ -314,7 +314,7 @@ EXPORT_SYMBOL(dvb_pll_tdhu2); ...@@ -314,7 +314,7 @@ EXPORT_SYMBOL(dvb_pll_tdhu2);
*/ */
struct dvb_pll_desc dvb_pll_tuv1236d = { struct dvb_pll_desc dvb_pll_tuv1236d = {
.name = "Philips TUV1236D", .name = "Philips TUV1236D",
.min = 57000000, .min = 54000000,
.max = 864000000, .max = 864000000,
.count = 3, .count = 3,
.entries = { .entries = {
......
This diff is collapsed.
/*
* 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:
*/
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