diff options
author | Patrick Boettcher <pb@linuxtv.org> | 2006-10-13 11:35:12 -0300 |
---|---|---|
committer | Patrick Boettcher <pb@linuxtv.org> | 2006-10-13 11:35:12 -0300 |
commit | 687c7cc04cf2c33a622fbf17e7bd84bbd85b2c91 (patch) | |
tree | d5b7fc70016f5c0f03adc27e652ac7ac533614b6 /linux/drivers | |
parent | bba88a87a5418d8793c4b52749e3d7b823958e8e (diff) | |
download | mediapointer-dvb-s2-687c7cc04cf2c33a622fbf17e7bd84bbd85b2c91.tar.gz mediapointer-dvb-s2-687c7cc04cf2c33a622fbf17e7bd84bbd85b2c91.tar.bz2 |
AGC command1/2 is board specific
From: Patrick Boettcher <pb@linuxtv.org>
Added config-struct-parameter to take board-specific AGC command 1 and 2 into account.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Diffstat (limited to 'linux/drivers')
-rw-r--r-- | linux/drivers/media/dvb/dvb-usb/dibusb-common.c | 11 | ||||
-rw-r--r-- | linux/drivers/media/dvb/frontends/dib3000mc.c | 2 | ||||
-rw-r--r-- | linux/drivers/media/dvb/frontends/dib3000mc.h | 3 |
3 files changed, 13 insertions, 3 deletions
diff --git a/linux/drivers/media/dvb/dvb-usb/dibusb-common.c b/linux/drivers/media/dvb/dvb-usb/dibusb-common.c index fd3a9902f..5143e426d 100644 --- a/linux/drivers/media/dvb/dvb-usb/dibusb-common.c +++ b/linux/drivers/media/dvb/dvb-usb/dibusb-common.c @@ -169,7 +169,7 @@ EXPORT_SYMBOL(dibusb_read_eeprom_byte); // Config Adjacent channels Perf -cal22 static struct dibx000_agc_config dib3000p_mt2060_agc_config = { .band_caps = BAND_VHF | BAND_UHF, - .setup = (0 << 15) | (0 << 14) | (1 << 13) | (1 << 12) | (29 << 0), + .setup = (1 << 8) | (5 << 5) | (1 << 4) | (1 << 3) | (0 << 2) | (2 << 0), .agc1_max = 48497, .agc1_min = 23593, @@ -196,10 +196,14 @@ static struct dib3000mc_config stk3000p_dib3000p_config = { .ln_adc_level = 0x1cc7, .output_mpeg2_in_188_bytes = 1, + + .agc_command1 = 1, + .agc_command2 = 1, }; static struct dibx000_agc_config dib3000p_panasonic_agc_config = { - .setup = (0 << 15) | (0 << 14) | (1 << 13) | (1 << 12) | (29 << 0), + .band_caps = BAND_VHF | BAND_UHF, + .setup = (1 << 8) | (5 << 5) | (1 << 4) | (1 << 3) | (0 << 2) | (2 << 0), .agc1_max = 56361, .agc1_min = 22282, @@ -226,6 +230,9 @@ static struct dib3000mc_config mod3000p_dib3000p_config = { .ln_adc_level = 0x1cc7, .output_mpeg2_in_188_bytes = 1, + + .agc_command1 = 1, + .agc_command2 = 1, }; int dibusb_dib3000mc_frontend_attach(struct dvb_usb_adapter *adap) diff --git a/linux/drivers/media/dvb/frontends/dib3000mc.c b/linux/drivers/media/dvb/frontends/dib3000mc.c index 555f7d43d..ca4158abc 100644 --- a/linux/drivers/media/dvb/frontends/dib3000mc.c +++ b/linux/drivers/media/dvb/frontends/dib3000mc.c @@ -369,7 +369,7 @@ static int dib3000mc_init(struct dvb_frontend *demod) /* agc */ dib3000mc_write_word(state, 36, state->cfg->max_time); - dib3000mc_write_word(state, 37, agc->setup); + dib3000mc_write_word(state, 37, (state->cfg->agc_command1 << 13) | (state->cfg->agc_command2 << 12) | (0x1d << 0)); dib3000mc_write_word(state, 38, state->cfg->pwm3_value); dib3000mc_write_word(state, 39, state->cfg->ln_adc_level); diff --git a/linux/drivers/media/dvb/frontends/dib3000mc.h b/linux/drivers/media/dvb/frontends/dib3000mc.h index b198cd5b1..0d6fdef77 100644 --- a/linux/drivers/media/dvb/frontends/dib3000mc.h +++ b/linux/drivers/media/dvb/frontends/dib3000mc.h @@ -28,6 +28,9 @@ struct dib3000mc_config { u16 max_time; u16 ln_adc_level; + u8 agc_command1 :1; + u8 agc_command2 :1; + u8 mobile_mode; u8 output_mpeg2_in_188_bytes; |