aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2011-04-27 20:11:59 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-05-20 08:30:01 -0400
commitf0a53105edabcf3d91fabeef4fbdb574d05ab551 (patch)
tree413e203140f2cb8f328861f870f48c2ab2d6c5ad /drivers/media
parent107d7b181ddeaeea92d1aa25f2e1e5a3acb7da40 (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/Kconfig2
-rw-r--r--drivers/media/dvb/dvb-usb/anysee.c43
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 */
42static int dvb_usb_anysee_debug; 44static 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
305static struct cx24116_config anysee_cx24116_config = {
306 .demod_address = (0xaa >> 1),
307 .mpg_clk_pos_pol = 0x00,
308 .i2c_wr_max = 48,
309};
310
311static 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 */