aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134/saa7134-dvb.c
diff options
context:
space:
mode:
authorTimothy Lee <timothy.lee@siriushk.com>2011-03-25 14:00:33 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-05-20 08:28:22 -0400
commitce02704d48767bdd31eb0b804b1d45da5b683a8c (patch)
tree0377224fecd99ada63d15086222268cdf4dadc9c /drivers/media/video/saa7134/saa7134-dvb.c
parent5398b622152767aa70f2ac92d952c4c045aa86b5 (diff)
[media] saa7134: support MagicPro ProHDTV Pro2 Hybrid DMB-TH PCI card
This card has a TD18271 silicon tuner, and uses TDA8290 and LGS8G75 to demodulate analog and digital broadcast respectively. GPIO configurations were derived using DScaler regspy. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-dvb.c')
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
index f65cad287b8..996a206c6d7 100644
--- a/drivers/media/video/saa7134/saa7134-dvb.c
+++ b/drivers/media/video/saa7134/saa7134-dvb.c
@@ -53,6 +53,7 @@
53#include "lgdt3305.h" 53#include "lgdt3305.h"
54#include "tda8290.h" 54#include "tda8290.h"
55#include "mb86a20s.h" 55#include "mb86a20s.h"
56#include "lgs8gxx.h"
56 57
57#include "zl10353.h" 58#include "zl10353.h"
58 59
@@ -1123,6 +1124,26 @@ static struct tda18271_config dtv1000s_tda18271_config = {
1123 .gate = TDA18271_GATE_ANALOG, 1124 .gate = TDA18271_GATE_ANALOG,
1124}; 1125};
1125 1126
1127static struct lgs8gxx_config prohdtv_pro2_lgs8g75_config = {
1128 .prod = LGS8GXX_PROD_LGS8G75,
1129 .demod_address = 0x1d,
1130 .serial_ts = 0,
1131 .ts_clk_pol = 1,
1132 .ts_clk_gated = 0,
1133 .if_clk_freq = 30400, /* 30.4 MHz */
1134 .if_freq = 4000, /* 4.00 MHz */
1135 .if_neg_center = 0,
1136 .ext_adc = 0,
1137 .adc_signed = 1,
1138 .adc_vpp = 3, /* 2.0 Vpp */
1139 .if_neg_edge = 1,
1140};
1141
1142static struct tda18271_config prohdtv_pro2_tda18271_config = {
1143 .gate = TDA18271_GATE_ANALOG,
1144 .output_opt = TDA18271_OUTPUT_LT_OFF,
1145};
1146
1126/* ================================================================== 1147/* ==================================================================
1127 * Core code 1148 * Core code
1128 */ 1149 */
@@ -1674,6 +1695,19 @@ static int dvb_init(struct saa7134_dev *dev)
1674 1695
1675 /* mb86a20s need to use the I2C gateway */ 1696 /* mb86a20s need to use the I2C gateway */
1676 break; 1697 break;
1698 case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:
1699 fe0->dvb.frontend = dvb_attach(lgs8gxx_attach,
1700 &prohdtv_pro2_lgs8g75_config,
1701 &dev->i2c_adap);
1702 if (fe0->dvb.frontend != NULL) {
1703 dvb_attach(tda829x_attach, fe0->dvb.frontend,
1704 &dev->i2c_adap, 0x4b,
1705 &tda829x_no_probe);
1706 dvb_attach(tda18271_attach, fe0->dvb.frontend,
1707 0x60, &dev->i2c_adap,
1708 &prohdtv_pro2_tda18271_config);
1709 }
1710 break;
1677 default: 1711 default:
1678 wprintk("Huh? unknown DVB card?\n"); 1712 wprintk("Huh? unknown DVB card?\n");
1679 break; 1713 break;