diff options
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-cards.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 204 |
1 files changed, 186 insertions, 18 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 89f32107f46b..4ea479baee74 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -1543,12 +1543,12 @@ struct saa7134_board saa7134_boards[] = { | |||
1543 | },{ | 1543 | },{ |
1544 | .name = name_comp1, | 1544 | .name = name_comp1, |
1545 | .vmux = 0, | 1545 | .vmux = 0, |
1546 | .amux = LINE2, | 1546 | .amux = LINE1, |
1547 | .gpio = 0x02, | 1547 | .gpio = 0x02, |
1548 | },{ | 1548 | },{ |
1549 | .name = name_svideo, | 1549 | .name = name_svideo, |
1550 | .vmux = 6, | 1550 | .vmux = 6, |
1551 | .amux = LINE2, | 1551 | .amux = LINE1, |
1552 | .gpio = 0x02, | 1552 | .gpio = 0x02, |
1553 | }}, | 1553 | }}, |
1554 | .radio = { | 1554 | .radio = { |
@@ -1778,17 +1778,19 @@ struct saa7134_board saa7134_boards[] = { | |||
1778 | [SAA7134_BOARD_FLYDVBTDUO] = { | 1778 | [SAA7134_BOARD_FLYDVBTDUO] = { |
1779 | /* LifeView FlyDVB-T DUO */ | 1779 | /* LifeView FlyDVB-T DUO */ |
1780 | /* "Nico Sabbi <nsabbi@tiscali.it> Hartmut Hackmann hartmut.hackmann@t-online.de*/ | 1780 | /* "Nico Sabbi <nsabbi@tiscali.it> Hartmut Hackmann hartmut.hackmann@t-online.de*/ |
1781 | .name = "LifeView FlyDVB-T DUO", | 1781 | .name = "LifeView FlyDVB-T DUO / MSI TV@nywhere Duo", |
1782 | .audio_clock = 0x00200000, | 1782 | .audio_clock = 0x00200000, |
1783 | .tuner_type = TUNER_PHILIPS_TDA8290, | 1783 | .tuner_type = TUNER_PHILIPS_TDA8290, |
1784 | .radio_type = UNSET, | 1784 | .radio_type = UNSET, |
1785 | .tuner_addr = ADDR_UNSET, | 1785 | .tuner_addr = ADDR_UNSET, |
1786 | .radio_addr = ADDR_UNSET, | 1786 | .radio_addr = ADDR_UNSET, |
1787 | .gpiomask = 0x00200000, | ||
1787 | .mpeg = SAA7134_MPEG_DVB, | 1788 | .mpeg = SAA7134_MPEG_DVB, |
1788 | .inputs = {{ | 1789 | .inputs = {{ |
1789 | .name = name_tv, | 1790 | .name = name_tv, |
1790 | .vmux = 1, | 1791 | .vmux = 1, |
1791 | .amux = TV, | 1792 | .amux = TV, |
1793 | .gpio = 0x200000, /* GPIO21=High for TV input */ | ||
1792 | .tv = 1, | 1794 | .tv = 1, |
1793 | },{ | 1795 | },{ |
1794 | .name = name_comp1, /* Composite signal on S-Video input */ | 1796 | .name = name_comp1, /* Composite signal on S-Video input */ |
@@ -1803,6 +1805,11 @@ struct saa7134_board saa7134_boards[] = { | |||
1803 | .vmux = 8, | 1805 | .vmux = 8, |
1804 | .amux = LINE2, | 1806 | .amux = LINE2, |
1805 | }}, | 1807 | }}, |
1808 | .radio = { | ||
1809 | .name = name_radio, | ||
1810 | .amux = TV, | ||
1811 | .gpio = 0x000000, /* GPIO21=Low for FM radio antenna */ | ||
1812 | }, | ||
1806 | }, | 1813 | }, |
1807 | [SAA7134_BOARD_PHILIPS_TOUGH] = { | 1814 | [SAA7134_BOARD_PHILIPS_TOUGH] = { |
1808 | .name = "Philips TOUGH DVB-T reference design", | 1815 | .name = "Philips TOUGH DVB-T reference design", |
@@ -2546,8 +2553,9 @@ struct saa7134_board saa7134_boards[] = { | |||
2546 | .radio_type = UNSET, | 2553 | .radio_type = UNSET, |
2547 | .tuner_addr = ADDR_UNSET, | 2554 | .tuner_addr = ADDR_UNSET, |
2548 | .radio_addr = ADDR_UNSET, | 2555 | .radio_addr = ADDR_UNSET, |
2556 | .tuner_config = 0, | ||
2549 | .mpeg = SAA7134_MPEG_DVB, | 2557 | .mpeg = SAA7134_MPEG_DVB, |
2550 | .gpiomask = 1 << 21, | 2558 | .gpiomask = 0x0200000, |
2551 | .inputs = {{ | 2559 | .inputs = {{ |
2552 | .name = name_tv, | 2560 | .name = name_tv, |
2553 | .vmux = 1, | 2561 | .vmux = 1, |
@@ -2624,7 +2632,7 @@ struct saa7134_board saa7134_boards[] = { | |||
2624 | }}, | 2632 | }}, |
2625 | .radio = { | 2633 | .radio = { |
2626 | .name = name_radio, | 2634 | .name = name_radio, |
2627 | .amux = LINE1, | 2635 | .amux = TV, |
2628 | .gpio = 0x0200000, | 2636 | .gpio = 0x0200000, |
2629 | }, | 2637 | }, |
2630 | }, | 2638 | }, |
@@ -3043,6 +3051,7 @@ struct saa7134_board saa7134_boards[] = { | |||
3043 | .radio_type = UNSET, | 3051 | .radio_type = UNSET, |
3044 | .tuner_addr = ADDR_UNSET, | 3052 | .tuner_addr = ADDR_UNSET, |
3045 | .radio_addr = ADDR_UNSET, | 3053 | .radio_addr = ADDR_UNSET, |
3054 | .tuner_config = 1, | ||
3046 | .mpeg = SAA7134_MPEG_DVB, | 3055 | .mpeg = SAA7134_MPEG_DVB, |
3047 | .gpiomask = 0x000200000, | 3056 | .gpiomask = 0x000200000, |
3048 | .inputs = {{ | 3057 | .inputs = {{ |
@@ -3289,6 +3298,115 @@ struct saa7134_board saa7134_boards[] = { | |||
3289 | .amux = LINE1, | 3298 | .amux = LINE1, |
3290 | }}, | 3299 | }}, |
3291 | }, | 3300 | }, |
3301 | [SAA7134_BOARD_PHILIPS_TIGER_S] = { | ||
3302 | .name = "Philips Tiger - S Reference design", | ||
3303 | .audio_clock = 0x00187de7, | ||
3304 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
3305 | .radio_type = UNSET, | ||
3306 | .tuner_addr = ADDR_UNSET, | ||
3307 | .radio_addr = ADDR_UNSET, | ||
3308 | .tuner_config = 2, | ||
3309 | .mpeg = SAA7134_MPEG_DVB, | ||
3310 | .gpiomask = 0x0200000, | ||
3311 | .inputs = {{ | ||
3312 | .name = name_tv, | ||
3313 | .vmux = 1, | ||
3314 | .amux = TV, | ||
3315 | .tv = 1, | ||
3316 | },{ | ||
3317 | .name = name_comp1, | ||
3318 | .vmux = 3, | ||
3319 | .amux = LINE1, | ||
3320 | },{ | ||
3321 | .name = name_svideo, | ||
3322 | .vmux = 8, | ||
3323 | .amux = LINE1, | ||
3324 | }}, | ||
3325 | .radio = { | ||
3326 | .name = name_radio, | ||
3327 | .amux = TV, | ||
3328 | .gpio = 0x0200000, | ||
3329 | }, | ||
3330 | }, | ||
3331 | [SAA7134_BOARD_AVERMEDIA_M102] = { | ||
3332 | .name = "Avermedia M102", | ||
3333 | .audio_clock = 0x00187de7, | ||
3334 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
3335 | .radio_type = UNSET, | ||
3336 | .tuner_addr = ADDR_UNSET, | ||
3337 | .radio_addr = ADDR_UNSET, | ||
3338 | .gpiomask = 1<<21, | ||
3339 | .inputs = {{ | ||
3340 | .name = name_tv, | ||
3341 | .vmux = 1, | ||
3342 | .amux = TV, | ||
3343 | .tv = 1, | ||
3344 | },{ | ||
3345 | .name = name_comp1, | ||
3346 | .vmux = 0, | ||
3347 | .amux = LINE2, | ||
3348 | },{ | ||
3349 | .name = name_svideo, | ||
3350 | .vmux = 6, | ||
3351 | .amux = LINE2, | ||
3352 | }}, | ||
3353 | }, | ||
3354 | [SAA7134_BOARD_ASUS_P7131_4871] = { | ||
3355 | .name = "ASUS P7131 4871", | ||
3356 | .audio_clock = 0x00187de7, | ||
3357 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
3358 | .radio_type = UNSET, | ||
3359 | .tuner_addr = ADDR_UNSET, | ||
3360 | .radio_addr = ADDR_UNSET, | ||
3361 | .tuner_config = 2, | ||
3362 | .mpeg = SAA7134_MPEG_DVB, | ||
3363 | .gpiomask = 0x0200000, | ||
3364 | .inputs = {{ | ||
3365 | .name = name_tv, | ||
3366 | .vmux = 1, | ||
3367 | .amux = TV, | ||
3368 | .tv = 1, | ||
3369 | .gpio = 0x0200000, | ||
3370 | }}, | ||
3371 | }, | ||
3372 | [SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA] = { | ||
3373 | .name = "ASUSTeK P7131 Hybrid", | ||
3374 | .audio_clock = 0x00187de7, | ||
3375 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
3376 | .radio_type = UNSET, | ||
3377 | .tuner_addr = ADDR_UNSET, | ||
3378 | .radio_addr = ADDR_UNSET, | ||
3379 | .tuner_config = 2, | ||
3380 | .gpiomask = 1 << 21, | ||
3381 | .mpeg = SAA7134_MPEG_DVB, | ||
3382 | .inputs = {{ | ||
3383 | .name = name_tv, | ||
3384 | .vmux = 1, | ||
3385 | .amux = TV, | ||
3386 | .tv = 1, | ||
3387 | .gpio = 0x0000000, | ||
3388 | },{ | ||
3389 | .name = name_comp1, | ||
3390 | .vmux = 3, | ||
3391 | .amux = LINE2, | ||
3392 | .gpio = 0x0200000, | ||
3393 | },{ | ||
3394 | .name = name_comp2, | ||
3395 | .vmux = 0, | ||
3396 | .amux = LINE2, | ||
3397 | .gpio = 0x0200000, | ||
3398 | },{ | ||
3399 | .name = name_svideo, | ||
3400 | .vmux = 8, | ||
3401 | .amux = LINE2, | ||
3402 | .gpio = 0x0200000, | ||
3403 | }}, | ||
3404 | .radio = { | ||
3405 | .name = name_radio, | ||
3406 | .amux = TV, | ||
3407 | .gpio = 0x0200000, | ||
3408 | }, | ||
3409 | }, | ||
3292 | }; | 3410 | }; |
3293 | 3411 | ||
3294 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 3412 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
@@ -3914,7 +4032,7 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
3914 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | 4032 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, |
3915 | .subvendor = 0x1043, | 4033 | .subvendor = 0x1043, |
3916 | .subdevice = 0x4876, | 4034 | .subdevice = 0x4876, |
3917 | .driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL, | 4035 | .driver_data = SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA, |
3918 | },{ | 4036 | },{ |
3919 | .vendor = PCI_VENDOR_ID_PHILIPS, | 4037 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3920 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | 4038 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, |
@@ -3958,6 +4076,30 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
3958 | .subdevice = 0x1175, | 4076 | .subdevice = 0x1175, |
3959 | .driver_data = SAA7134_BOARD_CINERGY_HT_PCI, | 4077 | .driver_data = SAA7134_BOARD_CINERGY_HT_PCI, |
3960 | },{ | 4078 | },{ |
4079 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
4080 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
4081 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ | ||
4082 | .subdevice = 0xf31e, | ||
4083 | .driver_data = SAA7134_BOARD_AVERMEDIA_M102, | ||
4084 | },{ | ||
4085 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
4086 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
4087 | .subvendor = 0x4E42, /* MSI */ | ||
4088 | .subdevice = 0x0306, /* TV@nywhere DUO */ | ||
4089 | .driver_data = SAA7134_BOARD_FLYDVBTDUO, | ||
4090 | },{ | ||
4091 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
4092 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
4093 | .subvendor = 0x1043, | ||
4094 | .subdevice = 0x4871, | ||
4095 | .driver_data = SAA7134_BOARD_ASUS_P7131_4871, | ||
4096 | },{ | ||
4097 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
4098 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
4099 | .subvendor = 0x1043, | ||
4100 | .subdevice = 0x4857, | ||
4101 | .driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL, | ||
4102 | },{ | ||
3961 | /* --- boards without eeprom + subsystem ID --- */ | 4103 | /* --- boards without eeprom + subsystem ID --- */ |
3962 | .vendor = PCI_VENDOR_ID_PHILIPS, | 4104 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3963 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | 4105 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
@@ -3971,7 +4113,6 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
3971 | .subdevice = 0, | 4113 | .subdevice = 0, |
3972 | .driver_data = SAA7134_BOARD_NOAUTO, | 4114 | .driver_data = SAA7134_BOARD_NOAUTO, |
3973 | },{ | 4115 | },{ |
3974 | |||
3975 | /* --- default catch --- */ | 4116 | /* --- default catch --- */ |
3976 | .vendor = PCI_VENDOR_ID_PHILIPS, | 4117 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3977 | .device = PCI_DEVICE_ID_PHILIPS_SAA7130, | 4118 | .device = PCI_DEVICE_ID_PHILIPS_SAA7130, |
@@ -4063,6 +4204,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
4063 | case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS: | 4204 | case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS: |
4064 | case SAA7134_BOARD_FLYDVBT_LR301: | 4205 | case SAA7134_BOARD_FLYDVBT_LR301: |
4065 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: | 4206 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: |
4207 | case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: | ||
4066 | case SAA7134_BOARD_FLYDVBTDUO: | 4208 | case SAA7134_BOARD_FLYDVBTDUO: |
4067 | case SAA7134_BOARD_PROTEUS_2309: | 4209 | case SAA7134_BOARD_PROTEUS_2309: |
4068 | case SAA7134_BOARD_AVERMEDIA_A16AR: | 4210 | case SAA7134_BOARD_AVERMEDIA_A16AR: |
@@ -4103,8 +4245,8 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
4103 | break; | 4245 | break; |
4104 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: | 4246 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: |
4105 | case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS: | 4247 | case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS: |
4106 | saa_writeb(SAA7134_GPIO_GPMODE3, 0x08); | 4248 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x08000000, 0x08000000); |
4107 | saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x00); | 4249 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08000000, 0x00000000); |
4108 | break; | 4250 | break; |
4109 | case SAA7134_BOARD_AVERMEDIA_CARDBUS: | 4251 | case SAA7134_BOARD_AVERMEDIA_CARDBUS: |
4110 | /* power-up tuner chip */ | 4252 | /* power-up tuner chip */ |
@@ -4137,6 +4279,11 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
4137 | "%s: Dual decoder functionality is disabled for now, use the other chip.\n", | 4279 | "%s: Dual decoder functionality is disabled for now, use the other chip.\n", |
4138 | dev->name,card(dev).name,dev->name,dev->name); | 4280 | dev->name,card(dev).name,dev->name,dev->name); |
4139 | break; | 4281 | break; |
4282 | case SAA7134_BOARD_AVERMEDIA_M102: | ||
4283 | /* enable tuner */ | ||
4284 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x8c040007, 0x8c040007); | ||
4285 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd); | ||
4286 | break; | ||
4140 | } | 4287 | } |
4141 | return 0; | 4288 | return 0; |
4142 | } | 4289 | } |
@@ -4146,6 +4293,9 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
4146 | { | 4293 | { |
4147 | unsigned char buf; | 4294 | unsigned char buf; |
4148 | int board; | 4295 | int board; |
4296 | struct tuner_setup tun_setup; | ||
4297 | tun_setup.config = 0; | ||
4298 | tun_setup.tuner_callback = saa7134_tuner_callback; | ||
4149 | 4299 | ||
4150 | switch (dev->board) { | 4300 | switch (dev->board) { |
4151 | case SAA7134_BOARD_BMK_MPEX_NOTUNER: | 4301 | case SAA7134_BOARD_BMK_MPEX_NOTUNER: |
@@ -4162,8 +4312,6 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
4162 | dev->tuner_type = saa7134_boards[dev->board].tuner_type; | 4312 | dev->tuner_type = saa7134_boards[dev->board].tuner_type; |
4163 | 4313 | ||
4164 | if (TUNER_ABSENT != dev->tuner_type) { | 4314 | if (TUNER_ABSENT != dev->tuner_type) { |
4165 | struct tuner_setup tun_setup; | ||
4166 | |||
4167 | tun_setup.mode_mask = T_RADIO | T_ANALOG_TV | T_DIGITAL_TV; | 4315 | tun_setup.mode_mask = T_RADIO | T_ANALOG_TV | T_DIGITAL_TV; |
4168 | tun_setup.type = dev->tuner_type; | 4316 | tun_setup.type = dev->tuner_type; |
4169 | tun_setup.addr = ADDR_UNSET; | 4317 | tun_setup.addr = ADDR_UNSET; |
@@ -4173,7 +4321,6 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
4173 | break; | 4321 | break; |
4174 | case SAA7134_BOARD_MD7134: | 4322 | case SAA7134_BOARD_MD7134: |
4175 | { | 4323 | { |
4176 | struct tuner_setup tun_setup; | ||
4177 | u8 subaddr; | 4324 | u8 subaddr; |
4178 | u8 data[3]; | 4325 | u8 data[3]; |
4179 | int ret, tuner_t; | 4326 | int ret, tuner_t; |
@@ -4245,7 +4392,6 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
4245 | * the channel decoder. We have to make it transparent to find it | 4392 | * the channel decoder. We have to make it transparent to find it |
4246 | */ | 4393 | */ |
4247 | { | 4394 | { |
4248 | struct tuner_setup tun_setup; | ||
4249 | u8 data[] = { 0x07, 0x02}; | 4395 | u8 data[] = { 0x07, 0x02}; |
4250 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; | 4396 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; |
4251 | i2c_transfer(&dev->i2c_adap, &msg, 1); | 4397 | i2c_transfer(&dev->i2c_adap, &msg, 1); |
@@ -4258,16 +4404,38 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
4258 | } | 4404 | } |
4259 | break; | 4405 | break; |
4260 | case SAA7134_BOARD_PHILIPS_TIGER: | 4406 | case SAA7134_BOARD_PHILIPS_TIGER: |
4407 | case SAA7134_BOARD_PHILIPS_TIGER_S: | ||
4408 | { | ||
4409 | u8 data[] = { 0x3c, 0x33, 0x60}; | ||
4410 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; | ||
4411 | if(dev->autodetected && (dev->eedata[0x49] == 0x50)) { | ||
4412 | dev->board = SAA7134_BOARD_PHILIPS_TIGER_S; | ||
4413 | printk(KERN_INFO "%s: Reconfigured board as %s\n", | ||
4414 | dev->name, saa7134_boards[dev->board].name); | ||
4415 | } | ||
4416 | if(dev->board == SAA7134_BOARD_PHILIPS_TIGER_S) { | ||
4417 | tun_setup.mode_mask = T_ANALOG_TV | T_DIGITAL_TV; | ||
4418 | tun_setup.type = TUNER_PHILIPS_TDA8290; | ||
4419 | tun_setup.addr = 0x4b; | ||
4420 | tun_setup.config = 2; | ||
4421 | |||
4422 | saa7134_i2c_call_clients (dev, TUNER_SET_TYPE_ADDR,&tun_setup); | ||
4423 | data[2] = 0x68; | ||
4424 | } | ||
4425 | i2c_transfer(&dev->i2c_adap, &msg, 1); | ||
4426 | } | ||
4427 | break; | ||
4261 | case SAA7134_BOARD_PINNACLE_PCTV_310i: | 4428 | case SAA7134_BOARD_PINNACLE_PCTV_310i: |
4262 | case SAA7134_BOARD_TEVION_DVBT_220RF: | 4429 | case SAA7134_BOARD_TEVION_DVBT_220RF: |
4263 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: | 4430 | case SAA7134_BOARD_ASUSTeK_P7131_DUAL: |
4431 | case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA: | ||
4264 | case SAA7134_BOARD_MEDION_MD8800_QUADRO: | 4432 | case SAA7134_BOARD_MEDION_MD8800_QUADRO: |
4265 | case SAA7134_BOARD_HAUPPAUGE_HVR1110: | 4433 | case SAA7134_BOARD_HAUPPAUGE_HVR1110: |
4266 | /* this is a hybrid board, initialize to analog mode | 4434 | /* this is a hybrid board, initialize to analog mode |
4267 | * and configure firmware eeprom address | 4435 | * and configure firmware eeprom address |
4268 | */ | 4436 | */ |
4269 | { | 4437 | { |
4270 | u8 data[] = { 0x3c, 0x33, 0x68}; | 4438 | u8 data[] = { 0x3c, 0x33, 0x60}; |
4271 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; | 4439 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; |
4272 | i2c_transfer(&dev->i2c_adap, &msg, 1); | 4440 | i2c_transfer(&dev->i2c_adap, &msg, 1); |
4273 | } | 4441 | } |
@@ -4281,18 +4449,18 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
4281 | break; | 4449 | break; |
4282 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: | 4450 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: |
4283 | case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS: | 4451 | case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS: |
4284 | /* make the tda10046 find its eeprom */ | 4452 | /* initialize analog mode */ |
4285 | { | 4453 | { |
4286 | u8 data[] = { 0x3c, 0x33, 0x62}; | 4454 | u8 data[] = { 0x3c, 0x33, 0x6a}; |
4287 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; | 4455 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; |
4288 | i2c_transfer(&dev->i2c_adap, &msg, 1); | 4456 | i2c_transfer(&dev->i2c_adap, &msg, 1); |
4289 | } | 4457 | } |
4290 | break; | 4458 | break; |
4291 | case SAA7134_BOARD_CINERGY_HT_PCMCIA: | 4459 | case SAA7134_BOARD_CINERGY_HT_PCMCIA: |
4292 | case SAA7134_BOARD_CINERGY_HT_PCI: | 4460 | case SAA7134_BOARD_CINERGY_HT_PCI: |
4293 | /* make the tda10046 find its eeprom */ | 4461 | /* initialize analog mode */ |
4294 | { | 4462 | { |
4295 | u8 data[] = { 0x3c, 0x33, 0x60}; | 4463 | u8 data[] = { 0x3c, 0x33, 0x68}; |
4296 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; | 4464 | struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; |
4297 | i2c_transfer(&dev->i2c_adap, &msg, 1); | 4465 | i2c_transfer(&dev->i2c_adap, &msg, 1); |
4298 | } | 4466 | } |