aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7164
diff options
context:
space:
mode:
authorTony Jago <tony@hammertelecom.com.au>2011-08-11 23:19:11 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-09-08 13:27:59 -0400
commit62dd28d0c659db29bdb89cfe9f0aefe42f0adfe9 (patch)
tree4e8ab524a918c477997590ad475b2ff8497577db /drivers/media/video/saa7164
parent8f401543ec96fb58533a2bef41e2c584fe55a114 (diff)
[media] saa7164: Add support for another HVR2200 hardware revision
Hauppauge have released a new model rev, sub id 8940, this adds support. [stoth@kernellabs.com: I modified Tony's patch slightly in relation to the card numbering in saa7164.h, appending rather than inserting the new card - normal practise] Signed-off-by: Tony Jago <tony@hammertelecom.com.au> Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7164')
-rw-r--r--drivers/media/video/saa7164/saa7164-cards.c66
-rw-r--r--drivers/media/video/saa7164/saa7164-dvb.c1
-rw-r--r--drivers/media/video/saa7164/saa7164.h1
3 files changed, 68 insertions, 0 deletions
diff --git a/drivers/media/video/saa7164/saa7164-cards.c b/drivers/media/video/saa7164/saa7164-cards.c
index 69822a4e7275..c71369173fae 100644
--- a/drivers/media/video/saa7164/saa7164-cards.c
+++ b/drivers/media/video/saa7164/saa7164-cards.c
@@ -203,6 +203,66 @@ struct saa7164_board saa7164_boards[] = {
203 .i2c_reg_len = REGLEN_8bit, 203 .i2c_reg_len = REGLEN_8bit,
204 } }, 204 } },
205 }, 205 },
206 [SAA7164_BOARD_HAUPPAUGE_HVR2200_4] = {
207 .name = "Hauppauge WinTV-HVR2200",
208 .porta = SAA7164_MPEG_DVB,
209 .portb = SAA7164_MPEG_DVB,
210 .portc = SAA7164_MPEG_ENCODER,
211 .portd = SAA7164_MPEG_ENCODER,
212 .porte = SAA7164_MPEG_VBI,
213 .portf = SAA7164_MPEG_VBI,
214 .chiprev = SAA7164_CHIP_REV3,
215 .unit = {{
216 .id = 0x1d,
217 .type = SAA7164_UNIT_EEPROM,
218 .name = "4K EEPROM",
219 .i2c_bus_nr = SAA7164_I2C_BUS_0,
220 .i2c_bus_addr = 0xa0 >> 1,
221 .i2c_reg_len = REGLEN_8bit,
222 }, {
223 .id = 0x04,
224 .type = SAA7164_UNIT_TUNER,
225 .name = "TDA18271-1",
226 .i2c_bus_nr = SAA7164_I2C_BUS_1,
227 .i2c_bus_addr = 0xc0 >> 1,
228 .i2c_reg_len = REGLEN_8bit,
229 }, {
230 .id = 0x05,
231 .type = SAA7164_UNIT_ANALOG_DEMODULATOR,
232 .name = "TDA8290-1",
233 .i2c_bus_nr = SAA7164_I2C_BUS_1,
234 .i2c_bus_addr = 0x84 >> 1,
235 .i2c_reg_len = REGLEN_8bit,
236 }, {
237 .id = 0x1b,
238 .type = SAA7164_UNIT_TUNER,
239 .name = "TDA18271-2",
240 .i2c_bus_nr = SAA7164_I2C_BUS_2,
241 .i2c_bus_addr = 0xc0 >> 1,
242 .i2c_reg_len = REGLEN_8bit,
243 }, {
244 .id = 0x1c,
245 .type = SAA7164_UNIT_ANALOG_DEMODULATOR,
246 .name = "TDA8290-2",
247 .i2c_bus_nr = SAA7164_I2C_BUS_2,
248 .i2c_bus_addr = 0x84 >> 1,
249 .i2c_reg_len = REGLEN_8bit,
250 }, {
251 .id = 0x1e,
252 .type = SAA7164_UNIT_DIGITAL_DEMODULATOR,
253 .name = "TDA10048-1",
254 .i2c_bus_nr = SAA7164_I2C_BUS_1,
255 .i2c_bus_addr = 0x10 >> 1,
256 .i2c_reg_len = REGLEN_8bit,
257 }, {
258 .id = 0x1f,
259 .type = SAA7164_UNIT_DIGITAL_DEMODULATOR,
260 .name = "TDA10048-2",
261 .i2c_bus_nr = SAA7164_I2C_BUS_2,
262 .i2c_bus_addr = 0x12 >> 1,
263 .i2c_reg_len = REGLEN_8bit,
264 } },
265 },
206 [SAA7164_BOARD_HAUPPAUGE_HVR2250] = { 266 [SAA7164_BOARD_HAUPPAUGE_HVR2250] = {
207 .name = "Hauppauge WinTV-HVR2250", 267 .name = "Hauppauge WinTV-HVR2250",
208 .porta = SAA7164_MPEG_DVB, 268 .porta = SAA7164_MPEG_DVB,
@@ -426,6 +486,10 @@ struct saa7164_subid saa7164_subids[] = {
426 .subvendor = 0x0070, 486 .subvendor = 0x0070,
427 .subdevice = 0x8851, 487 .subdevice = 0x8851,
428 .card = SAA7164_BOARD_HAUPPAUGE_HVR2250_2, 488 .card = SAA7164_BOARD_HAUPPAUGE_HVR2250_2,
489 }, {
490 .subvendor = 0x0070,
491 .subdevice = 0x8940,
492 .card = SAA7164_BOARD_HAUPPAUGE_HVR2200_4,
429 }, 493 },
430}; 494};
431const unsigned int saa7164_idcount = ARRAY_SIZE(saa7164_subids); 495const unsigned int saa7164_idcount = ARRAY_SIZE(saa7164_subids);
@@ -469,6 +533,7 @@ void saa7164_gpio_setup(struct saa7164_dev *dev)
469 case SAA7164_BOARD_HAUPPAUGE_HVR2200: 533 case SAA7164_BOARD_HAUPPAUGE_HVR2200:
470 case SAA7164_BOARD_HAUPPAUGE_HVR2200_2: 534 case SAA7164_BOARD_HAUPPAUGE_HVR2200_2:
471 case SAA7164_BOARD_HAUPPAUGE_HVR2200_3: 535 case SAA7164_BOARD_HAUPPAUGE_HVR2200_3:
536 case SAA7164_BOARD_HAUPPAUGE_HVR2200_4:
472 case SAA7164_BOARD_HAUPPAUGE_HVR2250: 537 case SAA7164_BOARD_HAUPPAUGE_HVR2250:
473 case SAA7164_BOARD_HAUPPAUGE_HVR2250_2: 538 case SAA7164_BOARD_HAUPPAUGE_HVR2250_2:
474 case SAA7164_BOARD_HAUPPAUGE_HVR2250_3: 539 case SAA7164_BOARD_HAUPPAUGE_HVR2250_3:
@@ -549,6 +614,7 @@ void saa7164_card_setup(struct saa7164_dev *dev)
549 case SAA7164_BOARD_HAUPPAUGE_HVR2200: 614 case SAA7164_BOARD_HAUPPAUGE_HVR2200:
550 case SAA7164_BOARD_HAUPPAUGE_HVR2200_2: 615 case SAA7164_BOARD_HAUPPAUGE_HVR2200_2:
551 case SAA7164_BOARD_HAUPPAUGE_HVR2200_3: 616 case SAA7164_BOARD_HAUPPAUGE_HVR2200_3:
617 case SAA7164_BOARD_HAUPPAUGE_HVR2200_4:
552 case SAA7164_BOARD_HAUPPAUGE_HVR2250: 618 case SAA7164_BOARD_HAUPPAUGE_HVR2250:
553 case SAA7164_BOARD_HAUPPAUGE_HVR2250_2: 619 case SAA7164_BOARD_HAUPPAUGE_HVR2250_2:
554 case SAA7164_BOARD_HAUPPAUGE_HVR2250_3: 620 case SAA7164_BOARD_HAUPPAUGE_HVR2250_3:
diff --git a/drivers/media/video/saa7164/saa7164-dvb.c b/drivers/media/video/saa7164/saa7164-dvb.c
index f65eab63ca87..d3779379197f 100644
--- a/drivers/media/video/saa7164/saa7164-dvb.c
+++ b/drivers/media/video/saa7164/saa7164-dvb.c
@@ -475,6 +475,7 @@ int saa7164_dvb_register(struct saa7164_port *port)
475 case SAA7164_BOARD_HAUPPAUGE_HVR2200: 475 case SAA7164_BOARD_HAUPPAUGE_HVR2200:
476 case SAA7164_BOARD_HAUPPAUGE_HVR2200_2: 476 case SAA7164_BOARD_HAUPPAUGE_HVR2200_2:
477 case SAA7164_BOARD_HAUPPAUGE_HVR2200_3: 477 case SAA7164_BOARD_HAUPPAUGE_HVR2200_3:
478 case SAA7164_BOARD_HAUPPAUGE_HVR2200_4:
478 i2c_bus = &dev->i2c_bus[port->nr + 1]; 479 i2c_bus = &dev->i2c_bus[port->nr + 1];
479 switch (port->nr) { 480 switch (port->nr) {
480 case 0: 481 case 0:
diff --git a/drivers/media/video/saa7164/saa7164.h b/drivers/media/video/saa7164/saa7164.h
index 6678bf1e7816..35b64306ba95 100644
--- a/drivers/media/video/saa7164/saa7164.h
+++ b/drivers/media/video/saa7164/saa7164.h
@@ -82,6 +82,7 @@
82#define SAA7164_BOARD_HAUPPAUGE_HVR2200_3 6 82#define SAA7164_BOARD_HAUPPAUGE_HVR2200_3 6
83#define SAA7164_BOARD_HAUPPAUGE_HVR2250_2 7 83#define SAA7164_BOARD_HAUPPAUGE_HVR2250_2 7
84#define SAA7164_BOARD_HAUPPAUGE_HVR2250_3 8 84#define SAA7164_BOARD_HAUPPAUGE_HVR2250_3 8
85#define SAA7164_BOARD_HAUPPAUGE_HVR2200_4 9
85 86
86#define SAA7164_MAX_UNITS 8 87#define SAA7164_MAX_UNITS 8
87#define SAA7164_TS_NUMBER_OF_LINES 312 88#define SAA7164_TS_NUMBER_OF_LINES 312