diff options
Diffstat (limited to 'drivers/media/dvb-frontends/af9033.c')
-rw-r--r-- | drivers/media/dvb-frontends/af9033.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/af9033.c b/drivers/media/dvb-frontends/af9033.c index 464ad878490b..c9cad989b8b9 100644 --- a/drivers/media/dvb-frontends/af9033.c +++ b/drivers/media/dvb-frontends/af9033.c | |||
@@ -318,6 +318,10 @@ static int af9033_init(struct dvb_frontend *fe) | |||
318 | len = ARRAY_SIZE(tuner_init_fc2580); | 318 | len = ARRAY_SIZE(tuner_init_fc2580); |
319 | init = tuner_init_fc2580; | 319 | init = tuner_init_fc2580; |
320 | break; | 320 | break; |
321 | case AF9033_TUNER_FC0012: | ||
322 | len = ARRAY_SIZE(tuner_init_fc0012); | ||
323 | init = tuner_init_fc0012; | ||
324 | break; | ||
321 | default: | 325 | default: |
322 | dev_dbg(&state->i2c->dev, "%s: unsupported tuner ID=%d\n", | 326 | dev_dbg(&state->i2c->dev, "%s: unsupported tuner ID=%d\n", |
323 | __func__, state->cfg.tuner); | 327 | __func__, state->cfg.tuner); |
@@ -331,6 +335,20 @@ static int af9033_init(struct dvb_frontend *fe) | |||
331 | goto err; | 335 | goto err; |
332 | } | 336 | } |
333 | 337 | ||
338 | if (state->cfg.ts_mode == AF9033_TS_MODE_SERIAL) { | ||
339 | ret = af9033_wr_reg_mask(state, 0x00d91c, 0x01, 0x01); | ||
340 | if (ret < 0) | ||
341 | goto err; | ||
342 | |||
343 | ret = af9033_wr_reg_mask(state, 0x00d917, 0x00, 0x01); | ||
344 | if (ret < 0) | ||
345 | goto err; | ||
346 | |||
347 | ret = af9033_wr_reg_mask(state, 0x00d916, 0x00, 0x01); | ||
348 | if (ret < 0) | ||
349 | goto err; | ||
350 | } | ||
351 | |||
334 | state->bandwidth_hz = 0; /* force to program all parameters */ | 352 | state->bandwidth_hz = 0; /* force to program all parameters */ |
335 | 353 | ||
336 | return 0; | 354 | return 0; |