[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260205191321.7e5f7b49@jic23-huawei>
Date: Thu, 5 Feb 2026 19:13:21 +0000
From: Jonathan Cameron <jic23@...nel.org>
To: Jean-Baptiste Maneyrol via B4 Relay
<devnull+jean-baptiste.maneyrol.tdk.com@...nel.org>
Cc: jean-baptiste.maneyrol@....com, Remi Buisson <remi.buisson@....com>,
David Lechner <dlechner@...libre.com>, Nuno Sá
<nuno.sa@...log.com>, Andy Shevchenko <andy@...nel.org>, Jonathan Cameron
<Jonathan.Cameron@...wei.com>, linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH v3] iio: imu: inv_icm45600: fix INT1 drive bit inverted
On Thu, 05 Feb 2026 17:59:14 +0100
Jean-Baptiste Maneyrol via B4 Relay <devnull+jean-baptiste.maneyrol.tdk.com@...nel.org> wrote:
> From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@....com>
>
> Drive bit must be set for open-drain mode and be cleared for push-pull
> mode.
>
> Referring to datasheet DS-000576_ICM-45605.pdf section 17.23
> INT1_CONFIG2.
>
> Fixes: 06674a72cf7a ("iio: imu: inv_icm45600: add buffer support in iio devices")
> Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@....com>
> Reviewed-by: Andy Shevchenko <andy@...nel.org>
> Cc: stable@...r.kernel.org
Applied to the fixes-togreg branch of iio.git. Note that has a
random base at the moment, so I'll wait for release or rc1 and then
rebase on that before pushing out.
Thanks,
Jonathan
> ---
> Changes in v3:
> - Add precisions in datasheet reference
> - Add missing reviewed-by tag
> - Link to v2: https://lore.kernel.org/r/20260205-inv-icm45600-fix-int1-drive-bit-v2-1-5e72608ea154@tdk.com
>
> Changes in v2:
> - Add datasheet precision where to find the bits
> - Link to v1: https://lore.kernel.org/r/20260205-inv-icm45600-fix-int1-drive-bit-v1-1-72a78cd07150@tdk.com
> ---
> drivers/iio/imu/inv_icm45600/inv_icm45600.h | 2 +-
> drivers/iio/imu/inv_icm45600/inv_icm45600_core.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/imu/inv_icm45600/inv_icm45600.h b/drivers/iio/imu/inv_icm45600/inv_icm45600.h
> index c5b5446f6c3b43150512bcc4357cee385080b634..1c796d4b2a4038203f734f80d7bf7bad138c3497 100644
> --- a/drivers/iio/imu/inv_icm45600/inv_icm45600.h
> +++ b/drivers/iio/imu/inv_icm45600/inv_icm45600.h
> @@ -205,7 +205,7 @@ struct inv_icm45600_sensor_state {
> #define INV_ICM45600_SPI_SLEW_RATE_38NS 0
>
> #define INV_ICM45600_REG_INT1_CONFIG2 0x0018
> -#define INV_ICM45600_INT1_CONFIG2_PUSH_PULL BIT(2)
> +#define INV_ICM45600_INT1_CONFIG2_OPEN_DRAIN BIT(2)
> #define INV_ICM45600_INT1_CONFIG2_LATCHED BIT(1)
> #define INV_ICM45600_INT1_CONFIG2_ACTIVE_HIGH BIT(0)
> #define INV_ICM45600_INT1_CONFIG2_ACTIVE_LOW 0x00
> diff --git a/drivers/iio/imu/inv_icm45600/inv_icm45600_core.c b/drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
> index ab1cb7b9dba435a3280e50ab77cd16e903c7816c..b028044d609a41f6d4b747383323130ded0d2e79 100644
> --- a/drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
> +++ b/drivers/iio/imu/inv_icm45600/inv_icm45600_core.c
> @@ -637,8 +637,8 @@ static int inv_icm45600_irq_init(struct inv_icm45600_state *st, int irq,
> break;
> }
>
> - if (!open_drain)
> - val |= INV_ICM45600_INT1_CONFIG2_PUSH_PULL;
> + if (open_drain)
> + val |= INV_ICM45600_INT1_CONFIG2_OPEN_DRAIN;
>
> ret = regmap_write(st->map, INV_ICM45600_REG_INT1_CONFIG2, val);
> if (ret)
>
> ---
> base-commit: d820183f371d9aa8517a1cd21fe6edacf0f94b7f
> change-id: 20260205-inv-icm45600-fix-int1-drive-bit-7d12ea3e2cd2
>
> Best regards,
Powered by blists - more mailing lists