aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx23885/cx23885-dvb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-dvb.c')
-rw-r--r--drivers/media/video/cx23885/cx23885-dvb.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c
index a3906225c493..af8a225763d3 100644
--- a/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/drivers/media/video/cx23885/cx23885-dvb.c
@@ -61,6 +61,8 @@
61#include "cx23885-f300.h" 61#include "cx23885-f300.h"
62#include "altera-ci.h" 62#include "altera-ci.h"
63#include "stv0367.h" 63#include "stv0367.h"
64#include "drxk.h"
65#include "mt2063.h"
64 66
65static unsigned int debug; 67static unsigned int debug;
66 68
@@ -600,6 +602,24 @@ static struct xc5000_config netup_xc5000_config[] = {
600 }, 602 },
601}; 603};
602 604
605static struct drxk_config terratec_drxk_config[] = {
606 {
607 .adr = 0x29,
608 .no_i2c_bridge = 1,
609 }, {
610 .adr = 0x2a,
611 .no_i2c_bridge = 1,
612 },
613};
614
615static struct mt2063_config terratec_mt2063_config[] = {
616 {
617 .tuner_address = 0x60,
618 }, {
619 .tuner_address = 0x67,
620 },
621};
622
603int netup_altera_fpga_rw(void *device, int flag, int data, int read) 623int netup_altera_fpga_rw(void *device, int flag, int data, int read)
604{ 624{
605 struct cx23885_dev *dev = (struct cx23885_dev *)device; 625 struct cx23885_dev *dev = (struct cx23885_dev *)device;
@@ -1115,6 +1135,39 @@ static int dvb_register(struct cx23885_tsport *port)
1115 goto frontend_detach; 1135 goto frontend_detach;
1116 } 1136 }
1117 break; 1137 break;
1138 case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL:
1139 i2c_bus = &dev->i2c_bus[0];
1140 i2c_bus2 = &dev->i2c_bus[1];
1141
1142 switch (port->nr) {
1143 /* port b */
1144 case 1:
1145 fe0->dvb.frontend = dvb_attach(drxk_attach,
1146 &terratec_drxk_config[0],
1147 &i2c_bus->i2c_adap);
1148 if (fe0->dvb.frontend != NULL) {
1149 if (!dvb_attach(mt2063_attach,
1150 fe0->dvb.frontend,
1151 &terratec_mt2063_config[0],
1152 &i2c_bus2->i2c_adap))
1153 goto frontend_detach;
1154 }
1155 break;
1156 /* port c */
1157 case 2:
1158 fe0->dvb.frontend = dvb_attach(drxk_attach,
1159 &terratec_drxk_config[1],
1160 &i2c_bus->i2c_adap);
1161 if (fe0->dvb.frontend != NULL) {
1162 if (!dvb_attach(mt2063_attach,
1163 fe0->dvb.frontend,
1164 &terratec_mt2063_config[1],
1165 &i2c_bus2->i2c_adap))
1166 goto frontend_detach;
1167 }
1168 break;
1169 }
1170 break;
1118 default: 1171 default:
1119 printk(KERN_INFO "%s: The frontend of your DVB/ATSC card " 1172 printk(KERN_INFO "%s: The frontend of your DVB/ATSC card "
1120 " isn't supported yet\n", 1173 " isn't supported yet\n",