diff options
author | Brad Love <brad@nextdimension.cc> | 2018-12-20 12:09:31 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-06-13 14:26:59 -0400 |
commit | d5cb82b01a5ae6cf9a36a24be02ef28b84df28cc (patch) | |
tree | e30be3fe6ee341dd16d0f85b454ab94b006b3fc0 | |
parent | 513dbd35b5d93c45fa7291147f21fc0227a9f999 (diff) |
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>
-rw-r--r-- | drivers/media/tuners/si2157.c | 6 | ||||
-rw-r--r-- | drivers/media/tuners/si2157_priv.h | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/media/tuners/si2157.c b/drivers/media/tuners/si2157.c index 7be893def190..e87040d6eca7 100644 --- a/drivers/media/tuners/si2157.c +++ b/drivers/media/tuners/si2157.c | |||
@@ -129,6 +129,7 @@ static int si2157_init(struct dvb_frontend *fe) | |||
129 | chip_id = cmd.args[1] << 24 | cmd.args[2] << 16 | cmd.args[3] << 8 | | 129 | chip_id = cmd.args[1] << 24 | cmd.args[2] << 16 | cmd.args[3] << 8 | |
130 | cmd.args[4] << 0; | 130 | cmd.args[4] << 0; |
131 | 131 | ||
132 | #define SI2177_A30 ('A' << 24 | 77 << 16 | '3' << 8 | '0' << 0) | ||
132 | #define SI2158_A20 ('A' << 24 | 58 << 16 | '2' << 8 | '0' << 0) | 133 | #define SI2158_A20 ('A' << 24 | 58 << 16 | '2' << 8 | '0' << 0) |
133 | #define SI2148_A20 ('A' << 24 | 48 << 16 | '2' << 8 | '0' << 0) | 134 | #define SI2148_A20 ('A' << 24 | 48 << 16 | '2' << 8 | '0' << 0) |
134 | #define SI2157_A30 ('A' << 24 | 57 << 16 | '3' << 8 | '0' << 0) | 135 | #define SI2157_A30 ('A' << 24 | 57 << 16 | '3' << 8 | '0' << 0) |
@@ -144,6 +145,9 @@ static int si2157_init(struct dvb_frontend *fe) | |||
144 | case SI2141_A10: | 145 | case SI2141_A10: |
145 | fw_name = SI2141_A10_FIRMWARE; | 146 | fw_name = SI2141_A10_FIRMWARE; |
146 | break; | 147 | break; |
148 | case SI2177_A30: | ||
149 | fw_name = SI2157_A30_FIRMWARE; | ||
150 | break; | ||
147 | case SI2157_A30: | 151 | case SI2157_A30: |
148 | case SI2147_A30: | 152 | case SI2147_A30: |
149 | case SI2146_A10: | 153 | case SI2146_A10: |
@@ -520,6 +524,7 @@ static const struct i2c_device_id si2157_id_table[] = { | |||
520 | {"si2157", SI2157_CHIPTYPE_SI2157}, | 524 | {"si2157", SI2157_CHIPTYPE_SI2157}, |
521 | {"si2146", SI2157_CHIPTYPE_SI2146}, | 525 | {"si2146", SI2157_CHIPTYPE_SI2146}, |
522 | {"si2141", SI2157_CHIPTYPE_SI2141}, | 526 | {"si2141", SI2157_CHIPTYPE_SI2141}, |
527 | {"si2177", SI2157_CHIPTYPE_SI2177}, | ||
523 | {} | 528 | {} |
524 | }; | 529 | }; |
525 | MODULE_DEVICE_TABLE(i2c, si2157_id_table); | 530 | MODULE_DEVICE_TABLE(i2c, si2157_id_table); |
@@ -541,3 +546,4 @@ MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | |||
541 | MODULE_LICENSE("GPL"); | 546 | MODULE_LICENSE("GPL"); |
542 | MODULE_FIRMWARE(SI2158_A20_FIRMWARE); | 547 | MODULE_FIRMWARE(SI2158_A20_FIRMWARE); |
543 | MODULE_FIRMWARE(SI2141_A10_FIRMWARE); | 548 | MODULE_FIRMWARE(SI2141_A10_FIRMWARE); |
549 | MODULE_FIRMWARE(SI2157_A30_FIRMWARE); | ||
diff --git a/drivers/media/tuners/si2157_priv.h b/drivers/media/tuners/si2157_priv.h index 7d16934c7708..2bda903358da 100644 --- a/drivers/media/tuners/si2157_priv.h +++ b/drivers/media/tuners/si2157_priv.h | |||
@@ -41,6 +41,7 @@ struct si2157_dev { | |||
41 | #define SI2157_CHIPTYPE_SI2157 0 | 41 | #define SI2157_CHIPTYPE_SI2157 0 |
42 | #define SI2157_CHIPTYPE_SI2146 1 | 42 | #define SI2157_CHIPTYPE_SI2146 1 |
43 | #define SI2157_CHIPTYPE_SI2141 2 | 43 | #define SI2157_CHIPTYPE_SI2141 2 |
44 | #define SI2157_CHIPTYPE_SI2177 3 | ||
44 | 45 | ||
45 | /* firmware command struct */ | 46 | /* firmware command struct */ |
46 | #define SI2157_ARGLEN 30 | 47 | #define SI2157_ARGLEN 30 |
@@ -52,5 +53,5 @@ struct si2157_cmd { | |||
52 | 53 | ||
53 | #define SI2158_A20_FIRMWARE "dvb-tuner-si2158-a20-01.fw" | 54 | #define SI2158_A20_FIRMWARE "dvb-tuner-si2158-a20-01.fw" |
54 | #define SI2141_A10_FIRMWARE "dvb-tuner-si2141-a10-01.fw" | 55 | #define SI2141_A10_FIRMWARE "dvb-tuner-si2141-a10-01.fw" |
55 | 56 | #define SI2157_A30_FIRMWARE "dvb-tuner-si2157-a30-01.fw" | |
56 | #endif | 57 | #endif |