Add support for the Analog Devices ADXL371, a +-200g 3-axis MEMS
accelerometer that shares the same register map as the ADXL372 but
differs in ODR/bandwidth values (320-5120 Hz vs 400-6400 Hz) and
timer scale factors.
The first patch introduces a chip_info structure to parameterize
device-specific properties, replacing hardcoded values with per-chip
lookups. The second patch adds the ADXL371 compatible string to the
dt-binding. The third patch factors out the buffer and trigger setup
into a dedicated helper to reduce probe complexity. The fourth patch
adds the ADXL371 chip_info and disables FIFO support due to a silicon
anomaly (er001) that causes FIFO data misalignment on all current
ADXL371 silicon.
Changes in v2:
- Switch from custom sysfs callbacks to read_avail() with
info_mask_shared_by_type_available for sampling_frequency and
filter_low_pass_3db_frequency available attributes.
- Add new patch (3/4) factoring out buffer and trigger setup from
probe into adxl372_buffer_setup() helper.
- Use designated initializers for ADXL371 frequency tables.
- Add Acked-by from Conor Dooley on dt-bindings patch.
Antoniu Miclaus (4):
iio: accel: adxl372: introduce chip_info structure
dt-bindings: iio: accel: adi,adxl372: add ADXL371 compatible
iio: accel: adxl372: factor out buffer and trigger setup
iio: accel: adxl372: add support for ADXL371
.../bindings/iio/accel/adi,adxl372.yaml | 9 +-
MAINTAINERS | 5 +-
drivers/iio/accel/Kconfig | 12 +-
drivers/iio/accel/adxl372.c | 273 +++++++++++-------
drivers/iio/accel/adxl372.h | 20 +-
drivers/iio/accel/adxl372_i2c.c | 19 +-
drivers/iio/accel/adxl372_spi.c | 19 +-
7 files changed, 227 insertions(+), 130 deletions(-)
--
2.43.0