* [PATCH 0/3] iio: adc: mt6359-auxadc: various fixes
@ 2026-11-03 16:32 Roman Vivchar via B4 Relay
2026-11-03 16:32 ` [PATCH 1/3] iio: adc: mt6359-auxadc: correct channel types to IIO_VOLTAGE Roman Vivchar via B4 Relay
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Roman Vivchar via B4 Relay @ 2026-11-03 16:32 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Matthias Brugger, AngeloGioacchino Del Regno,
Nícolas F. R. A. Prado
Cc: Chen-Yu Tsai, linux-iio, linux-kernel, linux-arm-kernel,
linux-mediatek, Roman Vivchar, Jonathan Cameron
This patch series fixes various bugs in the mt6359 auxadc driver. For
some reason, the driver had channel types for temperature or resistance,
while the ADC can report only voltage. There were also issues with
battery channel ready bit masking and scale calculation.
Changes were verified on the mt6358 (mt6768 platform). Compile-tested
only for others.
Signed-off-by: Roman Vivchar <rva333@protonmail.com>
---
Roman Vivchar (3):
iio: adc: mt6359-auxadc: correct channel types to IIO_VOLTAGE
iio: adc: mt6359-auxadc: mask conversion ready bit in mt6358_read_imp
iio: adc: mt6359-auxadc: fix scale calculation
drivers/iio/adc/mt6359-auxadc.c | 88 ++++++++++++++++++++---------------------
1 file changed, 42 insertions(+), 46 deletions(-)
---
base-commit: 7649ba73f9e7e1e04d0b46213e39c79ae09dd55c
change-id: 20261103-6768-6358-fixes-fcdc79afae11
Best regards,
--
Roman Vivchar <rva333@protonmail.com>
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH 1/3] iio: adc: mt6359-auxadc: correct channel types to IIO_VOLTAGE 2026-11-03 16:32 [PATCH 0/3] iio: adc: mt6359-auxadc: various fixes Roman Vivchar via B4 Relay @ 2026-11-03 16:32 ` Roman Vivchar via B4 Relay 2026-11-03 23:42 ` Jonathan Cameron 2026-11-03 16:32 ` [PATCH 2/3] iio: adc: mt6359-auxadc: mask conversion ready bit in mt6358_read_imp Roman Vivchar via B4 Relay 2026-11-03 16:32 ` [PATCH 3/3] iio: adc: mt6359-auxadc: fix scale calculation Roman Vivchar via B4 Relay 2 siblings, 1 reply; 9+ messages in thread From: Roman Vivchar via B4 Relay @ 2026-11-03 16:32 UTC (permalink / raw) To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko, Matthias Brugger, AngeloGioacchino Del Regno, Nícolas F. R. A. Prado Cc: Chen-Yu Tsai, linux-iio, linux-kernel, linux-arm-kernel, linux-mediatek, Roman Vivchar, Jonathan Cameron From: Roman Vivchar <rva333@protonmail.com> All mt6357, mt6358, mt6359 and mt6363 declare their channel types as voltage, resistance and temperature. This is wrong, since the PMIC doesn't include any built-in conversion block. It simply measures voltage, while consumers are supposed to convert these readings to the actual temperature or resistance using efuse calibration. Correct all channel types to IIO_VOLTAGE. Fixes: 3587914bf61d ("iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC") Fixes: d6f49313272b ("iio: adc: mt6359: Add support for MediaTek MT6363 PMIC AUXADC") Signed-off-by: Roman Vivchar <rva333@protonmail.com> --- drivers/iio/adc/mt6359-auxadc.c | 78 ++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/drivers/iio/adc/mt6359-auxadc.c b/drivers/iio/adc/mt6359-auxadc.c index 88b0e26309e5..951d236f972b 100644 --- a/drivers/iio/adc/mt6359-auxadc.c +++ b/drivers/iio/adc/mt6359-auxadc.c @@ -205,18 +205,18 @@ struct mtk_pmic_auxadc_info { } static const struct iio_chan_spec mt6357_auxadc_channels[] = { - MTK_PMIC_IIO_CHAN(MT6357, bat_adc, BATADC, 0, 15, IIO_RESISTANCE), - MTK_PMIC_IIO_CHAN(MT6357, isense, ISENSE, 1, 12, IIO_CURRENT), - MTK_PMIC_IIO_CHAN(MT6357, cdt_v, VCDT, 2, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6357, batt_temp, BAT_TEMP, 3, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6357, chip_temp, CHIP_TEMP, 4, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6357, acc_det, ACCDET, 5, 12, IIO_RESISTANCE), + MTK_PMIC_IIO_CHAN(MT6357, bat_adc, BATADC, 0, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6357, isense, ISENSE, 1, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6357, cdt_v, VCDT, 2, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6357, batt_temp, BAT_TEMP, 3, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6357, chip_temp, CHIP_TEMP, 4, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6357, acc_det, ACCDET, 5, 12, IIO_VOLTAGE), MTK_PMIC_IIO_CHAN(MT6357, dcxo_v, VDCXO, 6, 12, IIO_VOLTAGE), - MTK_PMIC_IIO_CHAN(MT6357, tsx_temp, TSX_TEMP, 7, 15, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6357, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_RESISTANCE), - MTK_PMIC_IIO_CHAN(MT6357, dcxo_temp, DCXO_TEMP, 36, 15, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6357, vcore_temp, VCORE_TEMP, 40, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6357, vproc_temp, VPROC_TEMP, 41, 12, IIO_TEMP), + MTK_PMIC_IIO_CHAN(MT6357, tsx_temp, TSX_TEMP, 7, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6357, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6357, dcxo_temp, DCXO_TEMP, 36, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6357, vcore_temp, VCORE_TEMP, 40, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6357, vproc_temp, VPROC_TEMP, 41, 12, IIO_VOLTAGE), /* Battery impedance channels */ MTK_PMIC_IIO_CHAN(MT6357, batt_v, VBAT, 0, 15, IIO_VOLTAGE), @@ -251,19 +251,19 @@ static const u16 mt6357_auxadc_regs[] = { }; static const struct iio_chan_spec mt6358_auxadc_channels[] = { - MTK_PMIC_IIO_CHAN(MT6358, bat_adc, BATADC, 0, 15, IIO_RESISTANCE), - MTK_PMIC_IIO_CHAN(MT6358, cdt_v, VCDT, 2, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6358, batt_temp, BAT_TEMP, 3, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6358, chip_temp, CHIP_TEMP, 4, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6358, acc_det, ACCDET, 5, 12, IIO_RESISTANCE), + MTK_PMIC_IIO_CHAN(MT6358, bat_adc, BATADC, 0, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6358, cdt_v, VCDT, 2, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6358, batt_temp, BAT_TEMP, 3, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6358, chip_temp, CHIP_TEMP, 4, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6358, acc_det, ACCDET, 5, 12, IIO_VOLTAGE), MTK_PMIC_IIO_CHAN(MT6358, dcxo_v, VDCXO, 6, 12, IIO_VOLTAGE), - MTK_PMIC_IIO_CHAN(MT6358, tsx_temp, TSX_TEMP, 7, 15, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6358, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_RESISTANCE), - MTK_PMIC_IIO_CHAN(MT6358, dcxo_temp, DCXO_TEMP, 10, 15, IIO_TEMP), + MTK_PMIC_IIO_CHAN(MT6358, tsx_temp, TSX_TEMP, 7, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6358, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6358, dcxo_temp, DCXO_TEMP, 10, 15, IIO_VOLTAGE), MTK_PMIC_IIO_CHAN(MT6358, bif_v, VBIF, 11, 12, IIO_VOLTAGE), - MTK_PMIC_IIO_CHAN(MT6358, vcore_temp, VCORE_TEMP, 38, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6358, vproc_temp, VPROC_TEMP, 39, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6358, vgpu_temp, VGPU_TEMP, 40, 12, IIO_TEMP), + MTK_PMIC_IIO_CHAN(MT6358, vcore_temp, VCORE_TEMP, 38, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6358, vproc_temp, VPROC_TEMP, 39, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6358, vgpu_temp, VGPU_TEMP, 40, 12, IIO_VOLTAGE), /* Battery impedance channels */ MTK_PMIC_IIO_CHAN(MT6358, batt_v, VBAT, 0, 15, IIO_VOLTAGE), @@ -299,18 +299,18 @@ static const u16 mt6358_auxadc_regs[] = { }; static const struct iio_chan_spec mt6359_auxadc_channels[] = { - MTK_PMIC_IIO_CHAN(MT6359, bat_adc, BATADC, 0, 15, IIO_RESISTANCE), - MTK_PMIC_IIO_CHAN(MT6359, batt_temp, BAT_TEMP, 3, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6359, chip_temp, CHIP_TEMP, 4, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6359, acc_det, ACCDET, 5, 12, IIO_RESISTANCE), + MTK_PMIC_IIO_CHAN(MT6359, bat_adc, BATADC, 0, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6359, batt_temp, BAT_TEMP, 3, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6359, chip_temp, CHIP_TEMP, 4, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6359, acc_det, ACCDET, 5, 12, IIO_VOLTAGE), MTK_PMIC_IIO_CHAN(MT6359, dcxo_v, VDCXO, 6, 12, IIO_VOLTAGE), - MTK_PMIC_IIO_CHAN(MT6359, tsx_temp, TSX_TEMP, 7, 15, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6359, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_RESISTANCE), - MTK_PMIC_IIO_CHAN(MT6359, dcxo_temp, DCXO_TEMP, 10, 15, IIO_TEMP), + MTK_PMIC_IIO_CHAN(MT6359, tsx_temp, TSX_TEMP, 7, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6359, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6359, dcxo_temp, DCXO_TEMP, 10, 15, IIO_VOLTAGE), MTK_PMIC_IIO_CHAN(MT6359, bif_v, VBIF, 11, 12, IIO_VOLTAGE), - MTK_PMIC_IIO_CHAN(MT6359, vcore_temp, VCORE_TEMP, 30, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6359, vproc_temp, VPROC_TEMP, 31, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6359, vgpu_temp, VGPU_TEMP, 32, 12, IIO_TEMP), + MTK_PMIC_IIO_CHAN(MT6359, vcore_temp, VCORE_TEMP, 30, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6359, vproc_temp, VPROC_TEMP, 31, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6359, vgpu_temp, VGPU_TEMP, 32, 12, IIO_VOLTAGE), /* Battery impedance channels */ MTK_PMIC_IIO_CHAN(MT6359, batt_v, VBAT, 0, 15, IIO_VOLTAGE), @@ -349,15 +349,15 @@ static const u16 mt6359_auxadc_regs[] = { }; static const struct iio_chan_spec mt6363_auxadc_channels[] = { - MTK_PMIC_IIO_CHAN(MT6363, bat_adc, BATADC, 0, 15, IIO_RESISTANCE), - MTK_PMIC_IIO_CHAN(MT6363, cdt_v, VCDT, 2, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6363, batt_temp, BAT_TEMP, 3, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6363, chip_temp, CHIP_TEMP, 4, 12, IIO_TEMP), + MTK_PMIC_IIO_CHAN(MT6363, bat_adc, BATADC, 0, 15, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6363, cdt_v, VCDT, 2, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6363, batt_temp, BAT_TEMP, 3, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6363, chip_temp, CHIP_TEMP, 4, 12, IIO_VOLTAGE), MTK_PMIC_IIO_CHAN(MT6363, sys_sns_v, VSYSSNS, 6, 15, IIO_VOLTAGE), MTK_PMIC_IIO_CHAN(MT6363, tref_v, VTREF, 11, 12, IIO_VOLTAGE), - MTK_PMIC_IIO_CHAN(MT6363, vcore_temp, VCORE_TEMP, 38, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6363, vproc_temp, VPROC_TEMP, 39, 12, IIO_TEMP), - MTK_PMIC_IIO_CHAN(MT6363, vgpu_temp, VGPU_TEMP, 40, 12, IIO_TEMP), + MTK_PMIC_IIO_CHAN(MT6363, vcore_temp, VCORE_TEMP, 38, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6363, vproc_temp, VPROC_TEMP, 39, 12, IIO_VOLTAGE), + MTK_PMIC_IIO_CHAN(MT6363, vgpu_temp, VGPU_TEMP, 40, 12, IIO_VOLTAGE), /* For VIN, ADC12 holds the result depending on which GPIO was activated */ MTK_PMIC_IIO_CHAN(MT6363, in1_v, VIN1, 45, 15, IIO_VOLTAGE), -- 2.56.0 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] iio: adc: mt6359-auxadc: correct channel types to IIO_VOLTAGE 2026-11-03 16:32 ` [PATCH 1/3] iio: adc: mt6359-auxadc: correct channel types to IIO_VOLTAGE Roman Vivchar via B4 Relay @ 2026-11-03 23:42 ` Jonathan Cameron 2026-11-04 0:10 ` Roman Vivchar 2026-11-10 20:39 ` Roman Vivchar 0 siblings, 2 replies; 9+ messages in thread From: Jonathan Cameron @ 2026-11-03 23:42 UTC (permalink / raw) To: Roman Vivchar via B4 Relay Cc: rva333, David Lechner, Nuno Sá, Andy Shevchenko, Matthias Brugger, AngeloGioacchino Del Regno, Nícolas F. R. A. Prado, Chen-Yu Tsai, linux-iio, linux-kernel, linux-arm-kernel, linux-mediatek On Tue, 03 Nov 2026 18:32:07 +0200 Roman Vivchar via B4 Relay <devnull+rva333.protonmail.com@kernel.org> wrote: > From: Roman Vivchar <rva333@protonmail.com> > > All mt6357, mt6358, mt6359 and mt6363 declare their channel types as > voltage, resistance and temperature. This is wrong, since the PMIC > doesn't include any built-in conversion block. It simply measures > voltage, while consumers are supposed to convert these readings to > the actual temperature or resistance using efuse calibration. Hi Roman, Useful to have an example of the consumer that is doing this. > > Correct all channel types to IIO_VOLTAGE. > > Fixes: 3587914bf61d ("iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC") > Fixes: d6f49313272b ("iio: adc: mt6359: Add support for MediaTek MT6363 PMIC AUXADC") > Signed-off-by: Roman Vivchar <rva333@protonmail.com> This one makes me very nervous, not because it is wrong but rather because there may be a bunch of userspace relying on these wrong channel types. It is horrible but I think we can't touch that :( What we can do is put the right interface in place as well. Thankfully it looks like the channel index is independent of the channel type so we can duplicate the wrong channels with voltage ones + some comments to make sure this doesn't propagate to any new supported devices. AngeloGioacchino, why did you go with the different channel types? If we do decide to go ahead with this approach, are there other channels that are validly using the channel type for non voltage? If not change the macro to drop the parameter. Thanks, Jonathan > --- > drivers/iio/adc/mt6359-auxadc.c | 78 ++++++++++++++++++++--------------------- > 1 file changed, 39 insertions(+), 39 deletions(-) > > diff --git a/drivers/iio/adc/mt6359-auxadc.c b/drivers/iio/adc/mt6359-auxadc.c > index 88b0e26309e5..951d236f972b 100644 > --- a/drivers/iio/adc/mt6359-auxadc.c > +++ b/drivers/iio/adc/mt6359-auxadc.c > @@ -205,18 +205,18 @@ struct mtk_pmic_auxadc_info { > } > > static const struct iio_chan_spec mt6357_auxadc_channels[] = { > - MTK_PMIC_IIO_CHAN(MT6357, bat_adc, BATADC, 0, 15, IIO_RESISTANCE), > - MTK_PMIC_IIO_CHAN(MT6357, isense, ISENSE, 1, 12, IIO_CURRENT), > - MTK_PMIC_IIO_CHAN(MT6357, cdt_v, VCDT, 2, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6357, batt_temp, BAT_TEMP, 3, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6357, chip_temp, CHIP_TEMP, 4, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6357, acc_det, ACCDET, 5, 12, IIO_RESISTANCE), > + MTK_PMIC_IIO_CHAN(MT6357, bat_adc, BATADC, 0, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6357, isense, ISENSE, 1, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6357, cdt_v, VCDT, 2, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6357, batt_temp, BAT_TEMP, 3, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6357, chip_temp, CHIP_TEMP, 4, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6357, acc_det, ACCDET, 5, 12, IIO_VOLTAGE), > MTK_PMIC_IIO_CHAN(MT6357, dcxo_v, VDCXO, 6, 12, IIO_VOLTAGE), > - MTK_PMIC_IIO_CHAN(MT6357, tsx_temp, TSX_TEMP, 7, 15, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6357, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_RESISTANCE), > - MTK_PMIC_IIO_CHAN(MT6357, dcxo_temp, DCXO_TEMP, 36, 15, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6357, vcore_temp, VCORE_TEMP, 40, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6357, vproc_temp, VPROC_TEMP, 41, 12, IIO_TEMP), > + MTK_PMIC_IIO_CHAN(MT6357, tsx_temp, TSX_TEMP, 7, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6357, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6357, dcxo_temp, DCXO_TEMP, 36, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6357, vcore_temp, VCORE_TEMP, 40, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6357, vproc_temp, VPROC_TEMP, 41, 12, IIO_VOLTAGE), If this is all of the channels (I haven't checked) you should drop the ability to configure the channel type from the macro... However, see discussion at the top. > > /* Battery impedance channels */ > MTK_PMIC_IIO_CHAN(MT6357, batt_v, VBAT, 0, 15, IIO_VOLTAGE), > @@ -251,19 +251,19 @@ static const u16 mt6357_auxadc_regs[] = { > }; > > static const struct iio_chan_spec mt6358_auxadc_channels[] = { > - MTK_PMIC_IIO_CHAN(MT6358, bat_adc, BATADC, 0, 15, IIO_RESISTANCE), > - MTK_PMIC_IIO_CHAN(MT6358, cdt_v, VCDT, 2, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6358, batt_temp, BAT_TEMP, 3, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6358, chip_temp, CHIP_TEMP, 4, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6358, acc_det, ACCDET, 5, 12, IIO_RESISTANCE), > + MTK_PMIC_IIO_CHAN(MT6358, bat_adc, BATADC, 0, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6358, cdt_v, VCDT, 2, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6358, batt_temp, BAT_TEMP, 3, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6358, chip_temp, CHIP_TEMP, 4, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6358, acc_det, ACCDET, 5, 12, IIO_VOLTAGE), > MTK_PMIC_IIO_CHAN(MT6358, dcxo_v, VDCXO, 6, 12, IIO_VOLTAGE), > - MTK_PMIC_IIO_CHAN(MT6358, tsx_temp, TSX_TEMP, 7, 15, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6358, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_RESISTANCE), > - MTK_PMIC_IIO_CHAN(MT6358, dcxo_temp, DCXO_TEMP, 10, 15, IIO_TEMP), > + MTK_PMIC_IIO_CHAN(MT6358, tsx_temp, TSX_TEMP, 7, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6358, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6358, dcxo_temp, DCXO_TEMP, 10, 15, IIO_VOLTAGE), > MTK_PMIC_IIO_CHAN(MT6358, bif_v, VBIF, 11, 12, IIO_VOLTAGE), > - MTK_PMIC_IIO_CHAN(MT6358, vcore_temp, VCORE_TEMP, 38, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6358, vproc_temp, VPROC_TEMP, 39, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6358, vgpu_temp, VGPU_TEMP, 40, 12, IIO_TEMP), > + MTK_PMIC_IIO_CHAN(MT6358, vcore_temp, VCORE_TEMP, 38, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6358, vproc_temp, VPROC_TEMP, 39, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6358, vgpu_temp, VGPU_TEMP, 40, 12, IIO_VOLTAGE), > > /* Battery impedance channels */ > MTK_PMIC_IIO_CHAN(MT6358, batt_v, VBAT, 0, 15, IIO_VOLTAGE), > @@ -299,18 +299,18 @@ static const u16 mt6358_auxadc_regs[] = { > }; > > static const struct iio_chan_spec mt6359_auxadc_channels[] = { > - MTK_PMIC_IIO_CHAN(MT6359, bat_adc, BATADC, 0, 15, IIO_RESISTANCE), > - MTK_PMIC_IIO_CHAN(MT6359, batt_temp, BAT_TEMP, 3, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6359, chip_temp, CHIP_TEMP, 4, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6359, acc_det, ACCDET, 5, 12, IIO_RESISTANCE), > + MTK_PMIC_IIO_CHAN(MT6359, bat_adc, BATADC, 0, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6359, batt_temp, BAT_TEMP, 3, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6359, chip_temp, CHIP_TEMP, 4, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6359, acc_det, ACCDET, 5, 12, IIO_VOLTAGE), > MTK_PMIC_IIO_CHAN(MT6359, dcxo_v, VDCXO, 6, 12, IIO_VOLTAGE), > - MTK_PMIC_IIO_CHAN(MT6359, tsx_temp, TSX_TEMP, 7, 15, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6359, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_RESISTANCE), > - MTK_PMIC_IIO_CHAN(MT6359, dcxo_temp, DCXO_TEMP, 10, 15, IIO_TEMP), > + MTK_PMIC_IIO_CHAN(MT6359, tsx_temp, TSX_TEMP, 7, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6359, hp_ofs_cal, HPOFS_CAL, 9, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6359, dcxo_temp, DCXO_TEMP, 10, 15, IIO_VOLTAGE), > MTK_PMIC_IIO_CHAN(MT6359, bif_v, VBIF, 11, 12, IIO_VOLTAGE), > - MTK_PMIC_IIO_CHAN(MT6359, vcore_temp, VCORE_TEMP, 30, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6359, vproc_temp, VPROC_TEMP, 31, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6359, vgpu_temp, VGPU_TEMP, 32, 12, IIO_TEMP), > + MTK_PMIC_IIO_CHAN(MT6359, vcore_temp, VCORE_TEMP, 30, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6359, vproc_temp, VPROC_TEMP, 31, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6359, vgpu_temp, VGPU_TEMP, 32, 12, IIO_VOLTAGE), > > /* Battery impedance channels */ > MTK_PMIC_IIO_CHAN(MT6359, batt_v, VBAT, 0, 15, IIO_VOLTAGE), > @@ -349,15 +349,15 @@ static const u16 mt6359_auxadc_regs[] = { > }; > > static const struct iio_chan_spec mt6363_auxadc_channels[] = { > - MTK_PMIC_IIO_CHAN(MT6363, bat_adc, BATADC, 0, 15, IIO_RESISTANCE), > - MTK_PMIC_IIO_CHAN(MT6363, cdt_v, VCDT, 2, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6363, batt_temp, BAT_TEMP, 3, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6363, chip_temp, CHIP_TEMP, 4, 12, IIO_TEMP), > + MTK_PMIC_IIO_CHAN(MT6363, bat_adc, BATADC, 0, 15, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6363, cdt_v, VCDT, 2, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6363, batt_temp, BAT_TEMP, 3, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6363, chip_temp, CHIP_TEMP, 4, 12, IIO_VOLTAGE), > MTK_PMIC_IIO_CHAN(MT6363, sys_sns_v, VSYSSNS, 6, 15, IIO_VOLTAGE), > MTK_PMIC_IIO_CHAN(MT6363, tref_v, VTREF, 11, 12, IIO_VOLTAGE), > - MTK_PMIC_IIO_CHAN(MT6363, vcore_temp, VCORE_TEMP, 38, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6363, vproc_temp, VPROC_TEMP, 39, 12, IIO_TEMP), > - MTK_PMIC_IIO_CHAN(MT6363, vgpu_temp, VGPU_TEMP, 40, 12, IIO_TEMP), > + MTK_PMIC_IIO_CHAN(MT6363, vcore_temp, VCORE_TEMP, 38, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6363, vproc_temp, VPROC_TEMP, 39, 12, IIO_VOLTAGE), > + MTK_PMIC_IIO_CHAN(MT6363, vgpu_temp, VGPU_TEMP, 40, 12, IIO_VOLTAGE), > > /* For VIN, ADC12 holds the result depending on which GPIO was activated */ > MTK_PMIC_IIO_CHAN(MT6363, in1_v, VIN1, 45, 15, IIO_VOLTAGE), > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] iio: adc: mt6359-auxadc: correct channel types to IIO_VOLTAGE 2026-11-03 23:42 ` Jonathan Cameron @ 2026-11-04 0:10 ` Roman Vivchar 2026-11-10 20:39 ` Roman Vivchar 1 sibling, 0 replies; 9+ messages in thread From: Roman Vivchar @ 2026-11-04 0:10 UTC (permalink / raw) To: Jonathan Cameron Cc: Roman Vivchar via B4 Relay, David Lechner, Nuno Sá, Andy Shevchenko, Matthias Brugger, AngeloGioacchino Del Regno, Nícolas F. R. A. Prado, Chen-Yu Tsai, linux-iio, linux-kernel, linux-arm-kernel, linux-mediatek Hi Jonathan, On Wednesday, November 4th, 2026 at 1:42 AM, Jonathan Cameron <jic23@kernel.org> wrote: > On Tue, 03 Nov 2026 18:32:07 +0200 > Roman Vivchar via B4 Relay <devnull+rva333.protonmail.com@kernel.org> wrote: > > > From: Roman Vivchar <rva333@protonmail.com> > > > > All mt6357, mt6358, mt6359 and mt6363 declare their channel types as > > voltage, resistance and temperature. This is wrong, since the PMIC > > doesn't include any built-in conversion block. It simply measures > > voltage, while consumers are supposed to convert these readings to > > the actual temperature or resistance using efuse calibration. > Hi Roman, > > Useful to have an example of the consumer that is doing this. I have sent a PMIC thermal driver in the past for mt6323. I will send a new version soon, but it will take some time. It should be compatible with both mt6323 and mt6358, since they use very similar formulas. > > > > > Correct all channel types to IIO_VOLTAGE. > > > > Fixes: 3587914bf61d ("iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC") > > Fixes: d6f49313272b ("iio: adc: mt6359: Add support for MediaTek MT6363 PMIC AUXADC") > > Signed-off-by: Roman Vivchar <rva333@protonmail.com> > > This one makes me very nervous, not because it is wrong but rather > because there may be a bunch of userspace relying on these wrong > channel types. > > It is horrible but I think we can't touch that :( What we can do is > put the right interface in place as well. Thankfully it looks like > the channel index is independent of the channel type so we can duplicate > the wrong channels with voltage ones + some comments to make sure this > doesn't propagate to any new supported devices. I believe it's a bug, because all MediaTek PMICs I know can't report temperature or resistance without consumer. Some channels like battery voltage were overflowing sysfs, producing garbage result. > AngeloGioacchino, why did you go with the different channel types? > > If we do decide to go ahead with this approach, are there other channels > that are validly using the channel type for non voltage? If not change > the macro to drop the parameter. I think mt6359 may be able to report battery current. I can't really tell though. mt6358 seems to wire current sensing to FGADC, which is separate block. Perhaps someone from MediaTek or ChromeOS knows more about this. Best regards, Roman ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] iio: adc: mt6359-auxadc: correct channel types to IIO_VOLTAGE 2026-11-03 23:42 ` Jonathan Cameron 2026-11-04 0:10 ` Roman Vivchar @ 2026-11-10 20:39 ` Roman Vivchar 1 sibling, 0 replies; 9+ messages in thread From: Roman Vivchar @ 2026-11-10 20:39 UTC (permalink / raw) To: Jonathan Cameron Cc: Roman Vivchar via B4 Relay, David Lechner, Nuno Sá, Andy Shevchenko, Matthias Brugger, AngeloGioacchino Del Regno, Nícolas F. R. A. Prado, Chen-Yu Tsai, linux-iio, linux-kernel, linux-arm-kernel, linux-mediatek Hi Jonathan, On Wednesday, November 4th, 2026 at 1:42 AM, Jonathan Cameron <jic23@kernel.org> wrote: > On Tue, 03 Nov 2026 18:32:07 +0200 > Roman Vivchar via B4 Relay <devnull+rva333.protonmail.com@kernel.org> wrote: ... > > > > Correct all channel types to IIO_VOLTAGE. > > > > Fixes: 3587914bf61d ("iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC") > > Fixes: d6f49313272b ("iio: adc: mt6359: Add support for MediaTek MT6363 PMIC AUXADC") > > Signed-off-by: Roman Vivchar <rva333@protonmail.com> > > This one makes me very nervous, not because it is wrong but rather > because there may be a bunch of userspace relying on these wrong > channel types. > > It is horrible but I think we can't touch that :( What we can do is > put the right interface in place as well. Thankfully it looks like > the channel index is independent of the channel type so we can duplicate > the wrong channels with voltage ones + some comments to make sure this > doesn't propagate to any new supported devices. Sorry I forgot to include this in my previous reply, but do you suggest duplicating the old channels and adding the fixed ones as separate entries? That would cause issues for in-kernel consumers. In my tree I have a battery thermal zone driven by ntc_thermistor (which is actually how I found this bug, as it refused to probe due to the wrong channel type), and I will soon send a new revision of the PMIC thermal driver. They all require IIO_VOLTAGE channels to operate properly. If we duplicate the channels, consumers will get the wrong type unless we reorder the array or add a custom xlate callback. Existing userspace tools would get bogus values from the current ABI anyway. The driver applies a raw mV scale to all channels, while thermal needs efuse calibration with a special formula applied, and even plain voltage channels like bat_adc and cdt_v were mislabeled as resistance and temperature. Given all this, I think it's better to simply fix channel types. Best regards, Roman ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/3] iio: adc: mt6359-auxadc: mask conversion ready bit in mt6358_read_imp 2026-11-03 16:32 [PATCH 0/3] iio: adc: mt6359-auxadc: various fixes Roman Vivchar via B4 Relay 2026-11-03 16:32 ` [PATCH 1/3] iio: adc: mt6359-auxadc: correct channel types to IIO_VOLTAGE Roman Vivchar via B4 Relay @ 2026-11-03 16:32 ` Roman Vivchar via B4 Relay 2026-11-03 23:45 ` Jonathan Cameron 2026-11-03 16:32 ` [PATCH 3/3] iio: adc: mt6359-auxadc: fix scale calculation Roman Vivchar via B4 Relay 2 siblings, 1 reply; 9+ messages in thread From: Roman Vivchar via B4 Relay @ 2026-11-03 16:32 UTC (permalink / raw) To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko, Matthias Brugger, AngeloGioacchino Del Regno, Nícolas F. R. A. Prado Cc: Chen-Yu Tsai, linux-iio, linux-kernel, linux-arm-kernel, linux-mediatek, Roman Vivchar, Jonathan Cameron From: Roman Vivchar <rva333@protonmail.com> In mt6358_read_imp() the raw ADC value is returned directly without masking out ready bit, resulting in incorrect battery voltage reporting. Apply the mask to strip the ready bit, matching the behavior in mt6359_auxadc_read_adc() function. Fixes: 3587914bf61d ("iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC") Signed-off-by: Roman Vivchar <rva333@protonmail.com> --- drivers/iio/adc/mt6359-auxadc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iio/adc/mt6359-auxadc.c b/drivers/iio/adc/mt6359-auxadc.c index 951d236f972b..09432d0974cf 100644 --- a/drivers/iio/adc/mt6359-auxadc.c +++ b/drivers/iio/adc/mt6359-auxadc.c @@ -502,7 +502,7 @@ static int mt6358_read_imp(struct mt6359_auxadc *adc_dev, mt6358_stop_imp_conv(adc_dev); if (vbat) - *vbat = val_v; + *vbat = val_v & GENMASK(chan->scan_type.realbits - 1, 0); if (ibat) *ibat = 0; -- 2.56.0 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] iio: adc: mt6359-auxadc: mask conversion ready bit in mt6358_read_imp 2026-11-03 16:32 ` [PATCH 2/3] iio: adc: mt6359-auxadc: mask conversion ready bit in mt6358_read_imp Roman Vivchar via B4 Relay @ 2026-11-03 23:45 ` Jonathan Cameron 2026-11-04 0:19 ` Roman Vivchar 0 siblings, 1 reply; 9+ messages in thread From: Jonathan Cameron @ 2026-11-03 23:45 UTC (permalink / raw) To: Roman Vivchar via B4 Relay Cc: rva333, David Lechner, Nuno Sá, Andy Shevchenko, Matthias Brugger, AngeloGioacchino Del Regno, Nícolas F. R. A. Prado, Chen-Yu Tsai, linux-iio, linux-kernel, linux-arm-kernel, linux-mediatek On Tue, 03 Nov 2026 18:32:08 +0200 Roman Vivchar via B4 Relay <devnull+rva333.protonmail.com@kernel.org> wrote: > From: Roman Vivchar <rva333@protonmail.com> > > In mt6358_read_imp() the raw ADC value is returned directly without > masking out ready bit, resulting in incorrect battery voltage reporting. Can you add where the ready bit is. That might help someone looking at wrong values and wondering if this is what is causing them. This one is pretty glaring as bugs go (given I think this means the top bit is set?) so any reason it wasn't obvious to anyone testing this device? Jonathan > > Apply the mask to strip the ready bit, matching the behavior in > mt6359_auxadc_read_adc() function. > > Fixes: 3587914bf61d ("iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC") > Signed-off-by: Roman Vivchar <rva333@protonmail.com> > --- > drivers/iio/adc/mt6359-auxadc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/iio/adc/mt6359-auxadc.c b/drivers/iio/adc/mt6359-auxadc.c > index 951d236f972b..09432d0974cf 100644 > --- a/drivers/iio/adc/mt6359-auxadc.c > +++ b/drivers/iio/adc/mt6359-auxadc.c > @@ -502,7 +502,7 @@ static int mt6358_read_imp(struct mt6359_auxadc *adc_dev, > mt6358_stop_imp_conv(adc_dev); > > if (vbat) > - *vbat = val_v; > + *vbat = val_v & GENMASK(chan->scan_type.realbits - 1, 0); > if (ibat) > *ibat = 0; > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] iio: adc: mt6359-auxadc: mask conversion ready bit in mt6358_read_imp 2026-11-03 23:45 ` Jonathan Cameron @ 2026-11-04 0:19 ` Roman Vivchar 0 siblings, 0 replies; 9+ messages in thread From: Roman Vivchar @ 2026-11-04 0:19 UTC (permalink / raw) To: Jonathan Cameron Cc: Roman Vivchar via B4 Relay, David Lechner, Nuno Sá, Andy Shevchenko, Matthias Brugger, AngeloGioacchino Del Regno, Nícolas F. R. A. Prado, Chen-Yu Tsai, linux-iio, linux-kernel, linux-arm-kernel, linux-mediatek On Wednesday, November 4th, 2026 at 1:45 AM, Jonathan Cameron <jic23@kernel.org> wrote: > On Tue, 03 Nov 2026 18:32:08 +0200 > Roman Vivchar via B4 Relay <devnull+rva333.protonmail.com@kernel.org> wrote: > > > From: Roman Vivchar <rva333@protonmail.com> > > > > In mt6358_read_imp() the raw ADC value is returned directly without > > masking out ready bit, resulting in incorrect battery voltage reporting. > > Can you add where the ready bit is. That might help someone > looking at wrong values and wondering if this is what is causing them. It's at the end of mt6359_auxadc_read_adc() function, which is included in the commit message. Do you mean include the code part too? "*out = val & GENMASK(chan->scan_type.realbits - 1, 0);" > This one is pretty glaring as bugs go (given I think this means the > top bit is set?) so any reason it wasn't obvious to anyone testing > this device? I can't really tell if the driver was properly tested. As far as I understand, Chromebook devices use some embedded controller, which likely manages this kind of stuff without PMIC ADC. There's no in-tree mobile SoCs with mt6357, 6358 or 6359, nor fuel gauge or thermal drivers (yet), so maybe that's why. > Jonathan > > > > > > Apply the mask to strip the ready bit, matching the behavior in > > mt6359_auxadc_read_adc() function. > > > > Fixes: 3587914bf61d ("iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC") > > Signed-off-by: Roman Vivchar <rva333@protonmail.com> > > --- > > drivers/iio/adc/mt6359-auxadc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/iio/adc/mt6359-auxadc.c b/drivers/iio/adc/mt6359-auxadc.c > > index 951d236f972b..09432d0974cf 100644 > > --- a/drivers/iio/adc/mt6359-auxadc.c > > +++ b/drivers/iio/adc/mt6359-auxadc.c > > @@ -502,7 +502,7 @@ static int mt6358_read_imp(struct mt6359_auxadc *adc_dev, > > mt6358_stop_imp_conv(adc_dev); > > > > if (vbat) > > - *vbat = val_v; > > + *vbat = val_v & GENMASK(chan->scan_type.realbits - 1, 0); > > if (ibat) > > *ibat = 0; > > > > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/3] iio: adc: mt6359-auxadc: fix scale calculation 2026-11-03 16:32 [PATCH 0/3] iio: adc: mt6359-auxadc: various fixes Roman Vivchar via B4 Relay 2026-11-03 16:32 ` [PATCH 1/3] iio: adc: mt6359-auxadc: correct channel types to IIO_VOLTAGE Roman Vivchar via B4 Relay 2026-11-03 16:32 ` [PATCH 2/3] iio: adc: mt6359-auxadc: mask conversion ready bit in mt6358_read_imp Roman Vivchar via B4 Relay @ 2026-11-03 16:32 ` Roman Vivchar via B4 Relay 2 siblings, 0 replies; 9+ messages in thread From: Roman Vivchar via B4 Relay @ 2026-11-03 16:32 UTC (permalink / raw) To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko, Matthias Brugger, AngeloGioacchino Del Regno, Nícolas F. R. A. Prado Cc: Chen-Yu Tsai, linux-iio, linux-kernel, linux-arm-kernel, linux-mediatek, Roman Vivchar, Jonathan Cameron From: Roman Vivchar <rva333@protonmail.com> IIO_CHAN_INFO_SCALE currently returns value without dividing by 2^realbits, overflowing the integer to an invalid value. Fix this by using IIO_VAL_FRACTIONAL and setting val2 to the ADC resolution. Fixes: 3587914bf61d ("iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC") Signed-off-by: Roman Vivchar <rva333@protonmail.com> --- drivers/iio/adc/mt6359-auxadc.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/iio/adc/mt6359-auxadc.c b/drivers/iio/adc/mt6359-auxadc.c index 09432d0974cf..3a969c30f633 100644 --- a/drivers/iio/adc/mt6359-auxadc.c +++ b/drivers/iio/adc/mt6359-auxadc.c @@ -770,13 +770,9 @@ static int mt6359_auxadc_read_raw(struct iio_dev *indio_dev, if (mask == IIO_CHAN_INFO_SCALE) { *val = desc->r_ratio.numerator * cinfo->vref_mV; + *val2 = desc->r_ratio.denominator << chan->scan_type.realbits; - if (desc->r_ratio.denominator > 1) { - *val2 = desc->r_ratio.denominator; - return IIO_VAL_FRACTIONAL; - } - - return IIO_VAL_INT; + return IIO_VAL_FRACTIONAL; } scoped_guard(mutex, &adc_dev->lock) { -- 2.56.0 ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-11-10 20:39 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2026-11-03 16:32 [PATCH 0/3] iio: adc: mt6359-auxadc: various fixes Roman Vivchar via B4 Relay 2026-11-03 16:32 ` [PATCH 1/3] iio: adc: mt6359-auxadc: correct channel types to IIO_VOLTAGE Roman Vivchar via B4 Relay 2026-11-03 23:42 ` Jonathan Cameron 2026-11-04 0:10 ` Roman Vivchar 2026-11-10 20:39 ` Roman Vivchar 2026-11-03 16:32 ` [PATCH 2/3] iio: adc: mt6359-auxadc: mask conversion ready bit in mt6358_read_imp Roman Vivchar via B4 Relay 2026-11-03 23:45 ` Jonathan Cameron 2026-11-04 0:19 ` Roman Vivchar 2026-11-03 16:32 ` [PATCH 3/3] iio: adc: mt6359-auxadc: fix scale calculation Roman Vivchar via B4 Relay
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®