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

Commit f0ba356c authored by Adrian Pardini's avatar Adrian Pardini Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (7192): Adds support for Genius TVGo A11MCE

parent 57566ad2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -130,3 +130,4 @@
129 -> Beholder BeholdTV 607 / BeholdTV 609     [5ace:6070,5ace:6071,5ace:6072,5ace:6073,5ace:6090,5ace:6091,5ace:6092,5ace:6093]
130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193]
131 -> Twinhan Hybrid DTV-DVB 3056 PCI          [1822:0022]
132 -> Genius TVGO AM11MCE
+46 −0
Original line number Diff line number Diff line
@@ -1987,3 +1987,49 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = {
};

EXPORT_SYMBOL_GPL(ir_codes_behold);

/*
 * Remote control for the Genius TVGO A11MCE
 * Adrian Pardini <pardo.bsso@gmail.com>
 */
IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
	/* Keys 0 to 9 */
	[0x48] = KEY_0,
	[0x09] = KEY_1,
	[0x1d] = KEY_2,
	[0x1f] = KEY_3,
	[0x19] = KEY_4,
	[0x1b] = KEY_5,
	[0x11] = KEY_6,
	[0x17] = KEY_7,
	[0x12] = KEY_8,
	[0x16] = KEY_9,

	[0x54] = KEY_RECORD,		/* recording */
	[0x06] = KEY_MUTE,		/* mute */
	[0x10] = KEY_POWER,
	[0x40] = KEY_LAST,		/* recall */
	[0x4c] = KEY_CHANNELUP,		/* channel / program + */
	[0x00] = KEY_CHANNELDOWN,	/* channel / program - */
	[0x0d] = KEY_VOLUMEUP,
	[0x15] = KEY_VOLUMEDOWN,
	[0x4d] = KEY_OK,		/* also labeled as Pause */
	[0x1c] = KEY_ZOOM,		/* full screen and Stop*/
	[0x02] = KEY_MODE,		/* AV Source or Rewind*/
	[0x04] = KEY_LIST,		/* -/-- */
	/* small arrows above numbers */
	[0x1a] = KEY_NEXT,		/* also Fast Forward */
	[0x0e] = KEY_PREVIOUS,	/* also Rewind */
	/* these are in a rather non standard layout and have
	an alternate name written */
	[0x1e] = KEY_UP,		/* Video Setting */
	[0x0a] = KEY_DOWN,		/* Video Default */
	[0x05] = KEY_LEFT,		/* Snapshot */
	[0x0c] = KEY_RIGHT,		/* Hide Panel */
	/* Four buttons without label */
	[0x49] = KEY_RED,
	[0x0b] = KEY_GREEN,
	[0x13] = KEY_YELLOW,
	[0x50] = KEY_BLUE,
};
EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
+39 −0
Original line number Diff line number Diff line
@@ -3953,6 +3953,44 @@ struct saa7134_board saa7134_boards[] = {
			.gpio   = 0x0200000,
		},
	},
	[SAA7134_BOARD_GENIUS_TVGO_A11MCE] = {
		/* Adrian Pardini <pardo.bsso@gmail.com> */
		.name		= "Genius TVGO AM11MCE",
		.audio_clock	= 0x00200000,
		.tuner_type	= TUNER_TNF_5335MF,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.gpiomask       = 0xf000,
		.inputs         = {{
			.name = name_tv_mono,
			.vmux = 1,
			.amux = LINE2,
			.gpio = 0x0000,
			.tv   = 1,
		}, {
			.name = name_comp1,
			.vmux = 3,
			.amux = LINE1,
			.gpio = 0x2000,
			.tv = 1
		}, {
			.name = name_svideo,
			.vmux = 8,
			.amux = LINE1,
			.gpio = 0x2000,
	} },
		.radio = {
			.name = name_radio,
			.amux = LINE2,
			.gpio = 0x1000,
		},
		.mute = {
			.name = name_mute,
			.amux = LINE2,
			.gpio = 0x6000,
		},
	},
};

const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -5054,6 +5092,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
	case SAA7134_BOARD_BEHOLD_409:
	case SAA7134_BOARD_BEHOLD_505FM:
	case SAA7134_BOARD_BEHOLD_507_9FM:
	case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
		dev->has_remote = SAA7134_REMOTE_GPIO;
		break;
	case SAA7134_BOARD_FLYDVBS_LR300:
+6 −0
Original line number Diff line number Diff line
@@ -406,6 +406,12 @@ int saa7134_input_init1(struct saa7134_dev *dev)
		mask_keyup   = 0x8000000;
		polling      = 50; //ms
		break;
	case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
		ir_codes     = ir_codes_genius_tvgo_a11mce;
		mask_keycode = 0xff;
		mask_keydown = 0xf00000;
		polling = 50; /* ms */
		break;
	}
	if (NULL == ir_codes) {
		printk("%s: Oops: IR config error [card=%d]\n",
+1 −0
Original line number Diff line number Diff line
@@ -253,6 +253,7 @@ struct saa7134_format {
#define SAA7134_BOARD_BEHOLD_607_9FM	129
#define SAA7134_BOARD_BEHOLD_M6		130
#define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131
#define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132

#define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8
Loading