lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241012115743.4a878daa@jic23-huawei>
Date: Sat, 12 Oct 2024 11:57:43 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Justin Weiss <justin@...tinweiss.com>
Cc: Alex Lanzano <lanzano.alex@...il.com>, Lars-Peter Clausen
 <lars@...afoo.de>, linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org,
 "Derek J . Clark" <derekjohn.clark@...il.com>, Philip Müller <philm@...jaro.org>
Subject: Re: [PATCH 0/3] Add i2c driver for Bosch BMI260 IMU

On Fri, 11 Oct 2024 08:37:46 -0700
Justin Weiss <justin@...tinweiss.com> wrote:

> Add support for the Bosch BMI260 IMU to the BMI270 device driver.
> 
> The BMI270 and BMI260 have nearly identical register maps, but have
> different chip IDs and firmware.
> 
> The BMI260 is the IMU on a number of handheld PCs. Unfortunately,
> these devices often misidentify it in ACPI as a BMI160 ("BMI0160," for
> example), and it can only be correctly identified using the chip
> ID. I've changed the driver to fail if the chip ID isn't recognized so
> the firmware initialization data isn't sent to incompatible devices.

So just to check, is the firmware always specific to an individual chip?

Normally we strongly resist hard checks on mismatched IDs because they break
the option for using fallback compatibles to get some support on older
kernels for newer devices, but if the firmware is locked to a
device then that is a good justification.  Fallback compatibles in DT
will never work here.

Note that means you need a specific compatible in
Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml

Technically you could match on a single ID and figure it out, but that
will lead to potential confusion if an older kernel is used with a binding
written against current kernel and the driver just doesn't work. Not a regression
but in my view inelegant.


Make sure you include this detail about specific firmware selection in there
as well.

Jonathan

> 
> Also add triggered buffer and scale / sampling frequency attributes,
> which the input tools commonly used on handheld PCs require to support
> IMUs.
> 
> Like the BMI270, the BMI260 requires firmware to be provided.
> 
> Signed-off-by: Justin Weiss <justin@...tinweiss.com>
> ---
> 
> Justin Weiss (3):
>   iio: imu: Add i2c driver for bmi260 imu
>   iio: imu: Add triggered buffer for Bosch BMI270 IMU
>   iio: imu: Add scale and sampling frequency to BMI270 IMU
> 
>  drivers/iio/imu/bmi270/Kconfig       |   1 +
>  drivers/iio/imu/bmi270/bmi270.h      |  24 +-
>  drivers/iio/imu/bmi270/bmi270_core.c | 369 ++++++++++++++++++++++++++-
>  drivers/iio/imu/bmi270/bmi270_i2c.c  |  22 +-
>  drivers/iio/imu/bmi270/bmi270_spi.c  |  11 +-
>  5 files changed, 413 insertions(+), 14 deletions(-)
> 
> 
> base-commit: 96be67caa0f0420d4128cb67f07bbd7a6f49e03a


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ