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

Commit 1985f6fb authored by Aivar Päkk's avatar Aivar Päkk Committed by Mauro Carvalho Chehab
Browse files

[media] KWorld 355U and 380U support



This patch adds Kworld 355U and 380U support

Signed-off-by: default avatarAivar Päkk <aivar11@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent f36472da
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -856,6 +856,10 @@ struct em28xx_board em28xx_boards[] = {
	[EM2870_BOARD_KWORLD_355U] = {
		.name         = "Kworld 355 U DVB-T",
		.valid        = EM28XX_BOARD_NOT_VALIDATED,
		.tuner_type   = TUNER_ABSENT,
		.tuner_gpio   = default_tuner_gpio,
		.has_dvb      = 1,
		.dvb_gpio     = default_digital,
	},
	[EM2870_BOARD_PINNACLE_PCTV_DVB] = {
		.name         = "Pinnacle PCTV DVB-T",
@@ -1947,6 +1951,8 @@ struct usb_device_id em28xx_id_table[] = {
			.driver_info = EM2800_BOARD_GRABBEEX_USB2800 },
	{ USB_DEVICE(0xeb1a, 0xe357),
			.driver_info = EM2870_BOARD_KWORLD_355U },
	{ USB_DEVICE(0xeb1a, 0xe359),
			.driver_info = EM2870_BOARD_KWORLD_355U },
	{ USB_DEVICE(0x1b80, 0xe302),
			.driver_info = EM2820_BOARD_PINNACLE_DVC_90 }, /* Kaiser Baas Video to DVD maker */
	{ USB_DEVICE(0x1b80, 0xe304),
+20 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@
#include "drxk.h"
#include "tda10071.h"
#include "a8293.h"
#include "qt1010.h"

MODULE_DESCRIPTION("driver for em28xx based DVB cards");
MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>");
@@ -524,6 +525,17 @@ static const struct a8293_config em28xx_a8293_config = {
	.i2c_addr = 0x08, /* (0x10 >> 1) */
};

static struct zl10353_config em28xx_zl10353_no_i2c_gate_dev = {
	.demod_address = (0x1e >> 1),
	.disable_i2c_gate_ctrl = 1,
	.no_tuner = 1,
	.parallel_ts = 1,
};
static struct qt1010_config em28xx_qt1010_config = {
	.i2c_address = 0x62

};

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

static int em28xx_attach_xc3028(u8 addr, struct em28xx *dev)
@@ -776,6 +788,14 @@ static int em28xx_dvb_init(struct em28xx *dev)
			goto out_free;
		}
		break;
	case EM2870_BOARD_KWORLD_355U:
		dvb->fe[0] = dvb_attach(zl10353_attach,
					   &em28xx_zl10353_no_i2c_gate_dev,
					   &dev->i2c_adap);
		if (dvb->fe[0] != NULL)
			dvb_attach(qt1010_attach, dvb->fe[0],
				   &dev->i2c_adap, &em28xx_qt1010_config);
		break;
	case EM2883_BOARD_KWORLD_HYBRID_330U:
	case EM2882_BOARD_EVGA_INDTUBE:
		dvb->fe[0] = dvb_attach(s5h1409_attach,