summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Boettcher <pb@linuxtv.org>2006-10-13 11:35:12 -0300
committerPatrick Boettcher <pb@linuxtv.org>2006-10-13 11:35:12 -0300
commit687c7cc04cf2c33a622fbf17e7bd84bbd85b2c91 (patch)
treed5b7fc70016f5c0f03adc27e652ac7ac533614b6
parentbba88a87a5418d8793c4b52749e3d7b823958e8e (diff)
downloadmediapointer-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>
-rw-r--r--linux/drivers/media/dvb/dvb-usb/dibusb-common.c11
-rw-r--r--linux/drivers/media/dvb/frontends/dib3000mc.c2
-rw-r--r--linux/drivers/media/dvb/frontends/dib3000mc.h3
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;