summaryrefslogtreecommitdiffstats
path: root/drivers/media/pci
diff options
context:
space:
mode:
authorOlli Salonen <olli.salonen@iki.fi>2016-03-09 17:38:27 -0500
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-05-07 09:27:17 -0400
commit0ed8289bd6fff6eda3d57ff09e4b54fd823930ab (patch)
tree800ae447e017110edecb6e831677075ce318f581 /drivers/media/pci
parent869f076bd68b27e0990e3fc5036a8eb571014473 (diff)
[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: Olli Salonen <olli.salonen@iki.fi> Reviewed-by: Max Nibble <nibble.max@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/pci')
-rw-r--r--drivers/media/pci/smipcie/smipcie-ir.c5
-rw-r--r--drivers/media/pci/smipcie/smipcie-main.c10
-rw-r--r--drivers/media/pci/smipcie/smipcie.h1
3 files changed, 15 insertions, 1 deletions
diff --git a/drivers/media/pci/smipcie/smipcie-ir.c b/drivers/media/pci/smipcie/smipcie-ir.c
index d018673c71f6..d737b5e767d0 100644
--- a/drivers/media/pci/smipcie/smipcie-ir.c
+++ b/drivers/media/pci/smipcie/smipcie-ir.c
@@ -203,7 +203,10 @@ int smi_ir_init(struct smi_dev *dev)
203 rc_dev->dev.parent = &dev->pci_dev->dev; 203 rc_dev->dev.parent = &dev->pci_dev->dev;
204 204
205 rc_dev->driver_type = RC_DRIVER_SCANCODE; 205 rc_dev->driver_type = RC_DRIVER_SCANCODE;
206 rc_dev->map_name = RC_MAP_DVBSKY; 206 if (dev->info->type == SMI_TECHNOTREND_S2_4200)
207 rc_dev->map_name = RC_MAP_TT_1500;
208 else
209 rc_dev->map_name = RC_MAP_DVBSKY;
207 210
208 ir->rc_dev = rc_dev; 211 ir->rc_dev = rc_dev;
209 ir->dev = dev; 212 ir->dev = dev;
diff --git a/drivers/media/pci/smipcie/smipcie-main.c b/drivers/media/pci/smipcie/smipcie-main.c
index b039a229b7d2..993a2d19bd54 100644
--- a/drivers/media/pci/smipcie/smipcie-main.c
+++ b/drivers/media/pci/smipcie/smipcie-main.c
@@ -1086,6 +1086,15 @@ static struct smi_cfg_info dvbsky_t9580_cfg = {
1086 .fe_1 = DVBSKY_FE_M88DS3103, 1086 .fe_1 = DVBSKY_FE_M88DS3103,
1087}; 1087};
1088 1088
1089static struct smi_cfg_info technotrend_s2_4200_cfg = {
1090 .type = SMI_TECHNOTREND_S2_4200,
1091 .name = "TechnoTrend TT-budget S2-4200 Twin",
1092 .ts_0 = SMI_TS_DMA_BOTH,
1093 .ts_1 = SMI_TS_DMA_BOTH,
1094 .fe_0 = DVBSKY_FE_M88RS6000,
1095 .fe_1 = DVBSKY_FE_M88RS6000,
1096};
1097
1089/* PCI IDs */ 1098/* PCI IDs */
1090#define SMI_ID(_subvend, _subdev, _driverdata) { \ 1099#define SMI_ID(_subvend, _subdev, _driverdata) { \
1091 .vendor = SMI_VID, .device = SMI_PID, \ 1100 .vendor = SMI_VID, .device = SMI_PID, \
@@ -1096,6 +1105,7 @@ static const struct pci_device_id smi_id_table[] = {
1096 SMI_ID(0x4254, 0x0550, dvbsky_s950_cfg), 1105 SMI_ID(0x4254, 0x0550, dvbsky_s950_cfg),
1097 SMI_ID(0x4254, 0x0552, dvbsky_s952_cfg), 1106 SMI_ID(0x4254, 0x0552, dvbsky_s952_cfg),
1098 SMI_ID(0x4254, 0x5580, dvbsky_t9580_cfg), 1107 SMI_ID(0x4254, 0x5580, dvbsky_t9580_cfg),
1108 SMI_ID(0x13c2, 0x3016, technotrend_s2_4200_cfg),
1099 {0} 1109 {0}
1100}; 1110};
1101MODULE_DEVICE_TABLE(pci, smi_id_table); 1111MODULE_DEVICE_TABLE(pci, smi_id_table);
diff --git a/drivers/media/pci/smipcie/smipcie.h b/drivers/media/pci/smipcie/smipcie.h
index 68cdda28fd98..5528e483ebc5 100644
--- a/drivers/media/pci/smipcie/smipcie.h
+++ b/drivers/media/pci/smipcie/smipcie.h
@@ -216,6 +216,7 @@ struct smi_cfg_info {
216#define SMI_DVBSKY_S950 1 216#define SMI_DVBSKY_S950 1
217#define SMI_DVBSKY_T9580 2 217#define SMI_DVBSKY_T9580 2
218#define SMI_DVBSKY_T982 3 218#define SMI_DVBSKY_T982 3
219#define SMI_TECHNOTREND_S2_4200 4
219 int type; 220 int type;
220 char *name; 221 char *name;
221#define SMI_TS_NULL 0 222#define SMI_TS_NULL 0