Re: [PATCH] iio: imu: inv_icm42600: fix timestamp clock period by using lower value
From: Jean-Baptiste Maneyrol
Date: Fri Jul 03 2026 - 12:15:13 EST
>From: Jean-Baptiste Maneyrol via B4 Relay <devnull+jean-baptiste.maneyrol.tdk.com@xxxxxxxxxx>
>Sent: Tuesday, June 23, 2026 16:22
>To: Jonathan Cameron; David Lechner; Nuno Sá; Andy Shevchenko
>Cc: linux-iio@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Jonathan Cameron; stable@xxxxxxxxxxxxxxx; Jean-Baptiste Maneyrol
>Subject: [PATCH] iio: imu: inv_icm42600: fix timestamp clock period by using lower value
>
>From: Jean-Baptiste Maneyrol <jean-baptiste. maneyrol@ tdk. com> Clock period value is used for computing periods of sampling. There is no need for it to be higher than the maximum odr, otherwise we are losing precision in the computation
>ZjQcmQRYFpfptBannerStart
>This Message Is From an External Sender
>This message came from outside your organization.
>
>ZjQcmQRYFpfptBannerEnd
>
>From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@xxxxxxx>
>
>Clock period value is used for computing periods of sampling. There is
>no need for it to be higher than the maximum odr, otherwise we are
>losing precision in the computation for nothing.
>
>Switch clock period value to maximum odr period (8kHz).
>
>Fixes: 0ecc363ccea7 ("iio: make invensense timestamp module generic")
>Cc: stable@xxxxxxxxxxxxxxx
>Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@xxxxxxx>
>---
> drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c | 4 ++--
> drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
>diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
>index 532d5fdffaf8..7df920ef3cf0 100644
>--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
>+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
>@@ -1170,10 +1170,10 @@ struct iio_dev *inv_icm42600_accel_init(struct inv_icm42600_state *st)
> accel_st->filter = INV_ICM42600_FILTER_AVG_16X;
>
> /*
>- * clock period is 32kHz (31250ns)
>+ * clock period is 8kHz (125000ns)
> * jitter is +/- 2% (20 per mille)
> */
>- ts_chip.clock_period = 31250;
>+ ts_chip.clock_period = 125000;
> ts_chip.jitter = 20;
> ts_chip.init_period = inv_icm42600_odr_to_period(st->conf.accel.odr);
> inv_sensors_timestamp_init(&accel_st->ts, &ts_chip);
>diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
>index 11339ddf1da3..a18dcac93929 100644
>--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
>+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
>@@ -755,10 +755,10 @@ struct iio_dev *inv_icm42600_gyro_init(struct inv_icm42600_state *st)
> }
>
> /*
>- * clock period is 32kHz (31250ns)
>+ * clock period is 8kHz (125000ns)
> * jitter is +/- 2% (20 per mille)
> */
>- ts_chip.clock_period = 31250;
>+ ts_chip.clock_period = 125000;
> ts_chip.jitter = 20;
> ts_chip.init_period = inv_icm42600_odr_to_period(st->conf.accel.odr);
> inv_sensors_timestamp_init(&gyro_st->ts, &ts_chip);
>
>---
>base-commit: cc746297b23e89bd5df9f91f3a0ca209e8991763
>change-id: 20260623-inv-icm42600-fix-timestamp-clock-period-931338a848c3
>
>Best regards,
>--
>Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@xxxxxxx>
>
>
Hello Jonathan,
any update about this patch?
Thanks,
JB