Commit 5570dd02 authored by Patrick Boettcher's avatar Patrick Boettcher Committed by Mauro Carvalho Chehab

V4L/DVB (4750): AGC command1/2 is board specific

Added config-struct-parameter to take board-specific AGC command 1 and 2 into account.
Signed-off-by: default avatarPatrick Boettcher <pb@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 6a74216c
...@@ -169,7 +169,7 @@ EXPORT_SYMBOL(dibusb_read_eeprom_byte); ...@@ -169,7 +169,7 @@ EXPORT_SYMBOL(dibusb_read_eeprom_byte);
// Config Adjacent channels Perf -cal22 // Config Adjacent channels Perf -cal22
static struct dibx000_agc_config dib3000p_mt2060_agc_config = { static struct dibx000_agc_config dib3000p_mt2060_agc_config = {
.band_caps = BAND_VHF | BAND_UHF, .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_max = 48497,
.agc1_min = 23593, .agc1_min = 23593,
...@@ -196,10 +196,14 @@ static struct dib3000mc_config stk3000p_dib3000p_config = { ...@@ -196,10 +196,14 @@ static struct dib3000mc_config stk3000p_dib3000p_config = {
.ln_adc_level = 0x1cc7, .ln_adc_level = 0x1cc7,
.output_mpeg2_in_188_bytes = 1, .output_mpeg2_in_188_bytes = 1,
.agc_command1 = 1,
.agc_command2 = 1,
}; };
static struct dibx000_agc_config dib3000p_panasonic_agc_config = { 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_max = 56361,
.agc1_min = 22282, .agc1_min = 22282,
...@@ -226,6 +230,9 @@ static struct dib3000mc_config mod3000p_dib3000p_config = { ...@@ -226,6 +230,9 @@ static struct dib3000mc_config mod3000p_dib3000p_config = {
.ln_adc_level = 0x1cc7, .ln_adc_level = 0x1cc7,
.output_mpeg2_in_188_bytes = 1, .output_mpeg2_in_188_bytes = 1,
.agc_command1 = 1,
.agc_command2 = 1,
}; };
int dibusb_dib3000mc_frontend_attach(struct dvb_usb_adapter *adap) int dibusb_dib3000mc_frontend_attach(struct dvb_usb_adapter *adap)
......
...@@ -345,7 +345,7 @@ static int dib3000mc_init(struct dvb_frontend *demod) ...@@ -345,7 +345,7 @@ static int dib3000mc_init(struct dvb_frontend *demod)
/* agc */ /* agc */
dib3000mc_write_word(state, 36, state->cfg->max_time); 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, 38, state->cfg->pwm3_value);
dib3000mc_write_word(state, 39, state->cfg->ln_adc_level); dib3000mc_write_word(state, 39, state->cfg->ln_adc_level);
......
...@@ -28,6 +28,9 @@ struct dib3000mc_config { ...@@ -28,6 +28,9 @@ struct dib3000mc_config {
u16 max_time; u16 max_time;
u16 ln_adc_level; u16 ln_adc_level;
u8 agc_command1 :1;
u8 agc_command2 :1;
u8 mobile_mode; u8 mobile_mode;
u8 output_mpeg2_in_188_bytes; u8 output_mpeg2_in_188_bytes;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment