Re: [PATCH 2/3] iio: imu: mpu6050: add level shifter flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux