diff options
author | Patrick Boettcher <pb@linuxtv.org> | 2006-10-13 10:35:12 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-10-13 23:44:29 -0400 |
commit | 5570dd02ca7fb2e28d32516fae05031d48711aa5 (patch) | |
tree | 809ee47e3332a0b209e77e01fd2fcedff616c222 | |
parent | 6a74216c4590e4d322a45e1085f3553b1fb07f06 (diff) |
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: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/dvb/dvb-usb/dibusb-common.c | 11 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/dib3000mc.c | 2 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/dib3000mc.h | 3 |
3 files changed, 13 insertions, 3 deletions
diff --git a/drivers/media/dvb/dvb-usb/dibusb-common.c b/drivers/media/dvb/dvb-usb/dibusb-common.c index fd3a9902f98d..5143e426d283 100644 --- a/drivers/media/dvb/dvb-usb/dibusb-common.c +++ b/drivers/media/dvb/dvb-usb/dibusb-common.c | |||
@@ -169,7 +169,7 @@ EXPORT_SYMBOL(dibusb_read_eeprom_byte); | |||
169 | // Config Adjacent channels Perf -cal22 | 169 | // Config Adjacent channels Perf -cal22 |
170 | static struct dibx000_agc_config dib3000p_mt2060_agc_config = { | 170 | static struct dibx000_agc_config dib3000p_mt2060_agc_config = { |
171 | .band_caps = BAND_VHF | BAND_UHF, | 171 | .band_caps = BAND_VHF | BAND_UHF, |
172 | .setup = (0 << 15) | (0 << 14) | (1 << 13) | (1 << 12) | (29 << 0), | 172 | .setup = (1 << 8) | (5 << 5) | (1 << 4) | (1 << 3) | (0 << 2) | (2 << 0), |
173 | 173 | ||
174 | .agc1_max = 48497, | 174 | .agc1_max = 48497, |
175 | .agc1_min = 23593, | 175 | .agc1_min = 23593, |
@@ -196,10 +196,14 @@ static struct dib3000mc_config stk3000p_dib3000p_config = { | |||
196 | .ln_adc_level = 0x1cc7, | 196 | .ln_adc_level = 0x1cc7, |
197 | 197 | ||
198 | .output_mpeg2_in_188_bytes = 1, | 198 | .output_mpeg2_in_188_bytes = 1, |
199 | |||
200 | .agc_command1 = 1, | ||
201 | .agc_command2 = 1, | ||
199 | }; | 202 | }; |
200 | 203 | ||
201 | static struct dibx000_agc_config dib3000p_panasonic_agc_config = { | 204 | static struct dibx000_agc_config dib3000p_panasonic_agc_config = { |
202 | .setup = (0 << 15) | (0 << 14) | (1 << 13) | (1 << 12) | (29 << 0), | 205 | .band_caps = BAND_VHF | BAND_UHF, |
206 | .setup = (1 << 8) | (5 << 5) | (1 << 4) | (1 << 3) | (0 << 2) | (2 << 0), | ||
203 | 207 | ||
204 | .agc1_max = 56361, | 208 | .agc1_max = 56361, |
205 | .agc1_min = 22282, | 209 | .agc1_min = 22282, |
@@ -226,6 +230,9 @@ static struct dib3000mc_config mod3000p_dib3000p_config = { | |||
226 | .ln_adc_level = 0x1cc7, | 230 | .ln_adc_level = 0x1cc7, |
227 | 231 | ||
228 | .output_mpeg2_in_188_bytes = 1, | 232 | .output_mpeg2_in_188_bytes = 1, |
233 | |||
234 | .agc_command1 = 1, | ||
235 | .agc_command2 = 1, | ||
229 | }; | 236 | }; |
230 | 237 | ||
231 | int dibusb_dib3000mc_frontend_attach(struct dvb_usb_adapter *adap) | 238 | int dibusb_dib3000mc_frontend_attach(struct dvb_usb_adapter *adap) |
diff --git a/drivers/media/dvb/frontends/dib3000mc.c b/drivers/media/dvb/frontends/dib3000mc.c index ccc813b525d6..3561a777568c 100644 --- a/drivers/media/dvb/frontends/dib3000mc.c +++ b/drivers/media/dvb/frontends/dib3000mc.c | |||
@@ -345,7 +345,7 @@ static int dib3000mc_init(struct dvb_frontend *demod) | |||
345 | 345 | ||
346 | /* agc */ | 346 | /* agc */ |
347 | dib3000mc_write_word(state, 36, state->cfg->max_time); | 347 | dib3000mc_write_word(state, 36, state->cfg->max_time); |
348 | dib3000mc_write_word(state, 37, agc->setup); | 348 | dib3000mc_write_word(state, 37, (state->cfg->agc_command1 << 13) | (state->cfg->agc_command2 << 12) | (0x1d << 0)); |
349 | dib3000mc_write_word(state, 38, state->cfg->pwm3_value); | 349 | dib3000mc_write_word(state, 38, state->cfg->pwm3_value); |
350 | dib3000mc_write_word(state, 39, state->cfg->ln_adc_level); | 350 | dib3000mc_write_word(state, 39, state->cfg->ln_adc_level); |
351 | 351 | ||
diff --git a/drivers/media/dvb/frontends/dib3000mc.h b/drivers/media/dvb/frontends/dib3000mc.h index b198cd5b1843..0d6fdef77538 100644 --- a/drivers/media/dvb/frontends/dib3000mc.h +++ b/drivers/media/dvb/frontends/dib3000mc.h | |||
@@ -28,6 +28,9 @@ struct dib3000mc_config { | |||
28 | u16 max_time; | 28 | u16 max_time; |
29 | u16 ln_adc_level; | 29 | u16 ln_adc_level; |
30 | 30 | ||
31 | u8 agc_command1 :1; | ||
32 | u8 agc_command2 :1; | ||
33 | |||
31 | u8 mobile_mode; | 34 | u8 mobile_mode; |
32 | 35 | ||
33 | u8 output_mpeg2_in_188_bytes; | 36 | u8 output_mpeg2_in_188_bytes; |