瀏覽代碼

V4L/DVB (9534): cx88: Add support for Prof 6200 DVB-S PCI card

The card based on stv0299 or stv0288 demodulators.

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Igor M. Liplianin 16 年之前
父節點
當前提交
cd3cde1271

+ 1 - 0
Documentation/video4linux/CARDLIST.cx88

@@ -76,3 +76,4 @@
  75 -> PROF 7300 DVB-S/S2                                  [B033:3033]
  75 -> PROF 7300 DVB-S/S2                                  [B033:3033]
  76 -> SATTRADE ST4200 DVB-S/S2                            [b200:4200]
  76 -> SATTRADE ST4200 DVB-S/S2                            [b200:4200]
  77 -> TBS 8910 DVB-S                                      [8910:8888]
  77 -> TBS 8910 DVB-S                                      [8910:8888]
+ 78 -> Prof 6200 DVB-S                                     [b022:3022]

+ 17 - 0
drivers/media/video/cx88/cx88-cards.c

@@ -1871,6 +1871,18 @@ static const struct cx88_board cx88_boards[] = {
 		} },
 		} },
 		.mpeg           = CX88_MPEG_DVB,
 		.mpeg           = CX88_MPEG_DVB,
 	},
 	},
+	[CX88_BOARD_PROF_6200] = {
+		.name           = "Prof 6200 DVB-S",
+		.tuner_type     = UNSET,
+		.radio_type     = UNSET,
+		.tuner_addr     = ADDR_UNSET,
+		.radio_addr     = ADDR_UNSET,
+		.input          = {{
+			.type   = CX88_VMUX_DVB,
+			.vmux   = 0,
+		} },
+		.mpeg           = CX88_MPEG_DVB,
+	},
 	[CX88_BOARD_PROF_7300] = {
 	[CX88_BOARD_PROF_7300] = {
 		.name           = "PROF 7300 DVB-S/S2",
 		.name           = "PROF 7300 DVB-S/S2",
 		.tuner_type     = UNSET,
 		.tuner_type     = UNSET,
@@ -2292,6 +2304,10 @@ static const struct cx88_subid cx88_subids[] = {
 		.subvendor = 0x8920,
 		.subvendor = 0x8920,
 		.subdevice = 0x8888,
 		.subdevice = 0x8888,
 		.card      = CX88_BOARD_TBS_8920,
 		.card      = CX88_BOARD_TBS_8920,
+	}, {
+		.subvendor = 0xb022,
+		.subdevice = 0x3022,
+		.card      = CX88_BOARD_PROF_6200,
 	}, {
 	}, {
 		.subvendor = 0xB033,
 		.subvendor = 0xB033,
 		.subdevice = 0x3033,
 		.subdevice = 0x3033,
@@ -2912,6 +2928,7 @@ static void cx88_card_setup(struct cx88_core *core)
 	case  CX88_BOARD_OMICOM_SS4_PCI:
 	case  CX88_BOARD_OMICOM_SS4_PCI:
 	case  CX88_BOARD_TBS_8910:
 	case  CX88_BOARD_TBS_8910:
 	case  CX88_BOARD_TBS_8920:
 	case  CX88_BOARD_TBS_8920:
+	case  CX88_BOARD_PROF_6200:
 	case  CX88_BOARD_PROF_7300:
 	case  CX88_BOARD_PROF_7300:
 	case  CX88_BOARD_SATTRADE_ST4200:
 	case  CX88_BOARD_SATTRADE_ST4200:
 		cx_write(MO_SRST_IO, 0);
 		cx_write(MO_SRST_IO, 0);

+ 1 - 0
drivers/media/video/cx88/cx88-dvb.c

@@ -1042,6 +1042,7 @@ static int dvb_register(struct cx8802_dev *dev)
 				0x08, ISL6421_DCL, 0x00);
 				0x08, ISL6421_DCL, 0x00);
 		}
 		}
 		break;
 		break;
+	case CX88_BOARD_PROF_6200:
 	case CX88_BOARD_TBS_8910:
 	case CX88_BOARD_TBS_8910:
 	case CX88_BOARD_TEVII_S420:
 	case CX88_BOARD_TEVII_S420:
 		fe0->dvb.frontend = dvb_attach(stv0299_attach,
 		fe0->dvb.frontend = dvb_attach(stv0299_attach,

+ 1 - 0
drivers/media/video/cx88/cx88.h

@@ -230,6 +230,7 @@ extern struct sram_channel cx88_sram_channels[];
 #define CX88_BOARD_PROF_7300               75
 #define CX88_BOARD_PROF_7300               75
 #define CX88_BOARD_SATTRADE_ST4200         76
 #define CX88_BOARD_SATTRADE_ST4200         76
 #define CX88_BOARD_TBS_8910                77
 #define CX88_BOARD_TBS_8910                77
+#define CX88_BOARD_PROF_6200               78
 
 
 enum cx88_itype {
 enum cx88_itype {
 	CX88_VMUX_COMPOSITE1 = 1,
 	CX88_VMUX_COMPOSITE1 = 1,