提交 d87a5058 编写于 作者: O Olli Salonen 提交者: Mauro Carvalho Chehab

[media] si2157: Add support for Si2147-A30 tuner

This patch adds support for Si2147-A30 tuner. Fairly trivial, no firmware needed for this tuner. However, command 14 00 02 07 01 00 seems to be mandatory. On Si2157 and Si2158 the value 0x0100 is the default value, so this patch does not impact the existing tuners/devices. On Si2147 the default is 0x0000 and I can't get a lock with that value.

While here, fix the return length of the previous set command to 4 bytes.
Signed-off-by: NOlli Salonen <olli.salonen@iki.fi>
Acked-by: NAntti Palosaari <crope@iki.fi>
Reviewed-by: NAntti Palosaari <crope@iki.fi>
Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
上级 7ac95cf5
/* /*
* Silicon Labs Si2157/2158 silicon tuner driver * Silicon Labs Si2147/2157/2158 silicon tuner driver
* *
* Copyright (C) 2014 Antti Palosaari <crope@iki.fi> * Copyright (C) 2014 Antti Palosaari <crope@iki.fi>
* *
...@@ -113,12 +113,14 @@ static int si2157_init(struct dvb_frontend *fe) ...@@ -113,12 +113,14 @@ static int si2157_init(struct dvb_frontend *fe)
#define SI2158_A20 ('A' << 24 | 58 << 16 | '2' << 8 | '0' << 0) #define SI2158_A20 ('A' << 24 | 58 << 16 | '2' << 8 | '0' << 0)
#define SI2157_A30 ('A' << 24 | 57 << 16 | '3' << 8 | '0' << 0) #define SI2157_A30 ('A' << 24 | 57 << 16 | '3' << 8 | '0' << 0)
#define SI2147_A30 ('A' << 24 | 47 << 16 | '3' << 8 | '0' << 0)
switch (chip_id) { switch (chip_id) {
case SI2158_A20: case SI2158_A20:
fw_file = SI2158_A20_FIRMWARE; fw_file = SI2158_A20_FIRMWARE;
break; break;
case SI2157_A30: case SI2157_A30:
case SI2147_A30:
goto skip_fw_download; goto skip_fw_download;
break; break;
default: default:
...@@ -265,7 +267,14 @@ static int si2157_set_params(struct dvb_frontend *fe) ...@@ -265,7 +267,14 @@ static int si2157_set_params(struct dvb_frontend *fe)
if (s->inversion) if (s->inversion)
cmd.args[5] = 0x01; cmd.args[5] = 0x01;
cmd.wlen = 6; cmd.wlen = 6;
cmd.rlen = 1; cmd.rlen = 4;
ret = si2157_cmd_execute(s, &cmd);
if (ret)
goto err;
memcpy(cmd.args, "\x14\x00\x02\x07\x01\x00", 6);
cmd.wlen = 6;
cmd.rlen = 4;
ret = si2157_cmd_execute(s, &cmd); ret = si2157_cmd_execute(s, &cmd);
if (ret) if (ret)
goto err; goto err;
......
/* /*
* Silicon Labs Si2157/2158 silicon tuner driver * Silicon Labs Si2147/2157/2158 silicon tuner driver
* *
* Copyright (C) 2014 Antti Palosaari <crope@iki.fi> * Copyright (C) 2014 Antti Palosaari <crope@iki.fi>
* *
......
/* /*
* Silicon Labs Si2157/2158 silicon tuner driver * Silicon Labs Si2147/2157/2158 silicon tuner driver
* *
* Copyright (C) 2014 Antti Palosaari <crope@iki.fi> * Copyright (C) 2014 Antti Palosaari <crope@iki.fi>
* *
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册