diff options
author | Tony Jago <tony@hammertelecom.com.au> | 2011-08-11 23:19:11 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-09-08 13:27:59 -0400 |
commit | 62dd28d0c659db29bdb89cfe9f0aefe42f0adfe9 (patch) | |
tree | 4e8ab524a918c477997590ad475b2ff8497577db /drivers/media/video/saa7164 | |
parent | 8f401543ec96fb58533a2bef41e2c584fe55a114 (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.c | 66 | ||||
-rw-r--r-- | drivers/media/video/saa7164/saa7164-dvb.c | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7164/saa7164.h | 1 |
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 | }; |
431 | const unsigned int saa7164_idcount = ARRAY_SIZE(saa7164_subids); | 495 | const 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 |