Re: [PATCH] iio: magnetometer: tlv493d: fix magnetic field scale
From: Jonathan Cameron
Date: Sun Oct 18 2026 - 14:00:24 EST
On Sun, 18 Oct 2026 21:29:49 +0530
Dixit Parmar <dixitparmar19@xxxxxxxxx> wrote:
> LGTM. Good catch. There seem to be miscalculated Gauss scale due to
> multiple conversion factor.
>
> Reviewed-by: Dixit Parmar <dixitparmar19@xxxxxxxxx>
>
Thanks for the fast response!
Applied to the fixes-togreg branch of iio.git and marked for stable.
Thanks,
Jonathan
> On Sun, Oct 18, 2026 at 9:22 PM Dixit Parmar <dixitparmar19@xxxxxxxxx> wrote:
> >
> > This change looks correct, the Gauss scale value seem to be miscalculated due to multiple conversations and different reference. Good catch.
> >
> > On Sunday, October 18, 2026, Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
> >>
> >> On Wed, 14 Oct 2026 23:07:36 +0530
> >> Viral Patel <viral8854@xxxxxxxxx> wrote:
> >>
> >> > The TLV493D-A1B6 datasheet specifies a magnetic resolution of
> >> > 98 uT/LSB (0.098 mT/LSB). IIO reports magnetic field in Gauss
> >> > (1 mT = 10 G), so the scale should be 0.98 G/LSB.
> >> >
> >> > The driver currently reports 98/1000 = 0.098 G/LSB, which
> >> > under-reports the magnetic field by a factor of 10. The comment
> >> > also gives the resolution as 0.0098 mT (9.8 uT), mixing up units.
> >> >
> >> > Correct the scale value and the comment.
> >> >
> >> > Fixes: 106511d280c7 ("iio: magnetometer: add support for Infineon TLV493D 3D Magentic sensor")
> >> > Signed-off-by: Viral Patel <viral8854@xxxxxxxxx>
> >>
> >> I'll give some time for Dixit to take a look at this.
> >>
> >> Thanks,
> >>
> >> Jonathan
> >>
> >> > ---
> >> > Found while comparing this driver against the TLE493D-W2B6 register
> >> > map for a new driver I am working on. Compile-tested only; I do not
> >> > have TLV493D-A1B6 hardware.
> >> > ---
> >> > drivers/iio/magnetometer/tlv493d.c | 6 +++---
> >> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >> >
> >> > diff --git a/drivers/iio/magnetometer/tlv493d.c b/drivers/iio/magnetometer/tlv493d.c
> >> > index 03415cc2c9b3..234e3ce63ff7 100644
> >> > --- a/drivers/iio/magnetometer/tlv493d.c
> >> > +++ b/drivers/iio/magnetometer/tlv493d.c
> >> > @@ -299,11 +299,11 @@ static int tlv493d_read_raw(struct iio_dev *indio_dev,
> >> > switch (chan->type) {
> >> > case IIO_MAGN:
> >> > /*
> >> > - * Magnetic field scale: 0.0098 mTesla (i.e. 9.8 µT)
> >> > - * Magnetic field in Gauss: mT * 10 = 0.098.
> >> > + * Magnetic field scale: 0.098 mTesla (i.e. 98 µT) per LSB.
> >> > + * In Gauss (1 mT = 10 G): 0.98 G per LSB.
> >> > */
> >> > *val = 98;
> >> > - *val2 = 1000;
> >> > + *val2 = 100;
> >> > return IIO_VAL_FRACTIONAL;
> >> > case IIO_TEMP:
> >> > /*
> >> >
> >> > ---
> >> > base-commit: ceb05f22e5cdc3f8bd3f7d5dcfc57843942191dd
> >> > change-id: 20261014-tlv493d-scale-fix-5a0b83b52d2a
> >> >
> >> > Best regards,
> >>
>