Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b134e85 authored by Igor M. Liplianin's avatar Igor M. Liplianin Committed by Mauro Carvalho Chehab
Browse files

[media] cx23885: TeVii s471 card support



The card is similar to TeVii s470, but has different LNB power control.

Signed-off-by: default avatarIgor M. Liplianin <liplianin@me.by>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 6b363f9f
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -1114,6 +1114,9 @@ static int ds3000_set_frontend(struct dvb_frontend *fe)
			ds3000_writereg(state,
			ds3000_writereg(state,
				ds3000_dvbs2_init_tab[i],
				ds3000_dvbs2_init_tab[i],
				ds3000_dvbs2_init_tab[i + 1]);
				ds3000_dvbs2_init_tab[i + 1]);
		if (c->symbol_rate >= 30000000)
			ds3000_writereg(state, 0xfe, 0x54);
		else
			ds3000_writereg(state, 0xfe, 0x98);
			ds3000_writereg(state, 0xfe, 0x98);
		break;
		break;
	default:
	default:
+9 −0
Original line number Original line Diff line number Diff line
@@ -497,6 +497,10 @@ struct cx23885_board cx23885_boards[] = {
		.name		= "TerraTec Cinergy T PCIe Dual",
		.name		= "TerraTec Cinergy T PCIe Dual",
		.portb		= CX23885_MPEG_DVB,
		.portb		= CX23885_MPEG_DVB,
		.portc		= CX23885_MPEG_DVB,
		.portc		= CX23885_MPEG_DVB,
	},
	[CX23885_BOARD_TEVII_S471] = {
		.name		= "TeVii S471",
		.portb		= CX23885_MPEG_DVB,
	}
	}
};
};
const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);
const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);
@@ -705,6 +709,10 @@ struct cx23885_subid cx23885_subids[] = {
		.subvendor = 0x153b,
		.subvendor = 0x153b,
		.subdevice = 0x117e,
		.subdevice = 0x117e,
		.card      = CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL,
		.card      = CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL,
	}, {
		.subvendor = 0xd471,
		.subdevice = 0x9022,
		.card      = CX23885_BOARD_TEVII_S471,
	},
	},
};
};
const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids);
const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids);
@@ -1460,6 +1468,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
		ts1->src_sel_val   = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;
		ts1->src_sel_val   = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO;
		break;
		break;
	case CX23885_BOARD_TEVII_S470:
	case CX23885_BOARD_TEVII_S470:
	case CX23885_BOARD_TEVII_S471:
	case CX23885_BOARD_DVBWORLD_2005:
	case CX23885_BOARD_DVBWORLD_2005:
		ts1->gen_ctrl_val  = 0x5; /* Parallel */
		ts1->gen_ctrl_val  = 0x5; /* Parallel */
		ts1->ts_clk_en_val = 0x1; /* Enable TS_CLK */
		ts1->ts_clk_en_val = 0x1; /* Enable TS_CLK */
+7 −0
Original line number Original line Diff line number Diff line
@@ -1046,6 +1046,13 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
	if (cx23885_boards[dev->board].ci_type > 0)
	if (cx23885_boards[dev->board].ci_type > 0)
		cx_clear(RDR_RDRCTL1, 1 << 8);
		cx_clear(RDR_RDRCTL1, 1 << 8);


	switch (dev->board) {
	case CX23885_BOARD_TEVII_S470:
	case CX23885_BOARD_TEVII_S471:
		cx_clear(RDR_RDRCTL1, 1 << 8);
		break;
	}

	return 0;
	return 0;
}
}


+7 −0
Original line number Original line Diff line number Diff line
@@ -1173,6 +1173,13 @@ static int dvb_register(struct cx23885_tsport *port)
			break;
			break;
		}
		}
		break;
		break;
	case CX23885_BOARD_TEVII_S471:
		i2c_bus = &dev->i2c_bus[1];

		fe0->dvb.frontend = dvb_attach(ds3000_attach,
					&tevii_ds3000_config,
					&i2c_bus->i2c_adap);
		break;
	default:
	default:
		printk(KERN_INFO "%s: The frontend of your DVB/ATSC card "
		printk(KERN_INFO "%s: The frontend of your DVB/ATSC card "
			" isn't supported yet\n",
			" isn't supported yet\n",
+1 −0
Original line number Original line Diff line number Diff line
@@ -89,6 +89,7 @@
#define CX23885_BOARD_MPX885                   32
#define CX23885_BOARD_MPX885                   32
#define CX23885_BOARD_MYGICA_X8507             33
#define CX23885_BOARD_MYGICA_X8507             33
#define CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL 34
#define CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL 34
#define CX23885_BOARD_TEVII_S471               35


#define GPIO_0 0x00000001
#define GPIO_0 0x00000001
#define GPIO_1 0x00000002
#define GPIO_1 0x00000002