/* The PLLs need to be reprogrammed after sleep */
tda10046_init_plls(fe);
+ tda1004x_write_mask(state, TDA1004X_CONFADC2, 0xc0, 0);
/* don't re-upload unless necessary */
if (tda1004x_check_upload_ok(state) == 0)
tda1004x_write_mask(state, TDA10046H_CONF_POLARITY, 0x0f,
(gpio_conf & 0x0f) ^ 0x0a);
+ tda1004x_write_mask(state, TDA1004X_CONFADC2, 0xc0, 0xc0);
tda1004x_write_mask(state, TDA1004X_CONFC4, 1, 1);
break;
}
{
struct tda827x_priv *priv = NULL;
u8 data;
+ u8 sb_msg[] = { 0x30, 0xd0 };
struct i2c_msg msg = { .addr = addr, .flags = I2C_M_RD,
.buf = &data, .len = 1 };
dprintk("%s:\n", __FUNCTION__);
priv->i2c_addr = addr;
priv->i2c_adap = i2c;
priv->cfg = cfg;
+
+ msg.flags = 0;
+ msg.buf = sb_msg;
+ msg.len = sizeof(sb_msg);
+
if ((data & 0x3c) == 0) {
dprintk("tda827x tuner found\n");
memcpy(&fe->ops.tuner_ops, &tda827xo_tuner_ops, sizeof(struct dvb_tuner_ops));
} else {
dprintk("tda827xa tuner found\n");
memcpy(&fe->ops.tuner_ops, &tda827xa_tuner_ops, sizeof(struct dvb_tuner_ops));
+ sb_msg[1] = 0x90;
}
fe->tuner_priv = priv;
-
+ i2c_transfer(i2c, &msg, 1);
return fe;
}
EXPORT_SYMBOL(tda827x_attach);