mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-29 23:07:38 +00:00
media: si2157: add detection of si2177 tuner
Works in ATSC and QAM as is, DVB is completely untested. Firmware required. Signed-off-by: Brad Love <brad@nextdimension.cc> Reviewed-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
513dbd35b5
commit
d5cb82b01a
@ -129,6 +129,7 @@ static int si2157_init(struct dvb_frontend *fe)
|
|||||||
chip_id = cmd.args[1] << 24 | cmd.args[2] << 16 | cmd.args[3] << 8 |
|
chip_id = cmd.args[1] << 24 | cmd.args[2] << 16 | cmd.args[3] << 8 |
|
||||||
cmd.args[4] << 0;
|
cmd.args[4] << 0;
|
||||||
|
|
||||||
|
#define SI2177_A30 ('A' << 24 | 77 << 16 | '3' << 8 | '0' << 0)
|
||||||
#define SI2158_A20 ('A' << 24 | 58 << 16 | '2' << 8 | '0' << 0)
|
#define SI2158_A20 ('A' << 24 | 58 << 16 | '2' << 8 | '0' << 0)
|
||||||
#define SI2148_A20 ('A' << 24 | 48 << 16 | '2' << 8 | '0' << 0)
|
#define SI2148_A20 ('A' << 24 | 48 << 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)
|
||||||
@ -144,6 +145,9 @@ static int si2157_init(struct dvb_frontend *fe)
|
|||||||
case SI2141_A10:
|
case SI2141_A10:
|
||||||
fw_name = SI2141_A10_FIRMWARE;
|
fw_name = SI2141_A10_FIRMWARE;
|
||||||
break;
|
break;
|
||||||
|
case SI2177_A30:
|
||||||
|
fw_name = SI2157_A30_FIRMWARE;
|
||||||
|
break;
|
||||||
case SI2157_A30:
|
case SI2157_A30:
|
||||||
case SI2147_A30:
|
case SI2147_A30:
|
||||||
case SI2146_A10:
|
case SI2146_A10:
|
||||||
@ -520,6 +524,7 @@ static const struct i2c_device_id si2157_id_table[] = {
|
|||||||
{"si2157", SI2157_CHIPTYPE_SI2157},
|
{"si2157", SI2157_CHIPTYPE_SI2157},
|
||||||
{"si2146", SI2157_CHIPTYPE_SI2146},
|
{"si2146", SI2157_CHIPTYPE_SI2146},
|
||||||
{"si2141", SI2157_CHIPTYPE_SI2141},
|
{"si2141", SI2157_CHIPTYPE_SI2141},
|
||||||
|
{"si2177", SI2157_CHIPTYPE_SI2177},
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(i2c, si2157_id_table);
|
MODULE_DEVICE_TABLE(i2c, si2157_id_table);
|
||||||
@ -541,3 +546,4 @@ MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>");
|
|||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_FIRMWARE(SI2158_A20_FIRMWARE);
|
MODULE_FIRMWARE(SI2158_A20_FIRMWARE);
|
||||||
MODULE_FIRMWARE(SI2141_A10_FIRMWARE);
|
MODULE_FIRMWARE(SI2141_A10_FIRMWARE);
|
||||||
|
MODULE_FIRMWARE(SI2157_A30_FIRMWARE);
|
||||||
|
|||||||
@ -41,6 +41,7 @@ struct si2157_dev {
|
|||||||
#define SI2157_CHIPTYPE_SI2157 0
|
#define SI2157_CHIPTYPE_SI2157 0
|
||||||
#define SI2157_CHIPTYPE_SI2146 1
|
#define SI2157_CHIPTYPE_SI2146 1
|
||||||
#define SI2157_CHIPTYPE_SI2141 2
|
#define SI2157_CHIPTYPE_SI2141 2
|
||||||
|
#define SI2157_CHIPTYPE_SI2177 3
|
||||||
|
|
||||||
/* firmware command struct */
|
/* firmware command struct */
|
||||||
#define SI2157_ARGLEN 30
|
#define SI2157_ARGLEN 30
|
||||||
@ -52,5 +53,5 @@ struct si2157_cmd {
|
|||||||
|
|
||||||
#define SI2158_A20_FIRMWARE "dvb-tuner-si2158-a20-01.fw"
|
#define SI2158_A20_FIRMWARE "dvb-tuner-si2158-a20-01.fw"
|
||||||
#define SI2141_A10_FIRMWARE "dvb-tuner-si2141-a10-01.fw"
|
#define SI2141_A10_FIRMWARE "dvb-tuner-si2141-a10-01.fw"
|
||||||
|
#define SI2157_A30_FIRMWARE "dvb-tuner-si2157-a30-01.fw"
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user