V4L/DVB (11767): cx23885: Add preliminary support for the HVR1270
authorSteven Toth <stoth@kernellabs.com>
Sat, 2 May 2009 14:39:46 +0000 (11:39 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 16 Jun 2009 21:21:03 +0000 (18:21 -0300)
The patch means the board will be recognised, and the parts brought
out of reset correctly. This patches depends on the centralized GPIO
patch to be merged. What's missing before the HVR-1270 will function
for DTV? The model# needs to be added to avoid 'unknown model'
output and the LG3305/Tuner need to be attached in cx23885-dvb.c

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Documentation/video4linux/CARDLIST.cx23885
drivers/media/video/cx23885/cx23885-cards.c
drivers/media/video/cx23885/cx23885.h

index 91aa3c0f0dd29b47cd6fff8fbea649e523ce2e75..9f07a6a3458552214205d50900ceec8092529df4 100644 (file)
@@ -16,3 +16,4 @@
  15 -> TeVii S470                                          [d470:9022]
  16 -> DVBWorld DVB-S2 2005                                [0001:2005]
  17 -> NetUP Dual DVB-S2 CI                                [1b55:2a2c]
+ 18 -> Hauppauge WinTV-HVR1270                             [0070:2211]
index 6d6293f7d428e6fe501f2c2b4d3d02727dc1132a..49c6634c63276a9c4a339870c0ce8f198a2368be 100644 (file)
@@ -181,6 +181,9 @@ struct cx23885_board cx23885_boards[] = {
                .portb          = CX23885_MPEG_DVB,
                .portc          = CX23885_MPEG_DVB,
        },
+       [CX23885_BOARD_HAUPPAUGE_HVR1270] = {
+               .name           = "Hauppauge WinTV-HVR1270",
+       },
 };
 const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);
 
@@ -280,6 +283,10 @@ struct cx23885_subid cx23885_subids[] = {
                .subvendor = 0x1b55,
                .subdevice = 0x2a2c,
                .card      = CX23885_BOARD_NETUP_DUAL_DVBS2_CI,
+       }, {
+               .subvendor = 0x0070,
+               .subdevice = 0x2211,
+               .card      = CX23885_BOARD_HAUPPAUGE_HVR1270,
        },
 };
 const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids);
@@ -619,6 +626,17 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)
                /* enable irq */
                cx_write(GPIO_ISM, 0x00000000);/* INTERRUPTS active low*/
                break;
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
+               /* GPIO-6 I2C Gate which can isolate the 3305 from the bus */
+               /* GPIO-9 LG3305 reset */
+
+               /* Put the parts into reset and back */
+               cx23885_gpio_enable(dev, GPIO_9 | GPIO_6, 1);
+               cx23885_gpio_set(dev, GPIO_9 | GPIO_6);
+               cx23885_gpio_clear(dev, GPIO_9);
+               mdelay(20);
+               cx23885_gpio_set(dev, GPIO_9);
+               break;
        }
 }
 
@@ -631,6 +649,7 @@ int cx23885_ir_init(struct cx23885_dev *dev)
        case CX23885_BOARD_HAUPPAUGE_HVR1800:
        case CX23885_BOARD_HAUPPAUGE_HVR1200:
        case CX23885_BOARD_HAUPPAUGE_HVR1400:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
                /* FIXME: Implement me */
                break;
        case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP:
@@ -666,6 +685,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
        case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
        case CX23885_BOARD_HAUPPAUGE_HVR1200:
        case CX23885_BOARD_HAUPPAUGE_HVR1700:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
                if (dev->i2c_bus[0].i2c_rc == 0)
                        hauppauge_eeprom(dev, eeprom+0xc0);
                break;
@@ -723,6 +743,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
        case CX23885_BOARD_HAUPPAUGE_HVR1400:
        case CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H:
        case CX23885_BOARD_COMPRO_VIDEOMATE_E650F:
+       case CX23885_BOARD_HAUPPAUGE_HVR1270:
        default:
                ts2->gen_ctrl_val  = 0xc; /* Serial bus + punctured clock */
                ts2->ts_clk_en_val = 0x1; /* Enable TS_CLK */
index d9b03f83fa3115efda60644b357f55cbb809b690..13dccb8ce0dfe626815cacb5bf40af251ab264e0 100644 (file)
@@ -71,6 +71,7 @@
 #define CX23885_BOARD_TEVII_S470               15
 #define CX23885_BOARD_DVBWORLD_2005            16
 #define CX23885_BOARD_NETUP_DUAL_DVBS2_CI      17
+#define CX23885_BOARD_HAUPPAUGE_HVR1270        18
 
 #define GPIO_0 0x00000001
 #define GPIO_1 0x00000002
This page took 0.037363 seconds and 5 git commands to generate.