diff options
| author | Dmitri Belimov <d.belimov@gmail.com> | 2010-04-06 00:00:05 -0400 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-05-19 11:58:41 -0400 |
| commit | 0faa2ed5bfd08d94a04c8d4b55823676175f451f (patch) | |
| tree | 427bf73edaaa5a474a61f82fb8a382604e57b118 | |
| parent | 1b0e48ad5530881d11d3caba62e59b82646c5e64 (diff) | |
V4L/DVB: saa7134: Add support new Behold TV cards
[dougsland@redhat.com: Fixed cards numbers reject due changes in saa7134.h]
Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| -rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 2 | ||||
| -rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 72 | ||||
| -rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 9 | ||||
| -rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 2 | ||||
| -rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 2 |
5 files changed, 87 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index bb3d5faa34ed..070f2576707e 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
| @@ -176,3 +176,5 @@ | |||
| 176 | 175 -> Leadtek Winfast DTV1000S [107d:6655] | 176 | 175 -> Leadtek Winfast DTV1000S [107d:6655] |
| 177 | 176 -> Beholder BeholdTV 505 RDS [0000:5051] | 177 | 176 -> Beholder BeholdTV 505 RDS [0000:5051] |
| 178 | 177 -> Hawell HW-404M7 | 178 | 177 -> Hawell HW-404M7 |
| 179 | 179 -> Beholder BeholdTV H7 [5ace:7190] | ||
| 180 | 180 -> Beholder BeholdTV A7 [5ace:7090] | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 435f821b5921..72700d4e3941 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
| @@ -5372,6 +5372,62 @@ struct saa7134_board saa7134_boards[] = { | |||
| 5372 | .gpio = 0x01fc00, | 5372 | .gpio = 0x01fc00, |
| 5373 | } }, | 5373 | } }, |
| 5374 | }, | 5374 | }, |
| 5375 | [SAA7134_BOARD_BEHOLD_H7] = { | ||
| 5376 | /* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */ | ||
| 5377 | .name = "Beholder BeholdTV H7", | ||
| 5378 | .audio_clock = 0x00187de7, | ||
| 5379 | .tuner_type = TUNER_XC5000, | ||
| 5380 | .radio_type = UNSET, | ||
| 5381 | .tuner_addr = ADDR_UNSET, | ||
| 5382 | .radio_addr = ADDR_UNSET, | ||
| 5383 | .mpeg = SAA7134_MPEG_DVB, | ||
| 5384 | .ts_type = SAA7134_MPEG_TS_PARALLEL, | ||
| 5385 | .inputs = { { | ||
| 5386 | .name = name_tv, | ||
| 5387 | .vmux = 2, | ||
| 5388 | .amux = TV, | ||
| 5389 | .tv = 1, | ||
| 5390 | }, { | ||
| 5391 | .name = name_comp1, | ||
| 5392 | .vmux = 0, | ||
| 5393 | .amux = LINE1, | ||
| 5394 | }, { | ||
| 5395 | .name = name_svideo, | ||
| 5396 | .vmux = 9, | ||
| 5397 | .amux = LINE1, | ||
| 5398 | } }, | ||
| 5399 | .radio = { | ||
| 5400 | .name = name_radio, | ||
| 5401 | .amux = TV, | ||
| 5402 | }, | ||
| 5403 | }, | ||
| 5404 | [SAA7134_BOARD_BEHOLD_A7] = { | ||
| 5405 | /* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */ | ||
| 5406 | .name = "Beholder BeholdTV A7", | ||
| 5407 | .audio_clock = 0x00187de7, | ||
| 5408 | .tuner_type = TUNER_XC5000, | ||
| 5409 | .radio_type = UNSET, | ||
| 5410 | .tuner_addr = ADDR_UNSET, | ||
| 5411 | .radio_addr = ADDR_UNSET, | ||
| 5412 | .inputs = { { | ||
| 5413 | .name = name_tv, | ||
| 5414 | .vmux = 2, | ||
| 5415 | .amux = TV, | ||
| 5416 | .tv = 1, | ||
| 5417 | }, { | ||
| 5418 | .name = name_comp1, | ||
| 5419 | .vmux = 0, | ||
| 5420 | .amux = LINE1, | ||
| 5421 | }, { | ||
| 5422 | .name = name_svideo, | ||
| 5423 | .vmux = 9, | ||
| 5424 | .amux = LINE1, | ||
| 5425 | } }, | ||
| 5426 | .radio = { | ||
| 5427 | .name = name_radio, | ||
| 5428 | .amux = TV, | ||
| 5429 | }, | ||
| 5430 | }, | ||
| 5375 | 5431 | ||
| 5376 | }; | 5432 | }; |
| 5377 | 5433 | ||
| @@ -6566,6 +6622,18 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
| 6566 | .subvendor = PCI_ANY_ID, | 6622 | .subvendor = PCI_ANY_ID, |
| 6567 | .subdevice = PCI_ANY_ID, | 6623 | .subdevice = PCI_ANY_ID, |
| 6568 | .driver_data = SAA7134_BOARD_UNKNOWN, | 6624 | .driver_data = SAA7134_BOARD_UNKNOWN, |
| 6625 | }, { | ||
| 6626 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
| 6627 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
| 6628 | .subvendor = 0x5ace, /* Beholder Intl. Ltd. */ | ||
| 6629 | .subdevice = 0x7190, | ||
| 6630 | .driver_data = SAA7134_BOARD_BEHOLD_H7, | ||
| 6631 | }, { | ||
| 6632 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
| 6633 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
| 6634 | .subvendor = 0x5ace, /* Beholder Intl. Ltd. */ | ||
| 6635 | .subdevice = 0x7090, | ||
| 6636 | .driver_data = SAA7134_BOARD_BEHOLD_A7, | ||
| 6569 | },{ | 6637 | },{ |
| 6570 | /* --- end of list --- */ | 6638 | /* --- end of list --- */ |
| 6571 | } | 6639 | } |
| @@ -6619,6 +6687,8 @@ static int saa7134_xc5000_callback(struct saa7134_dev *dev, | |||
| 6619 | { | 6687 | { |
| 6620 | switch (dev->board) { | 6688 | switch (dev->board) { |
| 6621 | case SAA7134_BOARD_BEHOLD_X7: | 6689 | case SAA7134_BOARD_BEHOLD_X7: |
| 6690 | case SAA7134_BOARD_BEHOLD_H7: | ||
| 6691 | case SAA7134_BOARD_BEHOLD_A7: | ||
| 6622 | if (command == XC5000_TUNER_RESET) { | 6692 | if (command == XC5000_TUNER_RESET) { |
| 6623 | /* Down and UP pheripherial RESET pin for reset all chips */ | 6693 | /* Down and UP pheripherial RESET pin for reset all chips */ |
| 6624 | saa_writeb(SAA7134_SPECIAL_MODE, 0x00); | 6694 | saa_writeb(SAA7134_SPECIAL_MODE, 0x00); |
| @@ -6990,6 +7060,8 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
| 6990 | case SAA7134_BOARD_BEHOLD_M6_EXTRA: | 7060 | case SAA7134_BOARD_BEHOLD_M6_EXTRA: |
| 6991 | case SAA7134_BOARD_BEHOLD_H6: | 7061 | case SAA7134_BOARD_BEHOLD_H6: |
| 6992 | case SAA7134_BOARD_BEHOLD_X7: | 7062 | case SAA7134_BOARD_BEHOLD_X7: |
| 7063 | case SAA7134_BOARD_BEHOLD_H7: | ||
| 7064 | case SAA7134_BOARD_BEHOLD_A7: | ||
| 6993 | dev->has_remote = SAA7134_REMOTE_I2C; | 7065 | dev->has_remote = SAA7134_REMOTE_I2C; |
| 6994 | break; | 7066 | break; |
| 6995 | case SAA7134_BOARD_AVERMEDIA_A169_B: | 7067 | case SAA7134_BOARD_AVERMEDIA_A169_B: |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index 4ab4a987c9b9..31e82be1b7e7 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
| @@ -1532,6 +1532,15 @@ static int dvb_init(struct saa7134_dev *dev) | |||
| 1532 | &dev->i2c_adap, &behold_x7_tunerconfig); | 1532 | &dev->i2c_adap, &behold_x7_tunerconfig); |
| 1533 | } | 1533 | } |
| 1534 | break; | 1534 | break; |
| 1535 | case SAA7134_BOARD_BEHOLD_H7: | ||
| 1536 | fe0->dvb.frontend = dvb_attach(zl10353_attach, | ||
| 1537 | &behold_x7_config, | ||
| 1538 | &dev->i2c_adap); | ||
| 1539 | if (fe0->dvb.frontend) { | ||
| 1540 | dvb_attach(xc5000_attach, fe0->dvb.frontend, | ||
| 1541 | &dev->i2c_adap, &behold_x7_tunerconfig); | ||
| 1542 | } | ||
| 1543 | break; | ||
| 1535 | case SAA7134_BOARD_AVERMEDIA_A700_PRO: | 1544 | case SAA7134_BOARD_AVERMEDIA_A700_PRO: |
| 1536 | case SAA7134_BOARD_AVERMEDIA_A700_HYBRID: | 1545 | case SAA7134_BOARD_AVERMEDIA_A700_HYBRID: |
| 1537 | /* Zarlink ZL10313 */ | 1546 | /* Zarlink ZL10313 */ |
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index e4681eda01f9..e5565e2fd426 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
| @@ -982,6 +982,8 @@ void saa7134_probe_i2c_ir(struct saa7134_dev *dev) | |||
| 982 | case SAA7134_BOARD_BEHOLD_M6_EXTRA: | 982 | case SAA7134_BOARD_BEHOLD_M6_EXTRA: |
| 983 | case SAA7134_BOARD_BEHOLD_H6: | 983 | case SAA7134_BOARD_BEHOLD_H6: |
| 984 | case SAA7134_BOARD_BEHOLD_X7: | 984 | case SAA7134_BOARD_BEHOLD_X7: |
| 985 | case SAA7134_BOARD_BEHOLD_H7: | ||
| 986 | case SAA7134_BOARD_BEHOLD_A7: | ||
| 985 | dev->init_data.name = "BeholdTV"; | 987 | dev->init_data.name = "BeholdTV"; |
| 986 | dev->init_data.get_key = get_key_beholdm6xx; | 988 | dev->init_data.get_key = get_key_beholdm6xx; |
| 987 | dev->init_data.ir_codes = RC_MAP_BEHOLD; | 989 | dev->init_data.ir_codes = RC_MAP_BEHOLD; |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index cad8aee98e53..3962534267be 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
| @@ -301,6 +301,8 @@ struct saa7134_format { | |||
| 301 | #define SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S 175 | 301 | #define SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S 175 |
| 302 | #define SAA7134_BOARD_BEHOLD_505RDS_MK3 176 | 302 | #define SAA7134_BOARD_BEHOLD_505RDS_MK3 176 |
| 303 | #define SAA7134_BOARD_HAWELL_HW_404M7 177 | 303 | #define SAA7134_BOARD_HAWELL_HW_404M7 177 |
| 304 | #define SAA7134_BOARD_BEHOLD_H7 178 | ||
| 305 | #define SAA7134_BOARD_BEHOLD_A7 179 | ||
| 304 | 306 | ||
| 305 | #define SAA7134_MAXBOARDS 32 | 307 | #define SAA7134_MAXBOARDS 32 |
| 306 | #define SAA7134_INPUT_MAX 8 | 308 | #define SAA7134_INPUT_MAX 8 |
