diff options
author | Antti Palosaari <crope@iki.fi> | 2011-04-27 20:11:59 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-05-20 08:30:01 -0400 |
commit | f0a53105edabcf3d91fabeef4fbdb574d05ab551 (patch) | |
tree | 413e203140f2cb8f328861f870f48c2ab2d6c5ad /drivers/media | |
parent | 107d7b181ddeaeea92d1aa25f2e1e5a3acb7da40 (diff) |
[media] anysee: add support for Anysee E30 S2 Plus
It is USB DVB-S/S2 box.
Conexant cx24116/cx24118 demod tuner combo
Intersil ISL6423 LNB controller
Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: info@anysee.com
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb/dvb-usb/Kconfig | 2 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-usb/anysee.c | 43 |
2 files changed, 45 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig index e624ff3ef070..9931ec95d900 100644 --- a/drivers/media/dvb/dvb-usb/Kconfig +++ b/drivers/media/dvb/dvb-usb/Kconfig | |||
@@ -293,6 +293,8 @@ config DVB_USB_ANYSEE | |||
293 | select DVB_ZL10353 if !DVB_FE_CUSTOMISE | 293 | select DVB_ZL10353 if !DVB_FE_CUSTOMISE |
294 | select DVB_TDA10023 if !DVB_FE_CUSTOMISE | 294 | select DVB_TDA10023 if !DVB_FE_CUSTOMISE |
295 | select MEDIA_TUNER_TDA18212 if !MEDIA_TUNER_CUSTOMISE | 295 | select MEDIA_TUNER_TDA18212 if !MEDIA_TUNER_CUSTOMISE |
296 | select DVB_CX24116 if !DVB_FE_CUSTOMISE | ||
297 | select DVB_ISL6423 if !DVB_FE_CUSTOMISE | ||
296 | help | 298 | help |
297 | Say Y here to support the Anysee E30, Anysee E30 Plus or | 299 | Say Y here to support the Anysee E30, Anysee E30 Plus or |
298 | Anysee E30 C Plus DVB USB2.0 receiver. | 300 | Anysee E30 C Plus DVB USB2.0 receiver. |
diff --git a/drivers/media/dvb/dvb-usb/anysee.c b/drivers/media/dvb/dvb-usb/anysee.c index 0e94541ffcff..ebcc05b73c7f 100644 --- a/drivers/media/dvb/dvb-usb/anysee.c +++ b/drivers/media/dvb/dvb-usb/anysee.c | |||
@@ -37,6 +37,8 @@ | |||
37 | #include "mt352_priv.h" | 37 | #include "mt352_priv.h" |
38 | #include "zl10353.h" | 38 | #include "zl10353.h" |
39 | #include "tda18212.h" | 39 | #include "tda18212.h" |
40 | #include "cx24116.h" | ||
41 | #include "isl6423.h" | ||
40 | 42 | ||
41 | /* debug */ | 43 | /* debug */ |
42 | static int dvb_usb_anysee_debug; | 44 | static int dvb_usb_anysee_debug; |
@@ -300,6 +302,19 @@ static struct tda18212_config anysee_tda18212_config = { | |||
300 | .if_dvbc = 5000, | 302 | .if_dvbc = 5000, |
301 | }; | 303 | }; |
302 | 304 | ||
305 | static struct cx24116_config anysee_cx24116_config = { | ||
306 | .demod_address = (0xaa >> 1), | ||
307 | .mpg_clk_pos_pol = 0x00, | ||
308 | .i2c_wr_max = 48, | ||
309 | }; | ||
310 | |||
311 | static struct isl6423_config anysee_isl6423_config = { | ||
312 | .current_max = SEC_CURRENT_800m, | ||
313 | .curlim = SEC_CURRENT_LIM_OFF, | ||
314 | .mod_extern = 1, | ||
315 | .addr = (0x10 >> 1), | ||
316 | }; | ||
317 | |||
303 | /* | 318 | /* |
304 | * New USB device strings: Mfr=1, Product=2, SerialNumber=0 | 319 | * New USB device strings: Mfr=1, Product=2, SerialNumber=0 |
305 | * Manufacturer: AMT.CO.KR | 320 | * Manufacturer: AMT.CO.KR |
@@ -328,6 +343,13 @@ static struct tda18212_config anysee_tda18212_config = { | |||
328 | * IOA=4f IOB=ff IOC=00 IOD=26 IOF=01 | 343 | * IOA=4f IOB=ff IOC=00 IOD=26 IOF=01 |
329 | * IOD[0] TDA10023 1=enabled | 344 | * IOD[0] TDA10023 1=enabled |
330 | * | 345 | * |
346 | * E30 S2 Plus VID=04b4 PID=861f HW=11 FW=0.1 "anysee-S2(LP)" | ||
347 | * PCB: 507SI (rev2.1) | ||
348 | * parts: BS2N10WCC01(CX24116, CX24118), ISL6423, TDA8024 | ||
349 | * OEA=80 OEB=00 OEC=ff OED=ff OEF=fe | ||
350 | * IOA=4d IOB=ff IOC=00 IOD=26 IOF=01 | ||
351 | * IOD[0] CX24116 1=enabled | ||
352 | * | ||
331 | * E30 C Plus VID=1c73 PID=861f HW=15 FW=1.2 "anysee-FA(LP)" | 353 | * E30 C Plus VID=1c73 PID=861f HW=15 FW=1.2 "anysee-FA(LP)" |
332 | * PCB: 507FA (rev0.4) | 354 | * PCB: 507FA (rev0.4) |
333 | * parts: TDA10023, DTOS403IH102B TM, TDA8024 | 355 | * parts: TDA10023, DTOS403IH102B TM, TDA8024 |
@@ -449,6 +471,19 @@ static int anysee_frontend_attach(struct dvb_usb_adapter *adap) | |||
449 | &adap->dev->i2c_adap, 0x48); | 471 | &adap->dev->i2c_adap, 0x48); |
450 | 472 | ||
451 | break; | 473 | break; |
474 | case ANYSEE_HW_507SI: /* 11 */ | ||
475 | /* E30 S2 Plus */ | ||
476 | |||
477 | /* enable DVB-S/S2 demod on IOD[0] */ | ||
478 | ret = anysee_wr_reg_mask(adap->dev, REG_IOD, (1 << 0), 0x01); | ||
479 | if (ret) | ||
480 | goto error; | ||
481 | |||
482 | /* attach demod */ | ||
483 | adap->fe = dvb_attach(cx24116_attach, &anysee_cx24116_config, | ||
484 | &adap->dev->i2c_adap); | ||
485 | |||
486 | break; | ||
452 | case ANYSEE_HW_507FA: /* 15 */ | 487 | case ANYSEE_HW_507FA: /* 15 */ |
453 | /* E30 Combo Plus */ | 488 | /* E30 Combo Plus */ |
454 | /* E30 C Plus */ | 489 | /* E30 C Plus */ |
@@ -625,6 +660,14 @@ static int anysee_tuner_attach(struct dvb_usb_adapter *adap) | |||
625 | &adap->dev->i2c_adap, DVB_PLL_SAMSUNG_DTOS403IH102A); | 660 | &adap->dev->i2c_adap, DVB_PLL_SAMSUNG_DTOS403IH102A); |
626 | 661 | ||
627 | break; | 662 | break; |
663 | case ANYSEE_HW_507SI: /* 11 */ | ||
664 | /* E30 S2 Plus */ | ||
665 | |||
666 | /* attach LNB controller */ | ||
667 | fe = dvb_attach(isl6423_attach, adap->fe, &adap->dev->i2c_adap, | ||
668 | &anysee_isl6423_config); | ||
669 | |||
670 | break; | ||
628 | case ANYSEE_HW_507FA: /* 15 */ | 671 | case ANYSEE_HW_507FA: /* 15 */ |
629 | /* E30 Combo Plus */ | 672 | /* E30 Combo Plus */ |
630 | /* E30 C Plus */ | 673 | /* E30 C Plus */ |