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

Commit 83646817 authored by Hartmut Hackmann's avatar Hartmut Hackmann Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (4769): Added support for a ASUSTEK P7131 Dual DVB-T variant



This card has no firmware eeprom. The old version still should not
need a firmware file due to an undocumented feature of the TDA10046.
The patch also includes Hermann Pitton's proposal for improved
antenna switch handling

Signed-off-by: default avatarHartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 7da6894a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@
 75 -> AVerMedia AVerTVHD MCE A180              [1461:1044]
 76 -> SKNet MonsterTV Mobile                   [1131:4ee9]
 77 -> Pinnacle PCTV 40i/50i/110i (saa7133)     [11bd:002e]
 78 -> ASUSTeK P7131 Dual                       [1043:4862]
 78 -> ASUSTeK P7131 Dual                       [1043:4862,1043:4876]
 79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)
 80 -> ASUS Digimatrix TV                       [1043:0210]
 81 -> Philips Tiger reference design           [1131:2018]
+9 −0
Original line number Diff line number Diff line
@@ -2462,14 +2462,17 @@ struct saa7134_board saa7134_boards[] = {
			.vmux = 1,
			.amux = TV,
			.tv   = 1,
			.gpio = 0x0000000,
		},{
			.name = name_comp1,
			.vmux = 3,
			.amux = LINE2,
			.gpio = 0x0200000,
		},{
			.name = name_svideo,
			.vmux = 8,
			.amux = LINE2,
			.gpio = 0x0200000,
		}},
		.radio = {
			.name = name_radio,
@@ -3718,6 +3721,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
		.subdevice    = 0x9715,
		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_507,
	},{
		.vendor       = PCI_VENDOR_ID_PHILIPS,
		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
		.subvendor    = 0x1043,
		.subdevice    = 0x4876,
		.driver_data  = SAA7134_BOARD_ASUSTeK_P7131_DUAL,
	},{
		/* --- boards without eeprom + subsystem ID --- */
		.vendor       = PCI_VENDOR_ID_PHILIPS,
+11 −1
Original line number Diff line number Diff line
@@ -894,6 +894,16 @@ static struct tda1004x_config pinnacle_pctv_310i_config = {

/* ------------------------------------------------------------------ */

static struct tda1004x_config asus_p7131_dual_config = {
	.demod_address = 0x08,
	.invert        = 1,
	.invert_oclk   = 0,
	.xtal_freq     = TDA10046_XTAL_16M,
	.agc_config    = TDA10046_AGC_TDA827X,
	.if_freq       = TDA10046_FREQ_045,
	.request_firmware = philips_tda1004x_request_firmware,
};

static int asus_p7131_dual_tuner_init(struct dvb_frontend *fe)
{
	struct saa7134_dev *dev = fe->dvb->priv;
@@ -1207,7 +1217,7 @@ static int dvb_init(struct saa7134_dev *dev)
		break;
	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
		dev->dvb.frontend = dvb_attach(tda10046_attach,
					       &philips_tiger_config,
					       &asus_p7131_dual_config,
					       &dev->i2c_adap);
		if (dev->dvb.frontend) {
			dev->dvb.frontend->ops.i2c_gate_ctrl = tda8290_i2c_gate_ctrl;