Commit b682ad1d authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab
Browse files

[media] tda18212: add DVB-T2 support

parent 33cdf5b0
Loading
Loading
Loading
Loading
+40 −9
Original line number Diff line number Diff line
@@ -136,12 +136,24 @@ static int tda18212_set_params(struct dvb_frontend *fe,
	int ret, i;
	u32 if_khz;
	u8 buf[9];
	#define DVBT_6   0
	#define DVBT_7   1
	#define DVBT_8   2
	#define DVBT2_6  3
	#define DVBT2_7  4
	#define DVBT2_8  5
	#define DVBC_6   6
	#define DVBC_8   7
	static const u8 bw_params[][3] = {
		/*  0f    13    23 */
		{ 0xb3, 0x20, 0x03 }, /* DVB-T 6 MHz */
		{ 0xb3, 0x31, 0x01 }, /* DVB-T 7 MHz */
		{ 0xb3, 0x22, 0x01 }, /* DVB-T 8 MHz */
		{ 0x92, 0x53, 0x03 }, /* DVB-C */
		     /* reg:   0f    13    23 */
		[DVBT_6]  = { 0xb3, 0x20, 0x03 },
		[DVBT_7]  = { 0xb3, 0x31, 0x01 },
		[DVBT_8]  = { 0xb3, 0x22, 0x01 },
		[DVBT2_6] = { 0xbc, 0x20, 0x03 },
		[DVBT2_7] = { 0xbc, 0x72, 0x03 },
		[DVBT2_8] = { 0xbc, 0x22, 0x01 },
		[DVBC_6]  = { 0x92, 0x50, 0x03 },
		[DVBC_8]  = { 0x92, 0x53, 0x03 },
	};

	dbg("delsys=%d RF=%d BW=%d\n",
@@ -155,15 +167,34 @@ static int tda18212_set_params(struct dvb_frontend *fe,
		switch (c->bandwidth_hz) {
		case 6000000:
			if_khz = priv->cfg->if_dvbt_6;
			i = 0;
			i = DVBT_6;
			break;
		case 7000000:
			if_khz = priv->cfg->if_dvbt_7;
			i = 1;
			i = DVBT_7;
			break;
		case 8000000:
			if_khz = priv->cfg->if_dvbt_8;
			i = 2;
			i = DVBT_8;
			break;
		default:
			ret = -EINVAL;
			goto error;
		}
		break;
	case SYS_DVBT2:
		switch (c->bandwidth_hz) {
		case 6000000:
			if_khz = priv->cfg->if_dvbt2_6;
			i = DVBT2_6;
			break;
		case 7000000:
			if_khz = priv->cfg->if_dvbt2_7;
			i = DVBT2_7;
			break;
		case 8000000:
			if_khz = priv->cfg->if_dvbt2_8;
			i = DVBT2_8;
			break;
		default:
			ret = -EINVAL;
@@ -172,7 +203,7 @@ static int tda18212_set_params(struct dvb_frontend *fe,
		break;
	case SYS_DVBC_ANNEX_AC:
		if_khz = priv->cfg->if_dvbc;
		i = 3;
		i = DVBC_8;
		break;
	default:
		ret = -EINVAL;
+4 −0
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ struct tda18212_config {
	u16 if_dvbt_6;
	u16 if_dvbt_7;
	u16 if_dvbt_8;
	u16 if_dvbt2_5;
	u16 if_dvbt2_6;
	u16 if_dvbt2_7;
	u16 if_dvbt2_8;
	u16 if_dvbc;
};