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

Commit d7304dee authored by Trent Piepho's avatar Trent Piepho Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (4533): Tda9887: add configuration setting for L standard PLL gating



Add a tuner config parameter for TDA9887, default_pll_gating_18, that
changes the L standard PLL gating value from 36% to 0% (datasheet says
0%, tda9887 code says 18%).
Turn this on for Microtune 4049FM5, as recomended by tuner datasheet.

Signed-off-by: default avatarTrent Piepho <xyzzy@speakeasy.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 62a7b3e2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -480,6 +480,8 @@ static int tda9887_set_config(struct tuner *t, char *buf)
	}
	if ((t->tda9887_config & TDA9887_INTERCARRIER_NTSC) && (t->std & V4L2_STD_NTSC))
		buf[1] &= ~cQSS;
	if (t->tda9887_config & TDA9887_GATING_18)
		buf[3] &= ~cGating_36;
	return 0;
}

+2 −0
Original line number Diff line number Diff line
@@ -331,6 +331,8 @@ static void default_set_tv_freq(struct i2c_client *c, unsigned int freq)
			else if (params->default_top_high)
				config |= TDA9887_TOP(params->default_top_high);
		}
		if (params->default_pll_gating_18)
			config |= TDA9887_GATING_18;
		i2c_clients_command(c->adapter, TDA9887_SET_CONFIG, &config);
	}
	tuner_dbg("tv 0x%02x 0x%02x 0x%02x 0x%02x\n",
+1 −0
Original line number Diff line number Diff line
@@ -650,6 +650,7 @@ static struct tuner_params tuner_microtune_4049_fm5_params[] = {
		.count  = ARRAY_SIZE(tuner_temic_4009f_5_pal_ranges),
		.has_tda9887 = 1,
		.port1_invert_for_secam_lc = 1,
		.default_pll_gating_18 = 1,
	},
};

+3 −0
Original line number Diff line number Diff line
@@ -72,6 +72,9 @@ struct tuner_params {
	unsigned int port2_invert_for_secam_lc:1;
	/* Some cards require PORT1 to be 1 for mono Radio FM and 0 for stereo. */
	unsigned int port1_set_for_fm_mono:1;
	/* Select 18% (or according to datasheet 0%) L standard PLL gating,
	   vs the driver default of 36%. */
	unsigned int default_pll_gating_18:1;
	/* Default tda9887 TOP value in dB for the low band. Default is 0.
	   Range: -16:+15 */
	signed int default_top_low:5;
+1 −0
Original line number Diff line number Diff line
@@ -144,6 +144,7 @@ extern int tuner_debug;
#define TDA9887_DEEMPHASIS_50 		(2<<16)
#define TDA9887_DEEMPHASIS_75 		(3<<16)
#define TDA9887_AUTOMUTE 		(1<<18)
#define TDA9887_GATING_18		(1<<19)

#ifdef __KERNEL__