mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 06:12:08 +00:00
[media] dvb-frontends/cxd2841er: support CXD2837/38/43ER demods/Chip IDs
Those demods are programmed in the same way as the CXD2841ER/54ER and can be handled by this driver. Support added in a way matching the existing code, supported delivery systems are set according to what each demod supports. Updates the type string setting used for printing the "attaching..." log line aswell. Signed-off-by: Daniel Scheller <d.scheller@gmx.net> Acked-by: Abylay Ospan <aospan@netup.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
6ccf821c34
commit
1ecda28c0d
@ -3733,16 +3733,39 @@ static struct dvb_frontend *cxd2841er_attach(struct cxd2841er_config *cfg,
|
||||
priv->i2c_addr_slvx, priv->i2c_addr_slvt);
|
||||
chip_id = cxd2841er_chip_id(priv);
|
||||
switch (chip_id) {
|
||||
case CXD2837ER_CHIP_ID:
|
||||
snprintf(cxd2841er_t_c_ops.info.name, 128,
|
||||
"Sony CXD2837ER DVB-T/T2/C demodulator");
|
||||
name = "CXD2837ER";
|
||||
type = "C/T/T2";
|
||||
break;
|
||||
case CXD2838ER_CHIP_ID:
|
||||
snprintf(cxd2841er_t_c_ops.info.name, 128,
|
||||
"Sony CXD2838ER ISDB-T demodulator");
|
||||
cxd2841er_t_c_ops.delsys[0] = SYS_ISDBT;
|
||||
cxd2841er_t_c_ops.delsys[1] = SYS_UNDEFINED;
|
||||
cxd2841er_t_c_ops.delsys[2] = SYS_UNDEFINED;
|
||||
name = "CXD2838ER";
|
||||
type = "ISDB-T";
|
||||
break;
|
||||
case CXD2841ER_CHIP_ID:
|
||||
snprintf(cxd2841er_t_c_ops.info.name, 128,
|
||||
"Sony CXD2841ER DVB-T/T2/C demodulator");
|
||||
name = "CXD2841ER";
|
||||
type = "T/T2/C/ISDB-T";
|
||||
break;
|
||||
case CXD2843ER_CHIP_ID:
|
||||
snprintf(cxd2841er_t_c_ops.info.name, 128,
|
||||
"Sony CXD2843ER DVB-T/T2/C/C2 demodulator");
|
||||
name = "CXD2843ER";
|
||||
type = "C/C2/T/T2";
|
||||
break;
|
||||
case CXD2854ER_CHIP_ID:
|
||||
snprintf(cxd2841er_t_c_ops.info.name, 128,
|
||||
"Sony CXD2854ER DVB-T/T2/C and ISDB-T demodulator");
|
||||
cxd2841er_t_c_ops.delsys[3] = SYS_ISDBT;
|
||||
name = "CXD2854ER";
|
||||
type = "C/C2/T/T2/ISDB-T";
|
||||
break;
|
||||
default:
|
||||
dev_err(&priv->i2c->dev, "%s(): invalid chip ID 0x%02x\n",
|
||||
@ -3762,7 +3785,6 @@ static struct dvb_frontend *cxd2841er_attach(struct cxd2841er_config *cfg,
|
||||
memcpy(&priv->frontend.ops,
|
||||
&cxd2841er_t_c_ops,
|
||||
sizeof(struct dvb_frontend_ops));
|
||||
type = "T/T2/C/ISDB-T";
|
||||
}
|
||||
|
||||
dev_info(&priv->i2c->dev,
|
||||
|
@ -25,7 +25,10 @@
|
||||
#define I2C_SLVX 0
|
||||
#define I2C_SLVT 1
|
||||
|
||||
#define CXD2837ER_CHIP_ID 0xb1
|
||||
#define CXD2838ER_CHIP_ID 0xb0
|
||||
#define CXD2841ER_CHIP_ID 0xa7
|
||||
#define CXD2843ER_CHIP_ID 0xa4
|
||||
#define CXD2854ER_CHIP_ID 0xc1
|
||||
|
||||
#define CXD2841ER_DVBS_POLLING_INVL 10
|
||||
|
Loading…
Reference in New Issue
Block a user