diff options
author | Olli Salonen <olli.salonen@iki.fi> | 2016-03-09 17:38:27 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2016-05-07 09:27:17 -0400 |
commit | 0ed8289bd6fff6eda3d57ff09e4b54fd823930ab (patch) | |
tree | 800ae447e017110edecb6e831677075ce318f581 /drivers/media/pci | |
parent | 869f076bd68b27e0990e3fc5036a8eb571014473 (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.c | 5 | ||||
-rw-r--r-- | drivers/media/pci/smipcie/smipcie-main.c | 10 | ||||
-rw-r--r-- | drivers/media/pci/smipcie/smipcie.h | 1 |
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 | ||
1089 | static 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 | }; |
1101 | MODULE_DEVICE_TABLE(pci, smi_id_table); | 1111 | MODULE_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 |