diff options
author | Patrick Boettcher <pb@linuxtv.org> | 2007-07-30 11:49:04 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:03:44 -0400 |
commit | 01373a5c97ced83d4cb520f7e56c80454a198bfb (patch) | |
tree | 4423207d7f0c50de6fa3672943c07ff49d5da773 /drivers/media/dvb/frontends/dib7000m.c | |
parent | b6884a17fc70e979ef34e4b5560988b522bb50a0 (diff) |
V4L/DVB (5955): Add support for DiB7070-based devices
This changeset adds support for DiB7070P-based devices by adding the
dib0070-driver and putting the appropriate layouts into
dib0700_devices.c
It also includes a new firmware for the dib0700 which is necessary to
make the DiB7070-boards work and it also should fix the i2c-problems
on some boards.
Signed-off-by: Jean-Philippe Sibers <jpsibers@dibcom.fr>
Signed-off-by: Patrick Boettcher <pboettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/frontends/dib7000m.c')
-rw-r--r-- | drivers/media/dvb/frontends/dib7000m.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/media/dvb/frontends/dib7000m.c b/drivers/media/dvb/frontends/dib7000m.c index 608156a691de..0ad9f3eb20a6 100644 --- a/drivers/media/dvb/frontends/dib7000m.c +++ b/drivers/media/dvb/frontends/dib7000m.c | |||
@@ -42,9 +42,9 @@ struct dib7000m_state { | |||
42 | u32 timf_default; | 42 | u32 timf_default; |
43 | u32 internal_clk; | 43 | u32 internal_clk; |
44 | 44 | ||
45 | uint8_t div_force_off : 1; | 45 | u8 div_force_off : 1; |
46 | uint8_t div_state : 1; | 46 | u8 div_state : 1; |
47 | uint16_t div_sync_wait; | 47 | u16 div_sync_wait; |
48 | 48 | ||
49 | u16 revision; | 49 | u16 revision; |
50 | 50 | ||
@@ -302,7 +302,7 @@ static int dib7000m_set_diversity_in(struct dvb_frontend *demod, int onoff) | |||
302 | dprintk( "diversity combination deactivated - forced by COFDM parameters"); | 302 | dprintk( "diversity combination deactivated - forced by COFDM parameters"); |
303 | onoff = 0; | 303 | onoff = 0; |
304 | } | 304 | } |
305 | state->div_state = (uint8_t)onoff; | 305 | state->div_state = (u8)onoff; |
306 | 306 | ||
307 | if (onoff) { | 307 | if (onoff) { |
308 | dib7000m_write_word(state, 263 + state->reg_offs, 6); | 308 | dib7000m_write_word(state, 263 + state->reg_offs, 6); |
@@ -620,7 +620,7 @@ static int dib7000m_update_lna(struct dib7000m_state *state) | |||
620 | u16 dyn_gain; | 620 | u16 dyn_gain; |
621 | 621 | ||
622 | if (state->cfg.update_lna) { | 622 | if (state->cfg.update_lna) { |
623 | // read dyn_gain here (because it is demod-dependent and not tuner) | 623 | // read dyn_gain here (because it is demod-dependent and not fe) |
624 | dyn_gain = dib7000m_read_word(state, 390); | 624 | dyn_gain = dib7000m_read_word(state, 390); |
625 | 625 | ||
626 | if (state->cfg.update_lna(&state->demod,dyn_gain)) { // LNA has changed | 626 | if (state->cfg.update_lna(&state->demod,dyn_gain)) { // LNA has changed |
@@ -754,7 +754,7 @@ static int dib7000m_agc_startup(struct dvb_frontend *demod, struct dvb_frontend_ | |||
754 | break; | 754 | break; |
755 | 755 | ||
756 | case 3: /* split search ended */ | 756 | case 3: /* split search ended */ |
757 | agc_split = (uint8_t)dib7000m_read_word(state, 392); /* store the split value for the next time */ | 757 | agc_split = (u8)dib7000m_read_word(state, 392); /* store the split value for the next time */ |
758 | dib7000m_write_word(state, 75, dib7000m_read_word(state, 390)); /* set AGC gain start value */ | 758 | dib7000m_write_word(state, 75, dib7000m_read_word(state, 390)); /* set AGC gain start value */ |
759 | 759 | ||
760 | dib7000m_write_word(state, 72, cfg_72 & ~(1 << 4)); /* std AGC loop */ | 760 | dib7000m_write_word(state, 72, cfg_72 & ~(1 << 4)); /* std AGC loop */ |