New Hauppauge PCIe devices
cover New Hauppauge PCIe devices
Included is support for the following four PCIe devices:
- Hauppauge ImpactVCBe - analog PAL/NTSC
- Hauppauge HVR1264K4 - ATSC/QAM + analog
- Hauppauge Starburst2 - DVB-C/S/T/T2 + analog
- Hauppauge digital only QuadHD models - ATSC/QAM|DVB-C/T/T2
Brad Love (4):
cx23885: Enable new Hauppauge PCIe ImpactVCBe variant
cx23885: Add support for Hauppauge PCIe HVR1265 K4
cx23885: Add support for Hauppauge PCIe Starburst2
cx23885: Add support for new Hauppauge QuadHD (885)
drivers/media/pci/cx23885/cx23885-cards.c | 86 ++++++++++++++++++++++++++----- drivers/media/pci/cx23885/cx23885-core.c | 8 +++ drivers/media/pci/cx23885/cx23885-dvb.c | 70 ++++++++++++++++++++++--- drivers/media/pci/cx23885/cx23885-input.c | 3 ++ drivers/media/pci/cx23885/cx23885-video.c | 5 +- drivers/media/pci/cx23885/cx23885.h | 4 ++ 6 files changed, 155 insertions(+), 21 deletions(-)
Signature · 1 line
2.7.4
PATCH 1/4 cx23885: Enable new Hauppauge PCIe ImpactVCBe variant
Add ID of new card revision to driver list
Analog PAL/NTSC capture.
--- drivers/media/pci/cx23885/cx23885-cards.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/media/pci/cx23885/cx23885-cards.c +4 -0
@@ -1028,6 +1028,10 @@ struct cx23885_subid cx23885_subids[] = { .subdevice = 0x7133, .card = CX23885_BOARD_HAUPPAUGE_IMPACTVCBE, }, { + .subvendor = 0x0070, + .subdevice = 0x7137, + .card = CX23885_BOARD_HAUPPAUGE_IMPACTVCBE, + }, { .subvendor = 0x18ac, .subdevice = 0xdb98, .card = CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP2,
Signature · 1 line
2.7.4
PATCH 2/4 cx23885: Add support for Hauppauge PCIe HVR1265 K4
In reply to Brad LoveAdd new PCIe board to driver list and board register/configure functions
cx23885 + lgdt3306a + si2157 digital/analog
--- drivers/media/pci/cx23885/cx23885-cards.c | 27 ++++++++++++++++++ drivers/media/pci/cx23885/cx23885-dvb.c | 46 +++++++++++++++++++++++++++++++ drivers/media/pci/cx23885/cx23885-input.c | 3 ++ drivers/media/pci/cx23885/cx23885-video.c | 5 +++- drivers/media/pci/cx23885/cx23885.h | 1 + 5 files changed, 81 insertions(+), 1 deletion(-)
drivers/media/pci/cx23885/cx23885-cards.c +27 -0
@@ -776,6 +776,11 @@ struct cx23885_board cx23885_boards[] = { .portb = CX23885_MPEG_DVB, .portc = CX23885_MPEG_DVB, }, + [CX23885_BOARD_HAUPPAUGE_HVR1265_K4] = { + .name = "Hauppauge WinTV-HVR-1265(161111)", + .portc = CX23885_MPEG_DVB, + .force_bff = 1, + }, };const unsigned int cx23885_bcount =ARRAY_SIZE (cx23885_boards);
@@ -1091,6 +1096,10 @@ struct cx23885_subid cx23885_subids[] = { .subvendor = 0x0070, .subdevice = 0x6b18, .card = CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC, /* Tuner Pair 2 */ + }, { + .subvendor = 0x0070, + .subdevice = 0x2a18, + .card = CX23885_BOARD_HAUPPAUGE_HVR1265_K4, /* Hauppauge WinTV HVR-1265 (Model 161xx1, Hybrid ATSC/QAM-B) */ }, };const unsigned int cx23885_idcount =ARRAY_SIZE (cx23885_subids);
@@ -1291,6 +1300,9 @@ static void hauppauge_eeprom(struct cx23885_dev *dev, u8 *eeprom_data)case 150329 :/* WinTV-HVR5525 (PCIe, DVB-S/S2, DVB-T/T2/C) */ break ; +case 161111 : +/* WinTV-HVR-1265 K4 (PCIe, Analog/ATSC/QAM-B) */ +break ;case 166100 :/* WinTV-QuadHD (DVB) Tuner Pair 1 (PCIe, IR, half height, DVB-T/T2/C, DVB-T/T2/C */
@@ -1813,6 +1825,18 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)* card does not have any GPIO's connected to subcomponents. */ break ; +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 : +/* +* GPIO-08 TER1_RESN +* GPIO-09 TER2_RESN +*/ +/* Put the parts into reset and back */ +cx23885_gpio_enable (dev,GPIO_8 |GPIO_9 ,1 ); +cx23885_gpio_clear (dev,GPIO_8 |GPIO_9 ); +msleep (100 ); +cx23885_gpio_set (dev,GPIO_8 |GPIO_9 ); +msleep (100 ); +break ; } }
@@ -2058,6 +2082,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_STARBURST :case CX23885_BOARD_HAUPPAUGE_IMPACTVCBE :case CX23885_BOARD_HAUPPAUGE_HVR5525 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC :if (dev->i2c_bus[0 ].i2c_rc ==0 )
@@ -2205,6 +2230,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) ts2->ts_clk_en_val =0x1 ;/* Enable TS_CLK */ ts2->src_sel_val =CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO ;break ; +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC : ts1->gen_ctrl_val =0xc ;/* Serial bus + punctured clock */
@@ -2263,6 +2289,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)case CX23885_BOARD_COMPRO_VIDEOMATE_E800 :case CX23885_BOARD_HAUPPAUGE_HVR1255 :case CX23885_BOARD_HAUPPAUGE_HVR1255_22111 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_HVR1270 :case CX23885_BOARD_HAUPPAUGE_HVR1850 :case CX23885_BOARD_MYGICA_X8506 :
drivers/media/pci/cx23885/cx23885-dvb.c +46 -0
59 lines not on this page · raw message
drivers/media/pci/cx23885/cx23885-input.c +3 -0
@@ -94,6 +94,7 @@ void cx23885_input_rx_work_handler(struct cx23885_dev *dev, u32 events)case CX23885_BOARD_DVBSKY_S950 :case CX23885_BOARD_DVBSKY_S952 :case CX23885_BOARD_DVBSKY_T982 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :/* * The only boards we handle right now. However other boards * using the CX2388x integrated IR controller should be similar
@@ -153,6 +154,7 @@ static int cx23885_input_ir_start(struct cx23885_dev *dev)case CX23885_BOARD_DVBSKY_S950 :case CX23885_BOARD_DVBSKY_S952 :case CX23885_BOARD_DVBSKY_T982 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :/* * The IR controller on this board only returns pulse widths. * Any other mode setting will fail to set up the device.
@@ -283,6 +285,7 @@ int cx23885_input_init(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_HVR1850 :case CX23885_BOARD_HAUPPAUGE_HVR1290 :case CX23885_BOARD_HAUPPAUGE_HVR1250 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :/* Integrated CX2388[58] IR controller */ allowed_protos =RC_PROTO_BIT_ALL_IR_DECODER ;/* The grey Hauppauge RC-5 remote */
drivers/media/pci/cx23885/cx23885-video.c +4 -1
@@ -263,6 +263,7 @@ static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input) (dev->board ==CX23885_BOARD_HAUPPAUGE_IMPACTVCBE ) || (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1255 ) || (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1255_22111 ) || + (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1265_K4 ) || (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1850 ) || (dev->board ==CX23885_BOARD_MYGICA_X8507 ) || (dev->board == CX23885_BOARD_AVERMEDIA_HC81R) ||
@@ -993,7 +994,8 @@ static int cx23885_set_freq_via_ops(struct cx23885_dev *dev,if ((dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1850 ) || (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1255 ) || - (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1255_22111 )) + (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1255_22111 ) || + (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1265_K4 )) fe = &dev->ts1.analog_fe;if (fe && fe->ops.tuner_ops.set_analog_params) {
@@ -1022,6 +1024,7 @@ int cx23885_set_frequency(struct file *file, void *priv,switch (dev->board) {case CX23885_BOARD_HAUPPAUGE_HVR1255 :case CX23885_BOARD_HAUPPAUGE_HVR1255_22111 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_HVR1850 : ret =cx23885_set_freq_via_ops (dev, f);break ;
drivers/media/pci/cx23885/cx23885.h +1 -0
@@ -107,6 +107,7 @@#define CX23885_BOARD_VIEWCAST_460E 55#define CX23885_BOARD_HAUPPAUGE_QUADHD_DVB 56#define CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC 57 +#define CX23885_BOARD_HAUPPAUGE_HVR1265_K4 58#define GPIO_0 0x00000001#define GPIO_1 0x00000002
Signature · 1 line
2.7.4
PATCH v2 2/4 cx23885: Add support for Hauppauge PCIe HVR1265 K4
Add new PCIe board to driver list and board register/configure functions
cx23885 + lgdt3306a + si2157 digital/analog
and
composite/s-video + stereo audio capture
---
Changes since v1:
- add tuner_type
- add missing composite/s-video analog inputs
drivers/media/pci/cx23885/cx23885-cards.c | 43 +++++++++++++++++++++++++++++ drivers/media/pci/cx23885/cx23885-dvb.c | 46 +++++++++++++++++++++++++++++++ drivers/media/pci/cx23885/cx23885-input.c | 3 ++ drivers/media/pci/cx23885/cx23885-video.c | 5 +++- drivers/media/pci/cx23885/cx23885.h | 1 + 5 files changed, 97 insertions(+), 1 deletion(-)
drivers/media/pci/cx23885/cx23885-cards.c +43 -0
@@ -776,6 +776,27 @@ struct cx23885_board cx23885_boards[] = { .portb = CX23885_MPEG_DVB, .portc = CX23885_MPEG_DVB, }, + [CX23885_BOARD_HAUPPAUGE_HVR1265_K4] = { + .name = "Hauppauge WinTV-HVR-1265(161111)", + .porta = CX23885_ANALOG_VIDEO, + .portc = CX23885_MPEG_DVB, + .tuner_type = TUNER_ABSENT, + .force_bff = 1, + .input = {{ + .type = CX23885_VMUX_COMPOSITE1, + .vmux =CX25840_VIN7_CH3 | +CX25840_VIN4_CH2 | + CX25840_VIN6_CH1, + .amux = CX25840_AUDIO7, + }, { + .type = CX23885_VMUX_SVIDEO, + .vmux =CX25840_VIN7_CH3 | +CX25840_VIN4_CH2 | +CX25840_VIN8_CH1 | + CX25840_SVIDEO_ON, + .amux = CX25840_AUDIO7, + } }, + }, };const unsigned int cx23885_bcount =ARRAY_SIZE (cx23885_boards);
@@ -1087,6 +1108,10 @@ struct cx23885_subid cx23885_subids[] = { .subvendor = 0x0070, .subdevice = 0x6b18, .card = CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC, /* Tuner Pair 2 */ + }, { + .subvendor = 0x0070, + .subdevice = 0x2a18, + .card = CX23885_BOARD_HAUPPAUGE_HVR1265_K4, /* Hauppauge WinTV HVR-1265 (Model 161xx1, Hybrid ATSC/QAM-B) */ }, };const unsigned int cx23885_idcount =ARRAY_SIZE (cx23885_subids);
@@ -1287,6 +1312,9 @@ static void hauppauge_eeprom(struct cx23885_dev *dev, u8 *eeprom_data)case 150329 :/* WinTV-HVR5525 (PCIe, DVB-S/S2, DVB-T/T2/C) */ break ; +case 161111 : +/* WinTV-HVR-1265 K4 (PCIe, Analog/ATSC/QAM-B) */ +break ;case 166100 :/* WinTV-QuadHD (DVB) Tuner Pair 1 (PCIe, IR, half height, DVB-T/T2/C, DVB-T/T2/C */
@@ -1809,6 +1837,18 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)* card does not have any GPIO's connected to subcomponents. */ break ; +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 : +/* +* GPIO-08 TER1_RESN +* GPIO-09 TER2_RESN +*/ +/* Put the parts into reset and back */ +cx23885_gpio_enable (dev,GPIO_8 |GPIO_9 ,1 ); +cx23885_gpio_clear (dev,GPIO_8 |GPIO_9 ); +msleep (100 ); +cx23885_gpio_set (dev,GPIO_8 |GPIO_9 ); +msleep (100 ); +break ; } }
@@ -2054,6 +2094,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_STARBURST :case CX23885_BOARD_HAUPPAUGE_IMPACTVCBE :case CX23885_BOARD_HAUPPAUGE_HVR5525 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC :if (dev->i2c_bus[0 ].i2c_rc ==0 )
@@ -2201,6 +2242,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) ts2->ts_clk_en_val =0x1 ;/* Enable TS_CLK */ ts2->src_sel_val =CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO ;break ; +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC : ts1->gen_ctrl_val =0xc ;/* Serial bus + punctured clock */
@@ -2259,6 +2301,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)case CX23885_BOARD_COMPRO_VIDEOMATE_E800 :case CX23885_BOARD_HAUPPAUGE_HVR1255 :case CX23885_BOARD_HAUPPAUGE_HVR1255_22111 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_HVR1270 :case CX23885_BOARD_HAUPPAUGE_HVR1850 :case CX23885_BOARD_MYGICA_X8506 :
drivers/media/pci/cx23885/cx23885-dvb.c +46 -0
59 lines not on this page · raw message
drivers/media/pci/cx23885/cx23885-input.c +3 -0
@@ -94,6 +94,7 @@ void cx23885_input_rx_work_handler(struct cx23885_dev *dev, u32 events)case CX23885_BOARD_DVBSKY_S950 :case CX23885_BOARD_DVBSKY_S952 :case CX23885_BOARD_DVBSKY_T982 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :/* * The only boards we handle right now. However other boards * using the CX2388x integrated IR controller should be similar
@@ -153,6 +154,7 @@ static int cx23885_input_ir_start(struct cx23885_dev *dev)case CX23885_BOARD_DVBSKY_S950 :case CX23885_BOARD_DVBSKY_S952 :case CX23885_BOARD_DVBSKY_T982 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :/* * The IR controller on this board only returns pulse widths. * Any other mode setting will fail to set up the device.
@@ -283,6 +285,7 @@ int cx23885_input_init(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_HVR1850 :case CX23885_BOARD_HAUPPAUGE_HVR1290 :case CX23885_BOARD_HAUPPAUGE_HVR1250 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :/* Integrated CX2388[58] IR controller */ allowed_protos =RC_PROTO_BIT_ALL_IR_DECODER ;/* The grey Hauppauge RC-5 remote */
drivers/media/pci/cx23885/cx23885-video.c +4 -1
@@ -263,6 +263,7 @@ static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input) (dev->board ==CX23885_BOARD_HAUPPAUGE_IMPACTVCBE ) || (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1255 ) || (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1255_22111 ) || + (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1265_K4 ) || (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1850 ) || (dev->board ==CX23885_BOARD_MYGICA_X8507 ) || (dev->board == CX23885_BOARD_AVERMEDIA_HC81R) ||
@@ -993,7 +994,8 @@ static int cx23885_set_freq_via_ops(struct cx23885_dev *dev,if ((dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1850 ) || (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1255 ) || - (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1255_22111 )) + (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1255_22111 ) || + (dev->board ==CX23885_BOARD_HAUPPAUGE_HVR1265_K4 )) fe = &dev->ts1.analog_fe;if (fe && fe->ops.tuner_ops.set_analog_params) {
@@ -1022,6 +1024,7 @@ int cx23885_set_frequency(struct file *file, void *priv,switch (dev->board) {case CX23885_BOARD_HAUPPAUGE_HVR1255 :case CX23885_BOARD_HAUPPAUGE_HVR1255_22111 : +case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_HVR1850 : ret =cx23885_set_freq_via_ops (dev, f);break ;
drivers/media/pci/cx23885/cx23885.h +1 -0
@@ -107,6 +107,7 @@#define CX23885_BOARD_VIEWCAST_460E 55#define CX23885_BOARD_HAUPPAUGE_QUADHD_DVB 56#define CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC 57 +#define CX23885_BOARD_HAUPPAUGE_HVR1265_K4 58#define GPIO_0 0x00000001#define GPIO_1 0x00000002
Signature · 1 line
2.7.4
PATCH 3/4 cx23885: Add support for Hauppauge PCIe Starburst2
In reply to Brad LoveAdd new PCIe DVB-S/S2.
A single port Hauppauge HVR-5525
cx23885 + a8293 + m88rs6000t
--- drivers/media/pci/cx23885/cx23885-cards.c | 11 +++++++++++ drivers/media/pci/cx23885/cx23885-dvb.c | 18 ++++++++++-------- drivers/media/pci/cx23885/cx23885.h | 1 + 3 files changed, 22 insertions(+), 8 deletions(-)
drivers/media/pci/cx23885/cx23885-cards.c +11 -0
@@ -781,6 +781,10 @@ struct cx23885_board cx23885_boards[] = { .portc = CX23885_MPEG_DVB, .force_bff = 1, }, + [CX23885_BOARD_HAUPPAUGE_STARBURST2] = { + .name = "Hauppauge WinTV-Starburst2", + .portb = CX23885_MPEG_DVB, + }, };const unsigned int cx23885_bcount =ARRAY_SIZE (cx23885_boards);
@@ -1100,6 +1104,10 @@ struct cx23885_subid cx23885_subids[] = { .subvendor = 0x0070, .subdevice = 0x2a18, .card = CX23885_BOARD_HAUPPAUGE_HVR1265_K4, /* Hauppauge WinTV HVR-1265 (Model 161xx1, Hybrid ATSC/QAM-B) */ + }, { + .subvendor = 0x0070, + .subdevice = 0xf02a, + .card = CX23885_BOARD_HAUPPAUGE_STARBURST2, }, };const unsigned int cx23885_idcount =ARRAY_SIZE (cx23885_subids);
@@ -1796,6 +1804,7 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_HVR5525 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC : +case CX23885_BOARD_HAUPPAUGE_STARBURST2 :/* * HVR5525 GPIO Details: * GPIO-00 IR_WIDE
@@ -2083,6 +2092,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_IMPACTVCBE :case CX23885_BOARD_HAUPPAUGE_HVR5525 :case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 : +case CX23885_BOARD_HAUPPAUGE_STARBURST2 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC :if (dev->i2c_bus[0 ].i2c_rc ==0 )
@@ -2223,6 +2233,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) ts2->src_sel_val =CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO ;break ;case CX23885_BOARD_HAUPPAUGE_HVR5525 : +case CX23885_BOARD_HAUPPAUGE_STARBURST2 : ts1->gen_ctrl_val =0x5 ;/* Parallel */ ts1->ts_clk_en_val =0x1 ;/* Enable TS_CLK */ ts1->src_sel_val =CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO ;
drivers/media/pci/cx23885/cx23885-dvb.c +10 -8
@@ -1206,6 +1206,8 @@ static int dvb_register(struct cx23885_tsport *port)struct si2157_config si2157_config;struct ts2020_config ts2020_config;struct m88ds3103_platform_data m88ds3103_pdata; +struct m88rs6000t_config m88rs6000t_config = {}; +struct a8293_platform_data a8293_pdata = {};struct i2c_board_info info;struct i2c_adapter *adapter;struct i2c_client *client_demod =NULL , *client_tuner =NULL ;
@@ -2229,9 +2231,10 @@ static int dvb_register(struct cx23885_tsport *port) } port->i2c_client_tuner = client_tuner;break ; -case CX23885_BOARD_HAUPPAUGE_HVR5525 : { -struct m88rs6000t_config m88rs6000t_config; -struct a8293_platform_data a8293_pdata = {}; +case CX23885_BOARD_HAUPPAUGE_STARBURST2 : +case CX23885_BOARD_HAUPPAUGE_HVR5525 : + i2c_bus = &dev->i2c_bus[0 ]; + i2c_bus2 = &dev->i2c_bus[1 ];switch (port->nr) {
@@ -2240,7 +2243,7 @@ static int dvb_register(struct cx23885_tsport *port)/* attach frontend */ fe0->dvb.frontend =dvb_attach (m88ds3103_attach, &hauppauge_hvr5525_m88ds3103_config, - &dev->i2c_bus[0 ].i2c_adap, &adapter); + &i2c_bus->i2c_adap, &adapter);if (fe0->dvb.frontend ==NULL )break ;
@@ -2251,7 +2254,7 @@ static int dvb_register(struct cx23885_tsport *port) info.addr =0x0b ; info.platform_data = &a8293_pdata;request_module ("a8293" ); - client_sec =i2c_new_device (&dev->i2c_bus[0 ].i2c_adap, &info); + client_sec =i2c_new_device (&i2c_bus->i2c_adap, &info);if (!client_sec || !client_sec->dev.driver) goto frontend_detach;if (!try_module_get (client_sec->dev.driver->owner)) {
@@ -2293,7 +2296,7 @@ static int dvb_register(struct cx23885_tsport *port) info.addr =0x64 ; info.platform_data = &si2168_config;request_module ("%s" , info.type); - client_demod =i2c_new_device (&dev->i2c_bus[0 ].i2c_adap, &info); + client_demod =i2c_new_device (&i2c_bus->i2c_adap, &info);if (!client_demod || !client_demod->dev.driver) goto frontend_detach;if (!try_module_get (client_demod->dev.driver->owner)) {
@@ -2311,7 +2314,7 @@ static int dvb_register(struct cx23885_tsport *port) info.addr =0x60 ; info.platform_data = &si2157_config;request_module ("%s" , info.type); - client_tuner =i2c_new_device (&dev->i2c_bus[1 ].i2c_adap, &info); + client_tuner =i2c_new_device (&i2c_bus2->i2c_adap, &info);if (!client_tuner || !client_tuner->dev.driver) {module_put (client_demod->dev.driver->owner);i2c_unregister_device (client_demod);
@@ -2329,7 +2332,6 @@ static int dvb_register(struct cx23885_tsport *port)break ; }break ; - }case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB :switch (port->nr) {/* port b - Terrestrial/cable */
drivers/media/pci/cx23885/cx23885.h +1 -0
@@ -108,6 +108,7 @@#define CX23885_BOARD_HAUPPAUGE_QUADHD_DVB 56#define CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC 57#define CX23885_BOARD_HAUPPAUGE_HVR1265_K4 58 +#define CX23885_BOARD_HAUPPAUGE_STARBURST2 59#define GPIO_0 0x00000001#define GPIO_1 0x00000002
Signature · 1 line
2.7.4
PATCH v2 3/4 cx23885: Add support for Hauppauge PCIe Starburst2
Add new PCIe DVB-S/S2.
A single port Hauppauge HVR-5525
cx23885 + a8293 + m88rs6000t
---
Changes since v1:
- regen for dependency
drivers/media/pci/cx23885/cx23885-cards.c | 11 +++++++++++ drivers/media/pci/cx23885/cx23885-dvb.c | 18 ++++++++++-------- drivers/media/pci/cx23885/cx23885.h | 1 + 3 files changed, 22 insertions(+), 8 deletions(-)
drivers/media/pci/cx23885/cx23885-cards.c +11 -0
@@ -797,6 +797,10 @@ struct cx23885_board cx23885_boards[] = { .amux = CX25840_AUDIO7, } }, }, + [CX23885_BOARD_HAUPPAUGE_STARBURST2 ] = { + .name ="Hauppauge WinTV-Starburst2" , + .portb =CX23885_MPEG_DVB , + }, };const unsigned int cx23885_bcount =ARRAY_SIZE (cx23885_boards);
@@ -1112,6 +1116,10 @@ struct cx23885_subid cx23885_subids[] = { .subvendor = 0x0070, .subdevice = 0x2a18, .card = CX23885_BOARD_HAUPPAUGE_HVR1265_K4, /* Hauppauge WinTV HVR-1265 (Model 161xx1, Hybrid ATSC/QAM-B) */ + }, { + .subvendor = 0x0070, + .subdevice = 0xf02a, + .card = CX23885_BOARD_HAUPPAUGE_STARBURST2, }, };const unsigned int cx23885_idcount =ARRAY_SIZE (cx23885_subids);
@@ -1808,6 +1816,7 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_HVR5525 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC : +case CX23885_BOARD_HAUPPAUGE_STARBURST2 :/* * HVR5525 GPIO Details: * GPIO-00 IR_WIDE
@@ -2095,6 +2104,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_IMPACTVCBE :case CX23885_BOARD_HAUPPAUGE_HVR5525 :case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 : +case CX23885_BOARD_HAUPPAUGE_STARBURST2 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC :if (dev->i2c_bus[0 ].i2c_rc ==0 )
@@ -2235,6 +2245,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) ts2->src_sel_val =CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO ;break ;case CX23885_BOARD_HAUPPAUGE_HVR5525 : +case CX23885_BOARD_HAUPPAUGE_STARBURST2 : ts1->gen_ctrl_val =0x5 ;/* Parallel */ ts1->ts_clk_en_val =0x1 ;/* Enable TS_CLK */ ts1->src_sel_val =CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO ;
drivers/media/pci/cx23885/cx23885-dvb.c +10 -8
@@ -1206,6 +1206,8 @@ static int dvb_register(struct cx23885_tsport *port)struct si2157_config si2157_config;struct ts2020_config ts2020_config;struct m88ds3103_platform_data m88ds3103_pdata; +struct m88rs6000t_config m88rs6000t_config = {}; +struct a8293_platform_data a8293_pdata = {};struct i2c_board_info info;struct i2c_adapter *adapter;struct i2c_client *client_demod =NULL , *client_tuner =NULL ;
@@ -2229,9 +2231,10 @@ static int dvb_register(struct cx23885_tsport *port) } port->i2c_client_tuner = client_tuner;break ; -case CX23885_BOARD_HAUPPAUGE_HVR5525 : { -struct m88rs6000t_config m88rs6000t_config; -struct a8293_platform_data a8293_pdata = {}; +case CX23885_BOARD_HAUPPAUGE_STARBURST2 : +case CX23885_BOARD_HAUPPAUGE_HVR5525 : + i2c_bus = &dev->i2c_bus[0 ]; + i2c_bus2 = &dev->i2c_bus[1 ];switch (port->nr) {
@@ -2240,7 +2243,7 @@ static int dvb_register(struct cx23885_tsport *port)/* attach frontend */ fe0->dvb.frontend =dvb_attach (m88ds3103_attach, &hauppauge_hvr5525_m88ds3103_config, - &dev->i2c_bus[0 ].i2c_adap, &adapter); + &i2c_bus->i2c_adap, &adapter);if (fe0->dvb.frontend ==NULL )break ;
@@ -2251,7 +2254,7 @@ static int dvb_register(struct cx23885_tsport *port) info.addr =0x0b ; info.platform_data = &a8293_pdata;request_module ("a8293" ); - client_sec =i2c_new_device (&dev->i2c_bus[0 ].i2c_adap, &info); + client_sec =i2c_new_device (&i2c_bus->i2c_adap, &info);if (!client_sec || !client_sec->dev.driver) goto frontend_detach;if (!try_module_get (client_sec->dev.driver->owner)) {
@@ -2293,7 +2296,7 @@ static int dvb_register(struct cx23885_tsport *port) info.addr =0x64 ; info.platform_data = &si2168_config;request_module ("%s" , info.type); - client_demod =i2c_new_device (&dev->i2c_bus[0 ].i2c_adap, &info); + client_demod =i2c_new_device (&i2c_bus->i2c_adap, &info);if (!client_demod || !client_demod->dev.driver) goto frontend_detach;if (!try_module_get (client_demod->dev.driver->owner)) {
@@ -2311,7 +2314,7 @@ static int dvb_register(struct cx23885_tsport *port) info.addr =0x60 ; info.platform_data = &si2157_config;request_module ("%s" , info.type); - client_tuner =i2c_new_device (&dev->i2c_bus[1 ].i2c_adap, &info); + client_tuner =i2c_new_device (&i2c_bus2->i2c_adap, &info);if (!client_tuner || !client_tuner->dev.driver) {module_put (client_demod->dev.driver->owner);i2c_unregister_device (client_demod);
@@ -2329,7 +2332,6 @@ static int dvb_register(struct cx23885_tsport *port)break ; }break ; - }case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB :switch (port->nr) {/* port b - Terrestrial/cable */
drivers/media/pci/cx23885/cx23885.h +1 -0
@@ -108,6 +108,7 @@#define CX23885_BOARD_HAUPPAUGE_QUADHD_DVB 56#define CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC 57#define CX23885_BOARD_HAUPPAUGE_HVR1265_K4 58 +#define CX23885_BOARD_HAUPPAUGE_STARBURST2 59#define GPIO_0 0x00000001#define GPIO_1 0x00000002
Signature · 1 line
2.7.4
PATCH 4/4 cx23885: Add support for new Hauppauge QuadHD (885)
In reply to Brad LoveAdd new QuadHD digital only PCIe boards to driver list. Differentiate them from 888 digital/analog QuadHD models.
--- drivers/media/pci/cx23885/cx23885-cards.c | 42 ++++++++++++++++++++++--------- drivers/media/pci/cx23885/cx23885-core.c | 8 ++++++ drivers/media/pci/cx23885/cx23885-dvb.c | 6 +++++ drivers/media/pci/cx23885/cx23885.h | 2 ++ 4 files changed, 46 insertions(+), 12 deletions(-)
drivers/media/pci/cx23885/cx23885-cards.c +30 -12
@@ -771,11 +771,21 @@ struct cx23885_board cx23885_boards[] = { .portb = CX23885_MPEG_DVB, .portc = CX23885_MPEG_DVB, }, + [CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885] = { + .name = "Hauppauge WinTV-QuadHD-DVB(885)", + .portb = CX23885_MPEG_DVB, + .portc = CX23885_MPEG_DVB, + }, [CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC] = { .name = "Hauppauge WinTV-QuadHD-ATSC", .portb = CX23885_MPEG_DVB, .portc = CX23885_MPEG_DVB, }, + [CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885] = { + .name = "Hauppauge WinTV-QuadHD-ATSC(885)", + .portb = CX23885_MPEG_DVB, + .portc = CX23885_MPEG_DVB, + }, [CX23885_BOARD_HAUPPAUGE_HVR1265_K4] = { .name = "Hauppauge WinTV-HVR-1265(161111)", .portc = CX23885_MPEG_DVB,
@@ -1311,25 +1321,25 @@ static void hauppauge_eeprom(struct cx23885_dev *dev, u8 *eeprom_data)case 161111 :/* WinTV-HVR-1265 (PCIe, Analog/ATSC/QAM-B) */ break ; -case 166100 : +case 166100 :/* 888 version, hybrid */ +case 166200 :/* 885 version, DVB only */ /* WinTV-QuadHD (DVB) Tuner Pair 1 (PCIe, IR, half height, DVB-T/T2/C, DVB-T/T2/C */ break ; -case 166101 : +case 166101 :/* 888 version, hybrid */ +case 166201 :/* 885 version, DVB only */ /* WinTV-QuadHD (DVB) Tuner Pair 2 (PCIe, IR, half height, DVB-T/T2/C, DVB-T/T2/C */ break ; -case 165100 : -/* -* WinTV-QuadHD (ATSC) Tuner Pair 1 (PCIe, IR, half height, -* ATSC, ATSC -*/ +case 165100 :/* 888 version, hybrid */ +case 165200 :/* 885 version, digital only */ +/* WinTV-QuadHD (ATSC) Tuner Pair 1 (PCIe, IR, half height, +* ATSC/QAM-B, ATSC/QAM-B */ break ; -case 165101 : -/* -* WinTV-QuadHD (DVB) Tuner Pair 2 (PCIe, IR, half height, -* ATSC, ATSC -*/ +case 165101 :/* 888 version, hybrid */ +case 165201 :/* 885 version, digital only */ +/* WinTV-QuadHD (ATSC) Tuner Pair 2 (PCIe, IR, half height, +* ATSC/QAM-B, ATSC/QAM-B */ break ;default : pr_warn("%s: warning: unknown hauppauge model #%d\n",
@@ -1835,6 +1845,8 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)*/ break ;case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 : +case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 : +case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 :/* * GPIO-08 TER1_RESN * GPIO-09 TER2_RESN
@@ -2094,7 +2106,9 @@ void cx23885_card_setup(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_STARBURST2 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB : +case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC : +case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 :if (dev->i2c_bus[0 ].i2c_rc ==0 )hauppauge_eeprom (dev, eeprom+0xc0 );break ;
@@ -2243,7 +2257,9 @@ void cx23885_card_setup(struct cx23885_dev *dev)break ;case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB : +case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC : +case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 : ts1->gen_ctrl_val =0xc ;/* Serial bus + punctured clock */ ts1->ts_clk_en_val =0x1 ;/* Enable TS_CLK */ ts1->src_sel_val =CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO ;
@@ -2301,6 +2317,8 @@ void cx23885_card_setup(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_HVR1255 :case CX23885_BOARD_HAUPPAUGE_HVR1255_22111 :case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 : +case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB : +case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC :case CX23885_BOARD_HAUPPAUGE_HVR1270 :case CX23885_BOARD_HAUPPAUGE_HVR1850 :case CX23885_BOARD_MYGICA_X8506 :
drivers/media/pci/cx23885/cx23885-core.c +8 -0
@@ -869,6 +869,14 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)cx23885_card_list (dev); } +if (dev->pci->device ==0x8852 ) { +/* no DIF on cx23885, so no analog tuner support possible */ +if (dev->board ==CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC ) + dev->board =CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 ; +else if (dev->board ==CX23885_BOARD_HAUPPAUGE_QUADHD_DVB ) + dev->board =CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 ; + } +/* If the user specific a clk freq override, apply it */ if (cx23885_boards[dev->board].clk_freq >0 ) dev->clk_freq = cx23885_boards[dev->board].clk_freq;
drivers/media/pci/cx23885/cx23885-dvb.c +6 -0
@@ -2333,6 +2333,9 @@ static int dvb_register(struct cx23885_tsport *port) }break ;case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB : +case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 : +pr_info ("%s(): board=%d port=%d\n" , __func__, + dev->board, port->nr);switch (port->nr) {/* port b - Terrestrial/cable */ case 1 :
@@ -2430,6 +2433,9 @@ static int dvb_register(struct cx23885_tsport *port) }break ;case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC : +case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 : +pr_info ("%s(): board=%d port=%d\n" , __func__, + dev->board, port->nr);switch (port->nr) {/* port b - Terrestrial/cable */ case 1 :
drivers/media/pci/cx23885/cx23885.h +2 -0
@@ -109,6 +109,8 @@#define CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC 57#define CX23885_BOARD_HAUPPAUGE_HVR1265_K4 58#define CX23885_BOARD_HAUPPAUGE_STARBURST2 59 +#define CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 60 +#define CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 61#define GPIO_0 0x00000001#define GPIO_1 0x00000002
Signature · 1 line
2.7.4
PATCH v2 4/4 cx23885: Add support for new Hauppauge QuadHD (885)
Add new QuadHD digital only PCIe boards to driver list. Differentiate them from 888 digital/analog QuadHD models.
---
Changes since v1:
- regen for dependency
drivers/media/pci/cx23885/cx23885-cards.c | 42 ++++++++++++++++++++++--------- drivers/media/pci/cx23885/cx23885-core.c | 8 ++++++ drivers/media/pci/cx23885/cx23885-dvb.c | 6 +++++ drivers/media/pci/cx23885/cx23885.h | 2 ++ 4 files changed, 46 insertions(+), 12 deletions(-)
drivers/media/pci/cx23885/cx23885-cards.c +30 -12
@@ -771,11 +771,21 @@ struct cx23885_board cx23885_boards[] = { .portb = CX23885_MPEG_DVB, .portc = CX23885_MPEG_DVB, }, + [CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885] = { + .name = "Hauppauge WinTV-QuadHD-DVB(885)", + .portb = CX23885_MPEG_DVB, + .portc = CX23885_MPEG_DVB, + }, [CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC] = { .name = "Hauppauge WinTV-QuadHD-ATSC", .portb = CX23885_MPEG_DVB, .portc = CX23885_MPEG_DVB, }, + [CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885] = { + .name = "Hauppauge WinTV-QuadHD-ATSC(885)", + .portb = CX23885_MPEG_DVB, + .portc = CX23885_MPEG_DVB, + }, [CX23885_BOARD_HAUPPAUGE_HVR1265_K4] = { .name = "Hauppauge WinTV-HVR-1265(161111)", .porta = CX23885_ANALOG_VIDEO,
@@ -1323,25 +1333,25 @@ static void hauppauge_eeprom(struct cx23885_dev *dev, u8 *eeprom_data)case 161111 :/* WinTV-HVR-1265 K4 (PCIe, Analog/ATSC/QAM-B) */ break ; -case 166100 : +case 166100 :/* 888 version, hybrid */ +case 166200 :/* 885 version, DVB only */ /* WinTV-QuadHD (DVB) Tuner Pair 1 (PCIe, IR, half height, DVB-T/T2/C, DVB-T/T2/C */ break ; -case 166101 : +case 166101 :/* 888 version, hybrid */ +case 166201 :/* 885 version, DVB only */ /* WinTV-QuadHD (DVB) Tuner Pair 2 (PCIe, IR, half height, DVB-T/T2/C, DVB-T/T2/C */ break ; -case 165100 : -/* -* WinTV-QuadHD (ATSC) Tuner Pair 1 (PCIe, IR, half height, -* ATSC, ATSC -*/ +case 165100 :/* 888 version, hybrid */ +case 165200 :/* 885 version, digital only */ +/* WinTV-QuadHD (ATSC) Tuner Pair 1 (PCIe, IR, half height, +* ATSC/QAM-B, ATSC/QAM-B */ break ; -case 165101 : -/* -* WinTV-QuadHD (DVB) Tuner Pair 2 (PCIe, IR, half height, -* ATSC, ATSC -*/ +case 165101 :/* 888 version, hybrid */ +case 165201 :/* 885 version, digital only */ +/* WinTV-QuadHD (ATSC) Tuner Pair 2 (PCIe, IR, half height, +* ATSC/QAM-B, ATSC/QAM-B */ break ;default : pr_warn("%s: warning: unknown hauppauge model #%d\n",
@@ -1847,6 +1857,8 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)*/ break ;case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 : +case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 : +case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 :/* * GPIO-08 TER1_RESN * GPIO-09 TER2_RESN
@@ -2106,7 +2118,9 @@ void cx23885_card_setup(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_STARBURST2 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB : +case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC : +case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 :if (dev->i2c_bus[0 ].i2c_rc ==0 )hauppauge_eeprom (dev, eeprom+0xc0 );break ;
@@ -2255,7 +2269,9 @@ void cx23885_card_setup(struct cx23885_dev *dev)break ;case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 :case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB : +case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 :case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC : +case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 : ts1->gen_ctrl_val =0xc ;/* Serial bus + punctured clock */ ts1->ts_clk_en_val =0x1 ;/* Enable TS_CLK */ ts1->src_sel_val =CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO ;
@@ -2313,6 +2329,8 @@ void cx23885_card_setup(struct cx23885_dev *dev)case CX23885_BOARD_HAUPPAUGE_HVR1255 :case CX23885_BOARD_HAUPPAUGE_HVR1255_22111 :case CX23885_BOARD_HAUPPAUGE_HVR1265_K4 : +case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB : +case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC :case CX23885_BOARD_HAUPPAUGE_HVR1270 :case CX23885_BOARD_HAUPPAUGE_HVR1850 :case CX23885_BOARD_MYGICA_X8506 :
drivers/media/pci/cx23885/cx23885-core.c +8 -0
@@ -869,6 +869,14 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)cx23885_card_list (dev); } +if (dev->pci->device ==0x8852 ) { +/* no DIF on cx23885, so no analog tuner support possible */ +if (dev->board ==CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC ) + dev->board =CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 ; +else if (dev->board ==CX23885_BOARD_HAUPPAUGE_QUADHD_DVB ) + dev->board =CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 ; + } +/* If the user specific a clk freq override, apply it */ if (cx23885_boards[dev->board].clk_freq >0 ) dev->clk_freq = cx23885_boards[dev->board].clk_freq;
drivers/media/pci/cx23885/cx23885-dvb.c +6 -0
@@ -2333,6 +2333,9 @@ static int dvb_register(struct cx23885_tsport *port) }break ;case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB : +case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 : +pr_info ("%s(): board=%d port=%d\n" , __func__, + dev->board, port->nr);switch (port->nr) {/* port b - Terrestrial/cable */ case 1 :
@@ -2430,6 +2433,9 @@ static int dvb_register(struct cx23885_tsport *port) }break ;case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC : +case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 : +pr_info ("%s(): board=%d port=%d\n" , __func__, + dev->board, port->nr);switch (port->nr) {/* port b - Terrestrial/cable */ case 1 :
drivers/media/pci/cx23885/cx23885.h +2 -0
@@ -109,6 +109,8 @@#define CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC 57#define CX23885_BOARD_HAUPPAUGE_HVR1265_K4 58#define CX23885_BOARD_HAUPPAUGE_STARBURST2 59 +#define CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 60 +#define CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 61#define GPIO_0 0x00000001#define GPIO_1 0x00000002
Signature · 1 line
2.7.4