Commit 1dfb800f authored by Johannes Stezenbach's avatar Johannes Stezenbach Committed by Linus Torvalds
Browse files

[PATCH] dvb: tda1004x: allow N_I2C to be overridden by the card driver



allow N_I2C to be overridden by the card driver (Andreas Oberritter)

Signed-off-by: default avatarJohannes Stezenbach <js@linuxtv.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent dd102c75
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -406,7 +406,7 @@ static int tda10046_fwupload(struct dvb_frontend* fe)

	/* set parameters */
	tda1004x_write_byteI(state, TDA10046H_CONFPLL2, 10);
	tda1004x_write_byteI(state, TDA10046H_CONFPLL3, 0);
	tda1004x_write_byteI(state, TDA10046H_CONFPLL3, state->config->n_i2c);
	tda1004x_write_byteI(state, TDA10046H_FREQ_OFFSET, 99);
	tda1004x_write_byteI(state, TDA10046H_FREQ_PHY2_MSB, 0xd4);
	tda1004x_write_byteI(state, TDA10046H_FREQ_PHY2_LSB, 0x2c);
@@ -547,7 +547,7 @@ static int tda10046_init(struct dvb_frontend* fe)
	tda1004x_write_mask(state, TDA1004X_AUTO, 8, 0); // select HP stream
	tda1004x_write_mask(state, TDA1004X_CONFC1, 0x80, 0); // disable pulse killer
	tda1004x_write_byteI(state, TDA10046H_CONFPLL2, 10); // PLL M = 10
	tda1004x_write_byteI(state, TDA10046H_CONFPLL3, 0); // PLL P = N = 0
	tda1004x_write_byteI(state, TDA10046H_CONFPLL3, state->config->n_i2c); // PLL P = N = 0
	tda1004x_write_byteI(state, TDA10046H_FREQ_OFFSET, 99); // FREQOFFS = 99
	tda1004x_write_byteI(state, TDA10046H_FREQ_PHY2_MSB, 0xd4); // } PHY2 = -11221
	tda1004x_write_byteI(state, TDA10046H_FREQ_PHY2_LSB, 0x2c); // }
+3 −0
Original line number Diff line number Diff line
@@ -37,6 +37,9 @@ struct tda1004x_config
	/* Does the OCLK signal need inverted? */
	u8 invert_oclk;

	/* value of N_I2C of the CONF_PLL3 register */
	u8 n_i2c;

	/* PLL maintenance */
	int (*pll_init)(struct dvb_frontend* fe);
	int (*pll_set)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);