lkml.org 
[lkml]   [2020]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] media: dvb_usb_pctv452e: use ISL6423 voltage regulator per default
    Date
    Both TT-connect S2-3600 and Pinnacle PCTV Sat HDTV are using
    Intersil ISL6423 as LNB voltage regulator. This makes
    TT-connect S2-3650 CI the only device which uses STM LNBP22 regulator
    which is currently used for all devices driven by pctv452e driver.

    This patch fixes this by creating an exception for TT-connect S2-3650 CI
    to continue to use STM LNBP22 while all others now using correct ISL6423
    driver which makes DiSEqC/EN50494 comands which involve voltage changes
    now working on the other devices (which didn't work before).

    Signed-off-by: Alex Bee <knaerzche@gmail.com>
    ---
    drivers/media/usb/dvb-usb/Kconfig | 1 +
    drivers/media/usb/dvb-usb/pctv452e.c | 24 ++++++++++++++++++++----
    2 files changed, 21 insertions(+), 4 deletions(-)

    diff --git a/drivers/media/usb/dvb-usb/Kconfig b/drivers/media/usb/dvb-usb/Kconfig
    index 25ba03edcb5c..7498110142e4 100644
    --- a/drivers/media/usb/dvb-usb/Kconfig
    +++ b/drivers/media/usb/dvb-usb/Kconfig
    @@ -279,6 +279,7 @@ config DVB_USB_PCTV452E
    tristate "Pinnacle PCTV HDTV Pro USB device/TT Connect S2-3600"
    depends on DVB_USB
    select TTPCI_EEPROM
    + select DVB_ISL6423 if MEDIA_SUBDRV_AUTOSELECT
    select DVB_LNBP22 if MEDIA_SUBDRV_AUTOSELECT
    select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT
    select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
    diff --git a/drivers/media/usb/dvb-usb/pctv452e.c b/drivers/media/usb/dvb-usb/pctv452e.c
    index 441d878fc22c..4b13c1f35b28 100644
    --- a/drivers/media/usb/dvb-usb/pctv452e.c
    +++ b/drivers/media/usb/dvb-usb/pctv452e.c
    @@ -20,6 +20,7 @@
    #include "stb6100.h"
    #include "stb6100_cfg.h"
    /* FE Power */
    +#include "isl6423.h"
    #include "lnbp22.h"

    #include <media/dvb_ca_en50221.h>
    @@ -83,6 +84,13 @@ static struct stb0899_postproc pctv45e_postproc[] = {
    { 0, 0 }
    };

    +static struct isl6423_config pctv452e_isl6423_config = {
    + .current_max = SEC_CURRENT_515m,
    + .curlim = SEC_CURRENT_LIM_ON,
    + .mod_extern = 1,
    + .addr = 0x08,
    +};
    +
    /*
    * stores all private variables for communication with the PCTV452e DVB-S2
    */
    @@ -909,15 +917,23 @@ static int pctv452e_frontend_attach(struct dvb_usb_adapter *a)
    &a->dev->i2c_adap);
    if (!a->fe_adap[0].fe)
    return -ENODEV;
    - if ((dvb_attach(lnbp22_attach, a->fe_adap[0].fe,
    - &a->dev->i2c_adap)) == NULL)
    - err("Cannot attach lnbp22\n");

    id = a->dev->desc->warm_ids[0];
    if (USB_VID_TECHNOTREND == id->idVendor
    - && USB_PID_TECHNOTREND_CONNECT_S2_3650_CI == id->idProduct)
    + && USB_PID_TECHNOTREND_CONNECT_S2_3650_CI == id->idProduct) {
    + if (dvb_attach(lnbp22_attach,
    + a->fe_adap[0].fe,
    + &a->dev->i2c_adap) == NULL) {
    + err("Cannot attach lnbp22\n");
    + }
    /* Error ignored. */
    tt3650_ci_init(a);
    + } else if (dvb_attach(isl6423_attach,
    + a->fe_adap[0].fe,
    + &a->dev->i2c_adap,
    + &pctv452e_isl6423_config) == NULL) {
    + err("Cannot attach isl6423\n");
    + }

    return 0;
    }
    --
    2.17.1
    \
     
     \ /
      Last update: 2020-07-16 23:33    [W:3.171 / U:1.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site