aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/lgdt330x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/frontends/lgdt330x.c')
-rw-r--r--drivers/media/dvb/frontends/lgdt330x.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/media/dvb/frontends/lgdt330x.c b/drivers/media/dvb/frontends/lgdt330x.c
index 145918877d2f..10fc4e7878af 100644
--- a/drivers/media/dvb/frontends/lgdt330x.c
+++ b/drivers/media/dvb/frontends/lgdt330x.c
@@ -27,6 +27,7 @@
27 * DViCO FusionHDTV 3 Gold-T 27 * DViCO FusionHDTV 3 Gold-T
28 * DViCO FusionHDTV 5 Gold 28 * DViCO FusionHDTV 5 Gold
29 * DViCO FusionHDTV 5 Lite 29 * DViCO FusionHDTV 5 Lite
30 * Air2PC/AirStar 2 ATSC 3rd generation (HD5000)
30 * 31 *
31 * TODO: 32 * TODO:
32 * signal strength always returns 0. 33 * signal strength always returns 0.
@@ -223,6 +224,11 @@ static int lgdt330x_init(struct dvb_frontend* fe)
223 0x4c, 0x14 224 0x4c, 0x14
224 }; 225 };
225 226
227 static u8 flip_lgdt3303_init_data[] = {
228 0x4c, 0x14,
229 0x87, 0xf3
230 };
231
226 struct lgdt330x_state* state = fe->demodulator_priv; 232 struct lgdt330x_state* state = fe->demodulator_priv;
227 char *chip_name; 233 char *chip_name;
228 int err; 234 int err;
@@ -235,8 +241,13 @@ static int lgdt330x_init(struct dvb_frontend* fe)
235 break; 241 break;
236 case LGDT3303: 242 case LGDT3303:
237 chip_name = "LGDT3303"; 243 chip_name = "LGDT3303";
238 err = i2c_write_demod_bytes(state, lgdt3303_init_data, 244 if (state->config->clock_polarity_flip) {
239 sizeof(lgdt3303_init_data)); 245 err = i2c_write_demod_bytes(state, flip_lgdt3303_init_data,
246 sizeof(flip_lgdt3303_init_data));
247 } else {
248 err = i2c_write_demod_bytes(state, lgdt3303_init_data,
249 sizeof(lgdt3303_init_data));
250 }
240 break; 251 break;
241 default: 252 default:
242 chip_name = "undefined"; 253 chip_name = "undefined";