e6431a0c0d
Fixes a8293 failure to raise LNB voltage in PCTV 461e DVB-S2 Stick affecting multiple users over several years as found here: http://www.linuxquestions.org/questions/linux-hardware-18/pctv-dvb-s2-stick-461e-not-feeding-lnb-4175529374/ https://www.linuxtv.org/wiki/index.php/Pinnacle_PCTV_DVB-S2_Stick_(461e) https://github.com/OpenELEC/OpenELEC.tv/issues/3731 Caused by vIN undervoltage lockout (status register bit 7) when raising LNB to 18V. Addressed by using the higher-precision voltages available on the a8293 to gradually increase (slew) the voltage when voltage increases are requested. Adds volt_slew_nanos_per_mv to a8293_platform_data struct for specifying slew rate. If value is <1 or non-sane (>1600), the original no-slew version for a8293_set_voltage is used. Link: https://lore.kernel.org/linux-media/20211231035326.6759-1-cjritola@gmail.com [mchehab: fixed some coding style issues] Signed-off-by: Chuck Ritola <cjritola@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
30 lines
582 B
C
30 lines
582 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Allegro A8293 SEC driver
|
|
*
|
|
* Copyright (C) 2011 Antti Palosaari <crope@iki.fi>
|
|
*/
|
|
|
|
#ifndef A8293_H
|
|
#define A8293_H
|
|
|
|
#include <media/dvb_frontend.h>
|
|
|
|
/*
|
|
* I2C address
|
|
* 0x08, 0x09, 0x0a, 0x0b
|
|
*/
|
|
|
|
/**
|
|
* struct a8293_platform_data - Platform data for the a8293 driver
|
|
* @dvb_frontend: DVB frontend.
|
|
* @volt_slew_nanos_per_mv: Slew rate when increasing LNB voltage,
|
|
* in nanoseconds per millivolt.
|
|
*/
|
|
struct a8293_platform_data {
|
|
struct dvb_frontend *dvb_frontend;
|
|
int volt_slew_nanos_per_mv;
|
|
};
|
|
|
|
#endif /* A8293_H */
|