aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Toth <stoth@kernellabs.com>2009-05-11 21:03:07 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-18 23:14:56 -0400
commite333522225ac5c4f37ea49c12724e6c67d896214 (patch)
tree14fb46d4287b542fdc9c710e5cb54f11371d8373
parent78d155693a741f19ab514393a6c4b2da7be9f2ce (diff)
V4L/DVB (12931): SAA7164: Fix the 88021 definition to work with production boards.
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--Documentation/video4linux/CARDLIST.saa71643
-rw-r--r--drivers/media/video/saa7164/saa7164-cards.c61
-rw-r--r--drivers/media/video/saa7164/saa7164-dvb.c1
-rw-r--r--drivers/media/video/saa7164/saa7164.h1
4 files changed, 63 insertions, 3 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7164 b/Documentation/video4linux/CARDLIST.saa7164
index d1e8217e4367..d9bcb5a7e45e 100644
--- a/Documentation/video4linux/CARDLIST.saa7164
+++ b/Documentation/video4linux/CARDLIST.saa7164
@@ -5,4 +5,5 @@
5 4 -> Hauppauge WinTV-HVR2200 [0070:8980] 5 4 -> Hauppauge WinTV-HVR2200 [0070:8980]
6 5 -> Hauppauge WinTV-HVR2200 [0070:8900] 6 5 -> Hauppauge WinTV-HVR2200 [0070:8900]
7 6 -> Hauppauge WinTV-HVR2200 [0070:8901] 7 6 -> Hauppauge WinTV-HVR2200 [0070:8901]
8 7 -> Hauppauge WinTV-HVR2250 [0070:88A1,0070:8891] 8 7 -> Hauppauge WinTV-HVR2250 [0070:8891]
9 8 -> Hauppauge WinTV-HVR2250 [0070:88A1]
diff --git a/drivers/media/video/saa7164/saa7164-cards.c b/drivers/media/video/saa7164/saa7164-cards.c
index 0678b5f31bdd..9274e1c21877 100644
--- a/drivers/media/video/saa7164/saa7164-cards.c
+++ b/drivers/media/video/saa7164/saa7164-cards.c
@@ -303,6 +303,62 @@ struct saa7164_board saa7164_boards[] = {
303 .i2c_reg_len = REGLEN_8bit, 303 .i2c_reg_len = REGLEN_8bit,
304 } }, 304 } },
305 }, 305 },
306 [SAA7164_BOARD_HAUPPAUGE_HVR2250_3] = {
307 .name = "Hauppauge WinTV-HVR2250",
308 .porta = SAA7164_MPEG_DVB,
309 .portb = SAA7164_MPEG_DVB,
310 .chiprev = SAA7164_CHIP_REV3,
311 .unit = {{
312 .id = 0x22,
313 .type = SAA7164_UNIT_EEPROM,
314 .name = "4K EEPROM",
315 .i2c_bus_nr = SAA7164_I2C_BUS_0,
316 .i2c_bus_addr = 0xa0 >> 1,
317 .i2c_reg_len = REGLEN_8bit,
318 }, {
319 .id = 0x04,
320 .type = SAA7164_UNIT_TUNER,
321 .name = "TDA18271-1",
322 .i2c_bus_nr = SAA7164_I2C_BUS_1,
323 .i2c_bus_addr = 0xc0 >> 1,
324 .i2c_reg_len = REGLEN_8bit,
325 }, {
326 .id = 0x07,
327 .type = SAA7164_UNIT_DIGITAL_DEMODULATOR,
328 .name = "CX24228/S5H1411-1 (TOP)",
329 .i2c_bus_nr = SAA7164_I2C_BUS_1,
330 .i2c_bus_addr = 0x32 >> 1,
331 .i2c_reg_len = REGLEN_8bit,
332 }, {
333 .id = 0x08,
334 .type = SAA7164_UNIT_DIGITAL_DEMODULATOR,
335 .name = "CX24228/S5H1411-1 (QAM)",
336 .i2c_bus_nr = SAA7164_I2C_BUS_1,
337 .i2c_bus_addr = 0x34 >> 1,
338 .i2c_reg_len = REGLEN_8bit,
339 }, {
340 .id = 0x22,
341 .type = SAA7164_UNIT_TUNER,
342 .name = "TDA18271-2",
343 .i2c_bus_nr = SAA7164_I2C_BUS_2,
344 .i2c_bus_addr = 0xc0 >> 1,
345 .i2c_reg_len = REGLEN_8bit,
346 }, {
347 .id = 0x24,
348 .type = SAA7164_UNIT_DIGITAL_DEMODULATOR,
349 .name = "CX24228/S5H1411-2 (TOP)",
350 .i2c_bus_nr = SAA7164_I2C_BUS_2,
351 .i2c_bus_addr = 0x32 >> 1,
352 .i2c_reg_len = REGLEN_8bit,
353 }, {
354 .id = 0x27,
355 .type = SAA7164_UNIT_DIGITAL_DEMODULATOR,
356 .name = "CX24228/S5H1411-2 (QAM)",
357 .i2c_bus_nr = SAA7164_I2C_BUS_2,
358 .i2c_bus_addr = 0x34 >> 1,
359 .i2c_reg_len = REGLEN_8bit,
360 } },
361 },
306}; 362};
307const unsigned int saa7164_bcount = ARRAY_SIZE(saa7164_boards); 363const unsigned int saa7164_bcount = ARRAY_SIZE(saa7164_boards);
308 364
@@ -333,7 +389,7 @@ struct saa7164_subid saa7164_subids[] = {
333 }, { 389 }, {
334 .subvendor = 0x0070, 390 .subvendor = 0x0070,
335 .subdevice = 0x88A1, 391 .subdevice = 0x88A1,
336 .card = SAA7164_BOARD_HAUPPAUGE_HVR2250_2, 392 .card = SAA7164_BOARD_HAUPPAUGE_HVR2250_3,
337 }, { 393 }, {
338 .subvendor = 0x0070, 394 .subvendor = 0x0070,
339 .subdevice = 0x8891, 395 .subdevice = 0x8891,
@@ -385,6 +441,7 @@ void saa7164_gpio_setup(struct saa7164_dev *dev)
385 case SAA7164_BOARD_HAUPPAUGE_HVR2200_3: 441 case SAA7164_BOARD_HAUPPAUGE_HVR2200_3:
386 case SAA7164_BOARD_HAUPPAUGE_HVR2250: 442 case SAA7164_BOARD_HAUPPAUGE_HVR2250:
387 case SAA7164_BOARD_HAUPPAUGE_HVR2250_2: 443 case SAA7164_BOARD_HAUPPAUGE_HVR2250_2:
444 case SAA7164_BOARD_HAUPPAUGE_HVR2250_3:
388 /* 445 /*
389 GPIO 2: s5h1411 / tda10048-1 demod reset 446 GPIO 2: s5h1411 / tda10048-1 demod reset
390 GPIO 3: s5h1411 / tda10048-2 demod reset 447 GPIO 3: s5h1411 / tda10048-2 demod reset
@@ -464,7 +521,7 @@ void saa7164_card_setup(struct saa7164_dev *dev)
464 case SAA7164_BOARD_HAUPPAUGE_HVR2200_2: 521 case SAA7164_BOARD_HAUPPAUGE_HVR2200_2:
465 case SAA7164_BOARD_HAUPPAUGE_HVR2200_3: 522 case SAA7164_BOARD_HAUPPAUGE_HVR2200_3:
466 case SAA7164_BOARD_HAUPPAUGE_HVR2250: 523 case SAA7164_BOARD_HAUPPAUGE_HVR2250:
467 case SAA7164_BOARD_HAUPPAUGE_HVR2250_2: 524 case SAA7164_BOARD_HAUPPAUGE_HVR2250_3:
468 hauppauge_eeprom(dev, &eeprom[0]); 525 hauppauge_eeprom(dev, &eeprom[0]);
469 break; 526 break;
470 } 527 }
diff --git a/drivers/media/video/saa7164/saa7164-dvb.c b/drivers/media/video/saa7164/saa7164-dvb.c
index e9ff88a11a12..67e4f9d3d249 100644
--- a/drivers/media/video/saa7164/saa7164-dvb.c
+++ b/drivers/media/video/saa7164/saa7164-dvb.c
@@ -542,6 +542,7 @@ int saa7164_dvb_register(struct saa7164_tsport *port)
542 break; 542 break;
543 case SAA7164_BOARD_HAUPPAUGE_HVR2250: 543 case SAA7164_BOARD_HAUPPAUGE_HVR2250:
544 case SAA7164_BOARD_HAUPPAUGE_HVR2250_2: 544 case SAA7164_BOARD_HAUPPAUGE_HVR2250_2:
545 case SAA7164_BOARD_HAUPPAUGE_HVR2250_3:
545 i2c_bus = &dev->i2c_bus[port->nr + 1]; 546 i2c_bus = &dev->i2c_bus[port->nr + 1];
546 547
547 port->dvb.frontend = dvb_attach(s5h1411_attach, 548 port->dvb.frontend = dvb_attach(s5h1411_attach,
diff --git a/drivers/media/video/saa7164/saa7164.h b/drivers/media/video/saa7164/saa7164.h
index dd8991b28018..e0d8ec0fd95c 100644
--- a/drivers/media/video/saa7164/saa7164.h
+++ b/drivers/media/video/saa7164/saa7164.h
@@ -72,6 +72,7 @@
72#define SAA7164_BOARD_HAUPPAUGE_HVR2200_2 5 72#define SAA7164_BOARD_HAUPPAUGE_HVR2200_2 5
73#define SAA7164_BOARD_HAUPPAUGE_HVR2200_3 6 73#define SAA7164_BOARD_HAUPPAUGE_HVR2200_3 6
74#define SAA7164_BOARD_HAUPPAUGE_HVR2250_2 7 74#define SAA7164_BOARD_HAUPPAUGE_HVR2250_2 7
75#define SAA7164_BOARD_HAUPPAUGE_HVR2250_3 8
75 76
76#define SAA7164_MAX_UNITS 8 77#define SAA7164_MAX_UNITS 8
77#define SAA7164_TS_NUMBER_OF_LINES 312 78#define SAA7164_TS_NUMBER_OF_LINES 312