Commit 0ed8289b authored by Olli Salonen's avatar Olli Salonen Committed by Mauro Carvalho Chehab

[media] smipcie: add support for TechnoTrend S2-4200 Twin

Add support for TechnoTrend TT-budget S2-4200 Twin DVB-S2 tuner. The
device seems to be rather similar to DVBSky S952 V3. This is a PCIe
card with 2 tuners. SMI PCIe bridge is used and the card has two
Montage M88RS6000 demod/tuners.

The M88RS6000 demod/tuner package needs firmware. You can download
one here:
http://palosaari.fi/linux/v4l-dvb/firmware/M88RS6000/Signed-off-by: default avatarOlli Salonen <olli.salonen@iki.fi>
Reviewed-by: default avatarMax Nibble <nibble.max@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 869f076b
...@@ -203,6 +203,9 @@ int smi_ir_init(struct smi_dev *dev) ...@@ -203,6 +203,9 @@ int smi_ir_init(struct smi_dev *dev)
rc_dev->dev.parent = &dev->pci_dev->dev; rc_dev->dev.parent = &dev->pci_dev->dev;
rc_dev->driver_type = RC_DRIVER_SCANCODE; rc_dev->driver_type = RC_DRIVER_SCANCODE;
if (dev->info->type == SMI_TECHNOTREND_S2_4200)
rc_dev->map_name = RC_MAP_TT_1500;
else
rc_dev->map_name = RC_MAP_DVBSKY; rc_dev->map_name = RC_MAP_DVBSKY;
ir->rc_dev = rc_dev; ir->rc_dev = rc_dev;
......
...@@ -1086,6 +1086,15 @@ static struct smi_cfg_info dvbsky_t9580_cfg = { ...@@ -1086,6 +1086,15 @@ static struct smi_cfg_info dvbsky_t9580_cfg = {
.fe_1 = DVBSKY_FE_M88DS3103, .fe_1 = DVBSKY_FE_M88DS3103,
}; };
static struct smi_cfg_info technotrend_s2_4200_cfg = {
.type = SMI_TECHNOTREND_S2_4200,
.name = "TechnoTrend TT-budget S2-4200 Twin",
.ts_0 = SMI_TS_DMA_BOTH,
.ts_1 = SMI_TS_DMA_BOTH,
.fe_0 = DVBSKY_FE_M88RS6000,
.fe_1 = DVBSKY_FE_M88RS6000,
};
/* PCI IDs */ /* PCI IDs */
#define SMI_ID(_subvend, _subdev, _driverdata) { \ #define SMI_ID(_subvend, _subdev, _driverdata) { \
.vendor = SMI_VID, .device = SMI_PID, \ .vendor = SMI_VID, .device = SMI_PID, \
...@@ -1096,6 +1105,7 @@ static const struct pci_device_id smi_id_table[] = { ...@@ -1096,6 +1105,7 @@ static const struct pci_device_id smi_id_table[] = {
SMI_ID(0x4254, 0x0550, dvbsky_s950_cfg), SMI_ID(0x4254, 0x0550, dvbsky_s950_cfg),
SMI_ID(0x4254, 0x0552, dvbsky_s952_cfg), SMI_ID(0x4254, 0x0552, dvbsky_s952_cfg),
SMI_ID(0x4254, 0x5580, dvbsky_t9580_cfg), SMI_ID(0x4254, 0x5580, dvbsky_t9580_cfg),
SMI_ID(0x13c2, 0x3016, technotrend_s2_4200_cfg),
{0} {0}
}; };
MODULE_DEVICE_TABLE(pci, smi_id_table); MODULE_DEVICE_TABLE(pci, smi_id_table);
......
...@@ -216,6 +216,7 @@ struct smi_cfg_info { ...@@ -216,6 +216,7 @@ struct smi_cfg_info {
#define SMI_DVBSKY_S950 1 #define SMI_DVBSKY_S950 1
#define SMI_DVBSKY_T9580 2 #define SMI_DVBSKY_T9580 2
#define SMI_DVBSKY_T982 3 #define SMI_DVBSKY_T982 3
#define SMI_TECHNOTREND_S2_4200 4
int type; int type;
char *name; char *name;
#define SMI_TS_NULL 0 #define SMI_TS_NULL 0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment