aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitri Belimov <d.belimov@gmail.com>2010-04-06 00:00:05 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 11:58:41 -0400
commit0faa2ed5bfd08d94a04c8d4b55823676175f451f (patch)
tree427bf73edaaa5a474a61f82fb8a382604e57b118
parent1b0e48ad5530881d11d3caba62e59b82646c5e64 (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.saa71342
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c72
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c9
-rw-r--r--drivers/media/video/saa7134/saa7134-input.c2
-rw-r--r--drivers/media/video/saa7134/saa7134.h2
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 @@
176175 -> Leadtek Winfast DTV1000S [107d:6655] 176175 -> Leadtek Winfast DTV1000S [107d:6655]
177176 -> Beholder BeholdTV 505 RDS [0000:5051] 177176 -> Beholder BeholdTV 505 RDS [0000:5051]
178177 -> Hawell HW-404M7 178177 -> Hawell HW-404M7
179179 -> Beholder BeholdTV H7 [5ace:7190]
180180 -> 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