Re: [PATCH 2/3] iio: imu: mpu6050: add level shifter flag
From: Jean-Baptiste Maneyrol
Date: Mon Sep 25 2023 - 07:21:55 EST
Hello,
these are very old unsupported chips, thus this is not something I can easily find. Even after doing some archaeology.
But when looking at register maps, it should only be used with MPU-9150 and not MPU-9250. I would feel much more comfortable to restrict this fix to MPU-9150 only (by testing chip_type against INV_MPU9150).
Thanks,
JB
From: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
Sent: Monday, September 25, 2023 13:07
To: Andreas Kemnade <andreas@xxxxxxxxxxxx>
Cc: jic23@xxxxxxxxxx <jic23@xxxxxxxxxx>; lars@xxxxxxxxxx <lars@xxxxxxxxxx>; robh+dt@xxxxxxxxxx <robh+dt@xxxxxxxxxx>; krzysztof.kozlowski+dt@xxxxxxxxxx <krzysztof.kozlowski+dt@xxxxxxxxxx>; conor+dt@xxxxxxxxxx <conor+dt@xxxxxxxxxx>; bcousson@xxxxxxxxxxxx <bcousson@xxxxxxxxxxxx>; tony@xxxxxxxxxxx <tony@xxxxxxxxxxx>; Jean-Baptiste Maneyrol <Jean-Baptiste.Maneyrol@xxxxxxx>; chenhuiz@xxxxxxxx <chenhuiz@xxxxxxxx>; linux-iio@xxxxxxxxxxxxxxx <linux-iio@xxxxxxxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx <devicetree@xxxxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx <linux-kernel@xxxxxxxxxxxxxxx>; linux-omap@xxxxxxxxxxxxxxx <linux-omap@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH 2/3] iio: imu: mpu6050: add level shifter flag
On Mon, Sep 25, 2023 at 1: 26 AM Andreas Kemnade <andreas@ kemnade. info> wrote: > > Some boards fail in magnetometer probe if flag is not set. Which flag? Can you elaborate a bit more? Does it deserve the Fixes tag? .. . > unsigned
ZjQcmQRYFpfptBannerStart
This Message Is From an Untrusted Sender
You have not previously corresponded with this sender.
ZjQcmQRYFpfptBannerEnd
On Mon, Sep 25, 2023 at 1:26 AM Andreas Kemnade <andreas@xxxxxxxxxxxx> wrote:
>
> Some boards fail in magnetometer probe if flag is not set.
Which flag? Can you elaborate a bit more?
Does it deserve the Fixes tag?
...
> unsigned int val;
> int ret;
> + ret = regmap_update_bits(st->map, 0x1, 0x80,
> + st->level_shifter ? 0x80 : 0);
This is a bit cryptic, what does 1 stand for?
Also
unsigned int mask = BIT(7);
...
val = st->level_shifter ? mask : 0;
> + if (ret)
> + return ret;
...
> + st->level_shifter = device_property_present(dev,
> + "invensense,level-shifter");
It was a recommendation to use _read_bool() when reading the value,
while the result will be the same.
--
With Best Regards,
Andy Shevchenko