mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-23 02:05:46 -04:00
iio: adc: mt6359: Move reference voltage to platform data
In preparation to add support for new PMICs, add a `vref_mv` member to struct mtk_pmic_auxadc_info and use it in place of the AUXADC_VOLT_FULL definition. As a consequence, the definition was also removed. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Nuno Sá <nuno.sa@analog.com> Link: https://patch.msgid.link/20250703141146.171431-5-angelogioacchino.delregno@collabora.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
committed by
Jonathan Cameron
parent
f8bb423f49
commit
dbcbed76d0
@@ -28,7 +28,6 @@
|
||||
#define AUXADC_AVG_TIME_US 10
|
||||
#define AUXADC_POLL_DELAY_US 100
|
||||
#define AUXADC_TIMEOUT_US 32000
|
||||
#define AUXADC_VOLT_FULL 1800
|
||||
#define IMP_STOP_DELAY_US 150
|
||||
#define IMP_POLL_DELAY_US 1000
|
||||
|
||||
@@ -123,6 +122,7 @@ struct mtk_pmic_auxadc_chan {
|
||||
* @desc: PMIC AUXADC channel data
|
||||
* @regs: List of PMIC specific registers
|
||||
* @sec_unlock_key: Security unlock key for HK_TOP writes
|
||||
* @vref_mV: AUXADC Reference Voltage (VREF) in millivolts
|
||||
* @imp_adc_num: ADC channel for battery impedance readings
|
||||
* @read_imp: Callback to read impedance channels
|
||||
*/
|
||||
@@ -133,6 +133,7 @@ struct mtk_pmic_auxadc_info {
|
||||
const struct mtk_pmic_auxadc_chan *desc;
|
||||
const u16 *regs;
|
||||
u16 sec_unlock_key;
|
||||
u32 vref_mV;
|
||||
u8 imp_adc_num;
|
||||
int (*read_imp)(struct mt6359_auxadc *adc_dev,
|
||||
const struct iio_chan_spec *chan, int *vbat, int *ibat);
|
||||
@@ -416,6 +417,7 @@ static const struct mtk_pmic_auxadc_info mt6357_chip_info = {
|
||||
.regs = mt6357_auxadc_regs,
|
||||
.imp_adc_num = MT6357_IMP_ADC_NUM,
|
||||
.read_imp = mt6358_read_imp,
|
||||
.vref_mV = 1800,
|
||||
};
|
||||
|
||||
static const struct mtk_pmic_auxadc_info mt6358_chip_info = {
|
||||
@@ -426,6 +428,7 @@ static const struct mtk_pmic_auxadc_info mt6358_chip_info = {
|
||||
.regs = mt6358_auxadc_regs,
|
||||
.imp_adc_num = MT6358_IMP_ADC_NUM,
|
||||
.read_imp = mt6358_read_imp,
|
||||
.vref_mV = 1800,
|
||||
};
|
||||
|
||||
static const struct mtk_pmic_auxadc_info mt6359_chip_info = {
|
||||
@@ -436,6 +439,7 @@ static const struct mtk_pmic_auxadc_info mt6359_chip_info = {
|
||||
.regs = mt6359_auxadc_regs,
|
||||
.sec_unlock_key = 0x6359,
|
||||
.read_imp = mt6359_read_imp,
|
||||
.vref_mV = 1800,
|
||||
};
|
||||
|
||||
static void mt6359_auxadc_reset(struct mt6359_auxadc *adc_dev)
|
||||
@@ -505,7 +509,7 @@ static int mt6359_auxadc_read_raw(struct iio_dev *indio_dev,
|
||||
int ret;
|
||||
|
||||
if (mask == IIO_CHAN_INFO_SCALE) {
|
||||
*val = desc->r_ratio.numerator * AUXADC_VOLT_FULL;
|
||||
*val = desc->r_ratio.numerator * cinfo->vref_mV;
|
||||
|
||||
if (desc->r_ratio.denominator > 1) {
|
||||
*val2 = desc->r_ratio.denominator;
|
||||
|
||||
Reference in New Issue
Block a user