summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends
diff options
context:
space:
mode:
authorHartmut Hackmann <devnull@localhost>2006-01-31 01:49:13 +0200
committerHartmut Hackmann <devnull@localhost>2006-01-31 01:49:13 +0200
commitabd757d0632ef14ecb2ca1ed27e16f54e982bd91 (patch)
tree5eac8574096bf117eba803f1b60866a55341bb44 /linux/drivers/media/dvb/frontends
parentde626390df4a05d50236b64a2b739af133381318 (diff)
downloadmediapointer-dvb-s2-abd757d0632ef14ecb2ca1ed27e16f54e982bd91.tar.gz
mediapointer-dvb-s2-abd757d0632ef14ecb2ca1ed27e16f54e982bd91.tar.bz2
Updated Avermedia 777 DVB-T to use dvb-pll
From: Jose Alberto Reguero <jareguero@telefonica.net> linux/drivers/media/dvb/frontends/dvb-pll.c linux/drivers/media/dvb/frontends/dvb-pll.h - added td1316 tuner linux/drivers/media/video/saa7134/saa7134-dvb.c - changed tuning code for AverTV 777 to use dvb-pll Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net> Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Diffstat (limited to 'linux/drivers/media/dvb/frontends')
-rw-r--r--linux/drivers/media/dvb/frontends/dvb-pll.c42
-rw-r--r--linux/drivers/media/dvb/frontends/dvb-pll.h1
2 files changed, 43 insertions, 0 deletions
diff --git a/linux/drivers/media/dvb/frontends/dvb-pll.c b/linux/drivers/media/dvb/frontends/dvb-pll.c
index cd8f28275..2cab96e1c 100644
--- a/linux/drivers/media/dvb/frontends/dvb-pll.c
+++ b/linux/drivers/media/dvb/frontends/dvb-pll.c
@@ -362,6 +362,48 @@ struct dvb_pll_desc dvb_pll_philips_sd1878_tda8261 = {
};
EXPORT_SYMBOL(dvb_pll_philips_sd1878_tda8261);
+/*
+ * Philips TD1316 Tuner.
+ */
+static void td1316_bw(u8 *buf, u32 freq, int bandwidth)
+{
+ u8 band;
+
+ /* determine band */
+ if (freq < 161000000)
+ band = 1;
+ else if (freq < 444000000)
+ band = 2;
+ else
+ band = 4;
+
+ buf[3] |= band;
+
+ /* setup PLL filter */
+ if (bandwidth == BANDWIDTH_8_MHZ)
+ buf[3] |= 1 << 3;
+}
+
+struct dvb_pll_desc dvb_pll_philips_td1316 = {
+ .name = "Philips TD1316",
+ .min = 87000000,
+ .max = 895000000,
+ .setbw = td1316_bw,
+ .count = 9,
+ .entries = {
+ { 130000000, 36166000, 166666, 0xca, 0x60},
+ { 160000000, 36166000, 166666, 0xca, 0xa0},
+ { 200000000, 36166000, 166666, 0xca, 0xc0},
+ { 290000000, 36166000, 166666, 0xca, 0x60},
+ { 420000000, 36166000, 166666, 0xca, 0xa0},
+ { 480000000, 36166000, 166666, 0xca, 0xc0},
+ { 620000000, 36166000, 166666, 0xca, 0x60},
+ { 830000000, 36166000, 166666, 0xca, 0xa0},
+ { 895000000, 36166000, 166666, 0xca, 0xe0},
+ },
+};
+EXPORT_SYMBOL(dvb_pll_philips_td1316);
+
/* ----------------------------------------------------------- */
/* code */
diff --git a/linux/drivers/media/dvb/frontends/dvb-pll.h b/linux/drivers/media/dvb/frontends/dvb-pll.h
index 872e3b4c1..56c3cd76a 100644
--- a/linux/drivers/media/dvb/frontends/dvb-pll.h
+++ b/linux/drivers/media/dvb/frontends/dvb-pll.h
@@ -40,6 +40,7 @@ extern struct dvb_pll_desc dvb_pll_tuv1236d;
extern struct dvb_pll_desc dvb_pll_tdhu2;
extern struct dvb_pll_desc dvb_pll_samsung_tbmv;
extern struct dvb_pll_desc dvb_pll_philips_sd1878_tda8261;
+extern struct dvb_pll_desc dvb_pll_philips_td1316;
int dvb_pll_configure(struct dvb_pll_desc *desc, u8 *buf,
u32 freq, int bandwidth);