lkml.org 
[lkml]   [2005]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[DVB patch 11/48] nxt2002: QAM64/256 support
    patch by Taylor Jacob: Add QAM64/256 Support

    Signed-off-by: Johannes Stezenbach <js@linuxtv.org>

    Kconfig | 1 +
    nxt2002.c | 43 +++++++++++++++++++++++++++++++++++++++++--
    2 files changed, 42 insertions(+), 2 deletions(-)

    Index: linux-2.6.12-rc1-mm1/drivers/media/dvb/frontends/nxt2002.c
    ===================================================================
    --- linux-2.6.12-rc1-mm1.orig/drivers/media/dvb/frontends/nxt2002.c 2005-03-22 00:14:18.000000000 +0100
    +++ linux-2.6.12-rc1-mm1/drivers/media/dvb/frontends/nxt2002.c 2005-03-22 00:15:13.000000000 +0100
    @@ -343,8 +343,21 @@ static int nxt2002_setup_frontend_parame
    /* reset the agc now that tuning has been completed */
    nxt2002_agc_reset(state);

    +
    +
    /* set target power level */
    + switch (p->u.vsb.modulation) {
    + case QAM_64:
    + case QAM_256:
    + buf[0] = 0x74;
    + break;
    + case VSB_8:
    buf[0] = 0x70;
    + break;
    + default:
    + return -EINVAL;
    + break;
    + }
    i2c_writebytes(state,0x42,buf,1);

    /* configure sdm */
    @@ -357,7 +370,20 @@ static int nxt2002_setup_frontend_parame
    nxt2002_writereg_multibyte(state,0x58,buf,2);

    /* write sdmx input */
    + switch (p->u.vsb.modulation) {
    + case QAM_64:
    + buf[0] = 0x68;
    + break;
    + case QAM_256:
    + buf[0] = 0x64;
    + break;
    + case VSB_8:
    buf[0] = 0x60;
    + break;
    + default:
    + return -EINVAL;
    + break;
    + }
    buf[1] = 0x00;
    nxt2002_writereg_multibyte(state,0x5C,buf,2);

    @@ -387,7 +413,20 @@ static int nxt2002_setup_frontend_parame
    i2c_writebytes(state,0x41,buf,1);

    /* write agc ucgp0 */
    + switch (p->u.vsb.modulation) {
    + case QAM_64:
    + buf[0] = 0x02;
    + break;
    + case QAM_256:
    + buf[0] = 0x03;
    + break;
    + case VSB_8:
    buf[0] = 0x00;
    + break;
    + default:
    + return -EINVAL;
    + break;
    + }
    i2c_writebytes(state,0x30,buf,1);

    /* write agc control reg */
    @@ -632,12 +671,12 @@ static struct dvb_frontend_ops nxt2002_o
    .name = "Nextwave nxt2002 VSB/QAM frontend",
    .type = FE_ATSC,
    .frequency_min = 54000000,
    - .frequency_max = 803000000,
    + .frequency_max = 806000000,
    /* stepsize is just a guess */
    .frequency_stepsize = 166666,
    .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
    FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
    - FE_CAN_8VSB
    + FE_CAN_8VSB | FE_CAN_QAM_64 | FE_CAN_QAM_256
    },

    .release = nxt2002_release,
    Index: linux-2.6.12-rc1-mm1/drivers/media/dvb/frontends/Kconfig
    ===================================================================
    --- linux-2.6.12-rc1-mm1.orig/drivers/media/dvb/frontends/Kconfig 2005-03-21 23:27:58.000000000 +0100
    +++ linux-2.6.12-rc1-mm1/drivers/media/dvb/frontends/Kconfig 2005-03-22 00:15:13.000000000 +0100
    @@ -154,6 +154,7 @@ comment "ATSC (North American/Korean Ter
    config DVB_NXT2002
    tristate "Nxt2002 based"
    depends on DVB_CORE
    + select FW_LOADER
    help
    An ATSC 8VSB tuner module. Say Y when you want to support this frontend.

    --

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:11    [W:2.714 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site