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

Commit 6cff36b2 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] tda18212: add support for ATSC and clearQAM on tda18272



tda18272 is programmed just like tda18212, but it also
supports ClearQAM and ATSC.

Add support for them. Tested with a Kworld UB435-Q on both
8VSB and 256QAM modes.

Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 4fd3281a
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -150,6 +150,8 @@ static int tda18212_set_params(struct dvb_frontend *fe)
	#define DVBT2_8  5
	#define DVBT2_8  5
	#define DVBC_6   6
	#define DVBC_6   6
	#define DVBC_8   7
	#define DVBC_8   7
	#define ATSC_VSB 8
	#define ATSC_QAM 9
	static const u8 bw_params[][3] = {
	static const u8 bw_params[][3] = {
		     /* reg:   0f    13    23 */
		     /* reg:   0f    13    23 */
		[DVBT_6]  = { 0xb3, 0x20, 0x03 },
		[DVBT_6]  = { 0xb3, 0x20, 0x03 },
@@ -160,6 +162,8 @@ static int tda18212_set_params(struct dvb_frontend *fe)
		[DVBT2_8] = { 0xbc, 0x22, 0x01 },
		[DVBT2_8] = { 0xbc, 0x22, 0x01 },
		[DVBC_6]  = { 0x92, 0x50, 0x03 },
		[DVBC_6]  = { 0x92, 0x50, 0x03 },
		[DVBC_8]  = { 0x92, 0x53, 0x03 },
		[DVBC_8]  = { 0x92, 0x53, 0x03 },
		[ATSC_VSB] = { 0x7d, 0x20, 0x63 },
		[ATSC_QAM] = { 0x7d, 0x20, 0x63 },
	};
	};


	dev_dbg(&priv->i2c->dev,
	dev_dbg(&priv->i2c->dev,
@@ -171,6 +175,14 @@ static int tda18212_set_params(struct dvb_frontend *fe)
		fe->ops.i2c_gate_ctrl(fe, 1); /* open I2C-gate */
		fe->ops.i2c_gate_ctrl(fe, 1); /* open I2C-gate */


	switch (c->delivery_system) {
	switch (c->delivery_system) {
	case SYS_ATSC:
		if_khz = priv->cfg->if_atsc_vsb;
		i = ATSC_VSB;
		break;
	case SYS_DVBC_ANNEX_B:
		if_khz = priv->cfg->if_atsc_qam;
		i = ATSC_QAM;
		break;
	case SYS_DVBT:
	case SYS_DVBT:
		switch (c->bandwidth_hz) {
		switch (c->bandwidth_hz) {
		case 6000000:
		case 6000000:
+2 −0
Original line number Original line Diff line number Diff line
@@ -35,6 +35,8 @@ struct tda18212_config {
	u16 if_dvbt2_7;
	u16 if_dvbt2_7;
	u16 if_dvbt2_8;
	u16 if_dvbt2_8;
	u16 if_dvbc;
	u16 if_dvbc;
	u16 if_atsc_vsb;
	u16 if_atsc_qam;
};
};


#if IS_ENABLED(CONFIG_MEDIA_TUNER_TDA18212)
#if IS_ENABLED(CONFIG_MEDIA_TUNER_TDA18212)