diff options
author | Michael Krufky <mkrufky@kernellabs.com> | 2009-11-10 23:52:45 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:41:27 -0500 |
commit | aee0b24c05f6e9615115748a8ea5042d8ee0e6a0 (patch) | |
tree | a3fb9b56d12c285771c279a44d308f4a66e660b3 /drivers/media/video/cx23885 | |
parent | a3a4f7e167e77066b0b98b8f056efcda2d302f97 (diff) |
V4L/DVB (13347): cx23885: add digital television support for Hauppauge WinTV-HVR1290
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx23885')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-cards.c | 12 | ||||
-rw-r--r-- | drivers/media/video/cx23885/cx23885-dvb.c | 1 | ||||
-rw-r--r-- | drivers/media/video/cx23885/cx23885.h | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c index 2cbac93866be..2f4db970152e 100644 --- a/drivers/media/video/cx23885/cx23885-cards.c +++ b/drivers/media/video/cx23885/cx23885-cards.c | |||
@@ -265,6 +265,10 @@ struct cx23885_board cx23885_boards[] = { | |||
265 | .name = "Compro VideoMate E800", | 265 | .name = "Compro VideoMate E800", |
266 | .portc = CX23885_MPEG_DVB, | 266 | .portc = CX23885_MPEG_DVB, |
267 | }, | 267 | }, |
268 | [CX23885_BOARD_HAUPPAUGE_HVR1290] = { | ||
269 | .name = "Hauppauge WinTV-HVR1290", | ||
270 | .portc = CX23885_MPEG_DVB, | ||
271 | }, | ||
268 | }; | 272 | }; |
269 | const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards); | 273 | const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards); |
270 | 274 | ||
@@ -400,6 +404,10 @@ struct cx23885_subid cx23885_subids[] = { | |||
400 | .subvendor = 0x1858, | 404 | .subvendor = 0x1858, |
401 | .subdevice = 0xe800, | 405 | .subdevice = 0xe800, |
402 | .card = CX23885_BOARD_COMPRO_VIDEOMATE_E800, | 406 | .card = CX23885_BOARD_COMPRO_VIDEOMATE_E800, |
407 | }, { | ||
408 | .subvendor = 0x0070, | ||
409 | .subdevice = 0x8551, | ||
410 | .card = CX23885_BOARD_HAUPPAUGE_HVR1290, | ||
403 | }, | 411 | }, |
404 | }; | 412 | }; |
405 | const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids); | 413 | const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids); |
@@ -819,6 +827,7 @@ void cx23885_gpio_setup(struct cx23885_dev *dev) | |||
819 | mdelay(100); | 827 | mdelay(100); |
820 | break; | 828 | break; |
821 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 829 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
830 | case CX23885_BOARD_HAUPPAUGE_HVR1290: | ||
822 | /* GPIO-0 656_CLK */ | 831 | /* GPIO-0 656_CLK */ |
823 | /* GPIO-1 656_D0 */ | 832 | /* GPIO-1 656_D0 */ |
824 | /* GPIO-2 Wake# */ | 833 | /* GPIO-2 Wake# */ |
@@ -934,6 +943,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
934 | case CX23885_BOARD_HAUPPAUGE_HVR1255: | 943 | case CX23885_BOARD_HAUPPAUGE_HVR1255: |
935 | case CX23885_BOARD_HAUPPAUGE_HVR1210: | 944 | case CX23885_BOARD_HAUPPAUGE_HVR1210: |
936 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 945 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
946 | case CX23885_BOARD_HAUPPAUGE_HVR1290: | ||
937 | if (dev->i2c_bus[0].i2c_rc == 0) | 947 | if (dev->i2c_bus[0].i2c_rc == 0) |
938 | hauppauge_eeprom(dev, eeprom+0xc0); | 948 | hauppauge_eeprom(dev, eeprom+0xc0); |
939 | break; | 949 | break; |
@@ -1003,6 +1013,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
1003 | case CX23885_BOARD_HAUPPAUGE_HVR1210: | 1013 | case CX23885_BOARD_HAUPPAUGE_HVR1210: |
1004 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 1014 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
1005 | case CX23885_BOARD_COMPRO_VIDEOMATE_E800: | 1015 | case CX23885_BOARD_COMPRO_VIDEOMATE_E800: |
1016 | case CX23885_BOARD_HAUPPAUGE_HVR1290: | ||
1006 | default: | 1017 | default: |
1007 | ts2->gen_ctrl_val = 0xc; /* Serial bus + punctured clock */ | 1018 | ts2->gen_ctrl_val = 0xc; /* Serial bus + punctured clock */ |
1008 | ts2->ts_clk_en_val = 0x1; /* Enable TS_CLK */ | 1019 | ts2->ts_clk_en_val = 0x1; /* Enable TS_CLK */ |
@@ -1023,6 +1034,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) | |||
1023 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 1034 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
1024 | case CX23885_BOARD_MYGICA_X8506: | 1035 | case CX23885_BOARD_MYGICA_X8506: |
1025 | case CX23885_BOARD_MAGICPRO_PROHDTVE2: | 1036 | case CX23885_BOARD_MAGICPRO_PROHDTVE2: |
1037 | case CX23885_BOARD_HAUPPAUGE_HVR1290: | ||
1026 | dev->sd_cx25840 = v4l2_i2c_new_subdev(&dev->v4l2_dev, | 1038 | dev->sd_cx25840 = v4l2_i2c_new_subdev(&dev->v4l2_dev, |
1027 | &dev->i2c_bus[2].i2c_adap, | 1039 | &dev->i2c_bus[2].i2c_adap, |
1028 | "cx25840", "cx25840", 0x88 >> 1, NULL); | 1040 | "cx25840", "cx25840", 0x88 >> 1, NULL); |
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c index 44e5fade0488..133e80290711 100644 --- a/drivers/media/video/cx23885/cx23885-dvb.c +++ b/drivers/media/video/cx23885/cx23885-dvb.c | |||
@@ -898,6 +898,7 @@ static int dvb_register(struct cx23885_tsport *port) | |||
898 | } | 898 | } |
899 | break; | 899 | break; |
900 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 900 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
901 | case CX23885_BOARD_HAUPPAUGE_HVR1290: | ||
901 | i2c_bus = &dev->i2c_bus[0]; | 902 | i2c_bus = &dev->i2c_bus[0]; |
902 | fe0->dvb.frontend = dvb_attach(s5h1411_attach, | 903 | fe0->dvb.frontend = dvb_attach(s5h1411_attach, |
903 | &hcw_s5h1411_config, | 904 | &hcw_s5h1411_config, |
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h index 813eaf7c5e94..12d1a344a8ab 100644 --- a/drivers/media/video/cx23885/cx23885.h +++ b/drivers/media/video/cx23885/cx23885.h | |||
@@ -79,6 +79,7 @@ | |||
79 | #define CX23885_BOARD_MAGICPRO_PROHDTVE2 23 | 79 | #define CX23885_BOARD_MAGICPRO_PROHDTVE2 23 |
80 | #define CX23885_BOARD_HAUPPAUGE_HVR1850 24 | 80 | #define CX23885_BOARD_HAUPPAUGE_HVR1850 24 |
81 | #define CX23885_BOARD_COMPRO_VIDEOMATE_E800 25 | 81 | #define CX23885_BOARD_COMPRO_VIDEOMATE_E800 25 |
82 | #define CX23885_BOARD_HAUPPAUGE_HVR1290 26 | ||
82 | 83 | ||
83 | #define GPIO_0 0x00000001 | 84 | #define GPIO_0 0x00000001 |
84 | #define GPIO_1 0x00000002 | 85 | #define GPIO_1 0x00000002 |