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

Commit 0b17d0ed authored by Hermann Pitton's avatar Hermann Pitton Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (8319): saa7134: Add support for analog only ASUSTeK P7131



saa7134: add a separate entry for the ASUSTeK P7131 analog only
         and do some eeprom detection to escape from the TVFM7135
         with the same PCI subsystem on auto detection.

Signed-off-by: default avatarHermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent cd257a6f
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -144,3 +144,4 @@
143 -> Beholder BeholdTV M63                    [5ace:6191]
143 -> Beholder BeholdTV M63                    [5ace:6191]
144 -> Beholder BeholdTV M6 Extra               [5ace:6193]
144 -> Beholder BeholdTV M6 Extra               [5ace:6193]
145 -> AVerMedia MiniPCI DVB-T Hybrid M103      [1461:f636]
145 -> AVerMedia MiniPCI DVB-T Hybrid M103      [1461:f636]
146 -> ASUSTeK P7131 Analog
+43 −0
Original line number Original line Diff line number Diff line
@@ -3520,6 +3520,39 @@ struct saa7134_board saa7134_boards[] = {
			.gpio = 0x0200000,
			.gpio = 0x0200000,
		},
		},
       },
       },
       [SAA7134_BOARD_ASUSTeK_P7131_ANALOG] = {
	       .name           = "ASUSTeK P7131 Analog",
	       .audio_clock    = 0x00187de7,
	       .tuner_type     = TUNER_PHILIPS_TDA8290,
	       .radio_type     = UNSET,
	       .tuner_addr     = ADDR_UNSET,
	       .radio_addr     = ADDR_UNSET,
	       .gpiomask       = 1 << 21,
	       .inputs         = {{
		       .name = name_tv,
		       .vmux = 1,
		       .amux = TV,
		       .tv   = 1,
		       .gpio = 0x0000000,
	       }, {
		       .name = name_comp1,
		       .vmux = 3,
		       .amux = LINE2,
	       }, {
		       .name = name_comp2,
		       .vmux = 0,
		       .amux = LINE2,
	       }, {
		       .name = name_svideo,
		       .vmux = 8,
		       .amux = LINE2,
	       } },
	       .radio = {
		       .name = name_radio,
		       .amux = TV,
		       .gpio = 0x0200000,
	       },
	},
	[SAA7134_BOARD_SABRENT_TV_PCB05] = {
	[SAA7134_BOARD_SABRENT_TV_PCB05] = {
		.name           = "Sabrent PCMCIA TV-PCB05",
		.name           = "Sabrent PCMCIA TV-PCB05",
		.audio_clock    = 0x00187de7,
		.audio_clock    = 0x00187de7,
@@ -5605,6 +5638,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
	case SAA7134_BOARD_FLYDVBT_LR301:
	case SAA7134_BOARD_FLYDVBT_LR301:
	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
       case SAA7134_BOARD_ASUSTeK_P7131_ANALOG:
	case SAA7134_BOARD_FLYDVBTDUO:
	case SAA7134_BOARD_FLYDVBTDUO:
	case SAA7134_BOARD_PROTEUS_2309:
	case SAA7134_BOARD_PROTEUS_2309:
	case SAA7134_BOARD_AVERMEDIA_A16AR:
	case SAA7134_BOARD_AVERMEDIA_A16AR:
@@ -5941,6 +5975,15 @@ int saa7134_board_init2(struct saa7134_dev *dev)
		i2c_transfer(&dev->i2c_adap, &msg, 1);
		i2c_transfer(&dev->i2c_adap, &msg, 1);
		break;
		break;
	}
	}
       case SAA7134_BOARD_ASUSTeK_TVFM7135:
       /* The card below is detected as card=53, but is different */
	       if (dev->autodetected && (dev->eedata[0x27] == 0x03)) {
		       dev->board = SAA7134_BOARD_ASUSTeK_P7131_ANALOG;
		       printk(KERN_INFO "%s: P7131 analog only, using "
						       "entry of %s\n",
		       dev->name, saa7134_boards[dev->board].name);
	       }
	       break;
	case SAA7134_BOARD_HAUPPAUGE_HVR1110:
	case SAA7134_BOARD_HAUPPAUGE_HVR1110:
		hauppauge_eeprom(dev, dev->eedata+0x80);
		hauppauge_eeprom(dev, dev->eedata+0x80);
		/* break intentionally omitted */
		/* break intentionally omitted */
+1 −0
Original line number Original line Diff line number Diff line
@@ -409,6 +409,7 @@ int saa7134_input_init1(struct saa7134_dev *dev)
		break;
		break;
	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
       case SAA7134_BOARD_ASUSTeK_P7131_ANALOG:
		ir_codes     = ir_codes_asus_pc39;
		ir_codes     = ir_codes_asus_pc39;
		mask_keydown = 0x0040000;
		mask_keydown = 0x0040000;
		rc5_gpio = 1;
		rc5_gpio = 1;
+1 −0
Original line number Original line Diff line number Diff line
@@ -267,6 +267,7 @@ struct saa7134_format {
#define SAA7134_BOARD_BEHOLD_M63      143
#define SAA7134_BOARD_BEHOLD_M63      143
#define SAA7134_BOARD_BEHOLD_M6_EXTRA    144
#define SAA7134_BOARD_BEHOLD_M6_EXTRA    144
#define SAA7134_BOARD_AVERMEDIA_M103    145
#define SAA7134_BOARD_AVERMEDIA_M103    145
#define SAA7134_BOARD_ASUSTeK_P7131_ANALOG 146


#define SAA7134_MAXBOARDS 8
#define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8
#define SAA7134_INPUT_MAX 8