The patch number 10926 was added via Michael Krufky <[email protected]>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        Linux Media Mailing List <[email protected]>

------

From: Michael Krufky  <[email protected]>
saa7134: enable digital tv support for Hauppauge WinTV-HVR1120


Priority: normal

Signed-off-by: Michael Krufky <[email protected]>


---

 linux/Documentation/video4linux/CARDLIST.saa7134  |    2 
 linux/drivers/media/video/saa7134/Kconfig         |    3 
 linux/drivers/media/video/saa7134/saa7134-cards.c |    4 -
 linux/drivers/media/video/saa7134/saa7134-dvb.c   |   44 ++++++++++++++
 4 files changed, 51 insertions(+), 2 deletions(-)

diff -r e801c484fc21 -r 837a6b00962d 
linux/Documentation/video4linux/CARDLIST.saa7134
--- a/linux/Documentation/video4linux/CARDLIST.saa7134  Tue Jan 13 02:40:36 
2009 -0500
+++ b/linux/Documentation/video4linux/CARDLIST.saa7134  Sun Jan 18 23:10:49 
2009 -0500
@@ -153,5 +153,5 @@ 152 -> Asus Tiger Rev:1.00              
 152 -> Asus Tiger Rev:1.00                      [1043:4857]
 153 -> Kworld Plus TV Analog Lite PCI           [17de:7128]
 154 -> Avermedia AVerTV GO 007 FM Plus          [1461:f31d]
-155 -> Hauppauge WinTV-HVR1120                  [0070:6706,0070:6708]
+155 -> Hauppauge WinTV-HVR1120 ATSC/QAM-Hybrid  [0070:6706,0070:6708]
 156 -> Hauppauge WinTV-HVR1110r3                [0070:6707,0070:6709,0070:670a]
diff -r e801c484fc21 -r 837a6b00962d linux/drivers/media/video/saa7134/Kconfig
--- a/linux/drivers/media/video/saa7134/Kconfig Tue Jan 13 02:40:36 2009 -0500
+++ b/linux/drivers/media/video/saa7134/Kconfig Sun Jan 18 23:10:49 2009 -0500
@@ -42,6 +42,9 @@ config VIDEO_SAA7134_DVB
        select DVB_MT312 if !DVB_FE_CUSTOMISE
        select DVB_LNBP21 if !DVB_FE_CUSTOMISE
        select DVB_ZL10353 if !DVB_FE_CUSTOMISE
+       select DVB_LGDT3305 if !DVB_FE_CUSTOMISE
+       select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMIZE
+       select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMIZE
        ---help---
          This adds support for DVB cards based on the
          Philips saa7134 chip.
diff -r e801c484fc21 -r 837a6b00962d 
linux/drivers/media/video/saa7134/saa7134-cards.c
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c Tue Jan 13 02:40:36 
2009 -0500
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Sun Jan 18 23:10:49 
2009 -0500
@@ -3332,13 +3332,15 @@ struct saa7134_board saa7134_boards[] = 
                },
        },
        [SAA7134_BOARD_HAUPPAUGE_HVR1120] = {
-               .name           = "Hauppauge WinTV-HVR1120",
+               .name           = "Hauppauge WinTV-HVR1120 ATSC/QAM-Hybrid",
                .audio_clock    = 0x00187de7,
                .tuner_type     = TUNER_PHILIPS_TDA8290,
                .radio_type     = UNSET,
                .tuner_addr     = ADDR_UNSET,
                .radio_addr     = ADDR_UNSET,
                .tuner_config   = 3,
+               .mpeg           = SAA7134_MPEG_DVB,
+               .ts_type        = SAA7134_MPEG_TS_SERIAL,
                .gpiomask       = 0x0800100, /* GPIO 21 is an INPUT */
                .inputs         = {{
                        .name = name_tv,
diff -r e801c484fc21 -r 837a6b00962d 
linux/drivers/media/video/saa7134/saa7134-dvb.c
--- a/linux/drivers/media/video/saa7134/saa7134-dvb.c   Tue Jan 13 02:40:36 
2009 -0500
+++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c   Sun Jan 18 23:10:49 
2009 -0500
@@ -48,6 +48,9 @@
 #include "isl6405.h"
 #include "lnbp21.h"
 #include "tuner-simple.h"
+#include "tda18271.h"
+#include "lgdt3305.h"
+#include "tda8290.h"
 
 #include "zl10353.h"
 
@@ -963,6 +966,34 @@ static struct zl10036_config avertv_a700
        .tuner_address = 0x60,
 };
 
+static struct lgdt3305_config hcw_lgdt3305_config = {
+       .i2c_addr           = 0x0e,
+       .mpeg_mode          = LGDT3305_MPEG_SERIAL,
+       .tpclk_edge         = LGDT3305_TPCLK_RISING_EDGE,
+       .tpvalid_polarity   = LGDT3305_TP_VALID_HIGH,
+       .deny_i2c_rptr      = 1,
+       .spectral_inversion = 1,
+       .qam_if_khz         = 4000,
+       .vsb_if_khz         = 3250,
+};
+
+static struct tda18271_std_map hauppauge_tda18271_std_map = {
+       .atsc_6   = { .if_freq = 3250, .agc_mode = 3, .std = 4,
+                     .if_lvl = 1, .rfagc_top = 0x58, },
+       .qam_6    = { .if_freq = 4000, .agc_mode = 3, .std = 5,
+                     .if_lvl = 1, .rfagc_top = 0x58, },
+};
+
+static struct tda18271_config hcw_tda18271_config = {
+       .std_map = &hauppauge_tda18271_std_map,
+       .gate    = TDA18271_GATE_ANALOG,
+       .config  = 3,
+};
+
+static struct tda829x_config tda829x_no_probe = {
+       .probe_tuner = TDA829X_DONT_PROBE,
+};
+
 /* ==================================================================
  * Core code
  */
@@ -1088,6 +1119,19 @@ static int dvb_init(struct saa7134_dev *
                if (configure_tda827x_fe(dev, &hauppauge_hvr_1110_config,
                                         &tda827x_cfg_1) < 0)
                        goto dettach_frontend;
+               break;
+       case SAA7134_BOARD_HAUPPAUGE_HVR1120:
+               fe0->dvb.frontend = dvb_attach(lgdt3305_attach,
+                                              &hcw_lgdt3305_config,
+                                              &dev->i2c_adap);
+               if (fe0->dvb.frontend) {
+                       dvb_attach(tda829x_attach, fe0->dvb.frontend,
+                                  &dev->i2c_adap, 0x4b,
+                                  &tda829x_no_probe);
+                       dvb_attach(tda18271_attach, fe0->dvb.frontend,
+                                  0x60, &dev->i2c_adap,
+                                  &hcw_tda18271_config);
+               }
                break;
        case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
                if (configure_tda827x_fe(dev, &asus_p7131_dual_config,


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/837a6b00962d23304151e2812bcc8b0e6088b2e1

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to