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

Commit 0004fd59 authored by Markus Rechberger's avatar Markus Rechberger Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (3291): Added support for xc3028 analogue tuner (Hauppauge HVR900, Terratec Hybrid XS)



Added support for xc3028 to v4l which adds support for:
 * Terratec Hybrid XS (analogue)
 * Hauppauge HVR 900 (analogue)


Signed-off-by: default avatarMarkus Rechberger <mrechberger@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 1d519605
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -69,3 +69,4 @@ tuner=67 - Philips TD1316 Hybrid Tuner
tuner=68 - Philips TUV1236D ATSC/NTSC dual in
tuner=69 - Tena TNF 5335 MF
tuner=70 - Samsung TCPN 2121P30A
tuner=71 - Xceive xc3028
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ zoran-objs := zr36120.o zr36120_i2c.o zr36120_mem.o
zr36067-objs	:=	zoran_procfs.o zoran_device.o \
			zoran_driver.o zoran_card.o
tuner-objs	:=	tuner-core.o tuner-types.o tuner-simple.o \
			mt20xx.o tda8290.o tea5767.o
			mt20xx.o tda8290.o tea5767.o xc3028.o

msp3400-objs	:=	msp3400-driver.o msp3400-kthreads.o

+2 −2
Original line number Diff line number Diff line
@@ -158,8 +158,8 @@ struct em28xx_board em28xx_boards[] = {
		.name         = "Hauppauge WinTV HVR 900",
		.vchannels    = 3,
		.norm         = VIDEO_MODE_PAL,
		.has_tuner    = 0,
		.tda9887_conf = TDA9887_PRESENT,
		.tuner_type   = TUNER_XCEIVE_XC3028,
		.has_tuner    = 1,
		.decoder      = EM28XX_TVP5150,
		.input          = {{
@@ -180,8 +180,8 @@ struct em28xx_board em28xx_boards[] = {
		.name         = "Terratec Hybrid XS",
		.vchannels    = 3,
		.norm         = VIDEO_MODE_PAL,
		.has_tuner    = 0,
		.tda9887_conf = TDA9887_PRESENT,
		.tuner_type   = TUNER_XCEIVE_XC3028,
		.has_tuner    = 1,
		.decoder      = EM28XX_TVP5150,
		.input          = {{
+3 −0
Original line number Diff line number Diff line
@@ -217,6 +217,9 @@ static void set_type(struct i2c_client *c, unsigned int type,
		i2c_master_send(c,buffer,4);
		default_tuner_init(c);
		break;
	case TUNER_XCEIVE_XC3028:
		xc3028_init(c);
		break;
	default:
		default_tuner_init(c);
		break;
+21 −0
Original line number Diff line number Diff line
@@ -983,6 +983,23 @@ static struct tuner_params tuner_samsung_tcpn_2121p30a_params[] = {
	},
};

/* ------------ TUNER_XCEIVE_XC3028 - Xceive xc3028 ------------ */

static struct tuner_range tuner_xceive_xc3028_ranges[] = {
	{ 16 * 140.25 /*MHz*/, 0x02, },
	{ 16 * 463.25 /*MHz*/, 0x04, },
	{ 16 * 999.99        , 0x01, },
};

static struct tuner_params tuner_xceive_xc3028_params[] = {
	{
		.type   = TUNER_XCEIVE_XC3028,
		.ranges = tuner_xceive_xc3028_ranges,
		.count  = ARRAY_SIZE(tuner_xceive_xc3028_ranges),
	},
};


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

struct tunertype tuners[] = {
@@ -1350,6 +1367,10 @@ struct tunertype tuners[] = {
		.params = tuner_samsung_tcpn_2121p30a_params,
		.count  = ARRAY_SIZE(tuner_samsung_tcpn_2121p30a_params),
	},
	[TUNER_XCEIVE_XC3028] = { /* Xceive 3028 */
		.name	= "Xceive xc3028",
		.params = tuner_xceive_xc3028_params,
	},
};

unsigned const int tuner_count = ARRAY_SIZE(tuners);
Loading