On Mon, 14 Feb 2022 09:38:05 +0200 Cosmin Tanislav <demonsingur@xxxxxxxxx> wrote: > The ADXL367 is an ultralow power, 3-axis MEMS accelerometer. > > The ADXL367 does not alias input signals to achieve ultralow power > consumption, it samples the full bandwidth of the sensor at all > data rates. Measurement ranges of +-2g, +-4g, and +-8g are available, > with a resolution of 0.25mg/LSB on the +-2 g range. > > In addition to its ultralow power consumption, the ADXL367 > has many features to enable true system level power reduction. > It includes a deep multimode output FIFO, a built-in micropower > temperature sensor, and an internal ADC for synchronous conversion > of an additional analog input. Looks good to me. Series applied to the togreg branch of iio.git and pushed out as testing to let the autobuilders see if they can find anything we missed. Thanks, Jonathan > > V1 -> V2 > * add support for vdd and vddio supplies > * lock fifo_watermark retrieval > * fix indentation of sysfs_emit for fifo_mode > * dt-bindings: add spi-max-frequency: true > * dt-bindings: remove cs-gpios property > * dt-bindings: remove status property > * dt-bindings: add support for vdd > > V2 -> V3 > * MAINTAINERS: use wildcard for adxl367 > * dt-bindings: adxl367@addr -> accelerometer@addr > * put asm include after linux includes > * drop registers accessed implicitly > * fifo_full -> fifo_watermark > * print expected device id > * remove INDIO_BUFFER_HARDWARE > * inline ADXL367_EVENT macro > * inline ADXL367_14BIT_SCAN_INFO > * inline regulator enum > * remove of.h in spi driver > * cast const void * to const u8 * in spi read > * switch to trigger-less buffer > * increase reset time as advised by hardware team > * let iio framework validate available channel masks > * enable adc or temp channel automatically on single read > * wait for 100ms after enabling adc or temp for output > to settle on single read (waiting on hardware team input) > * enable adc or temp channel automatically on buffered read > * claim direct mode when setting range > * claim direct mode when setting odr > * claim direct mode when setting event config > * sort status masks in descending bit order > * hardcode indio_dev name > * add some comments regarding spi message layout > * use bulk_write for activity and inactivity threshold > * use bulk_write for inactivity time > * use bool as return type of fifo format finding function > * remove shift from channels scan type > > V3 -> V4 > * add a patch that introduces mag_referenced event type > * add a patch that documents mag_referenced event type > * add a patch that adds a note to the buffer/enable documentation > regarding configuration of other attributes during buffer capture > * remove unused adxl367_time_scale_tbl > * add static attribute to adxl367_write_raw_get_fmt > * return IRQ_HANDLED when FIFO read fails and print error message > * scale temperature value by 1000 to reach milli degrees C > * merge dev_to_iio_dev into useplace when indio_dev is not needed > * merge preenable into postenable and postdisable into predisable > * fix default inactivity threshold > * export probe symbol to namespace > * IIO_EV_TYPE_THRESH -> IIO_EV_TYPE_MAG_REFERENCED > * reset device and then verify dev id for 10ms > * share events by type so that they show up with iio_accel prefix in the > events subdirectory > * use a separate mask for extracting data > I previously removed the shift fron scan_type since the FIFO data does > not contain a shift but that broke single channel reads. Add it back > just for single channel reads. > > V4 -> V5 > * linux/module.h -> linux/mod_devicetable.h > * extract fifo_formats into separate array to allow arbitrary scan mask > order > * reorder channel_masks and fifo_formats > * prepend IIO_ to ADXL367 namespace > * use adxl367_fifo_formats array size to iterate over channel_masks table > > Cosmin Tanislav (5): > iio: introduce mag_referenced > iio: ABI: document mag_referenced > iio: ABI: add note about configuring other attributes during buffer > capture > dt-bindings: iio: accel: add ADXL367 > iio: accel: add ADXL367 driver > > Documentation/ABI/testing/sysfs-bus-iio | 30 + > .../bindings/iio/accel/adi,adxl367.yaml | 79 + > MAINTAINERS | 8 + > drivers/iio/accel/Kconfig | 27 + > drivers/iio/accel/Makefile | 3 + > drivers/iio/accel/adxl367.c | 1588 +++++++++++++++++ > drivers/iio/accel/adxl367.h | 23 + > drivers/iio/accel/adxl367_i2c.c | 90 + > drivers/iio/accel/adxl367_spi.c | 164 ++ > drivers/iio/industrialio-event.c | 1 + > include/uapi/linux/iio/types.h | 1 + > tools/iio/iio_event_monitor.c | 1 + > 12 files changed, 2015 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/accel/adi,adxl367.yaml > create mode 100644 drivers/iio/accel/adxl367.c > create mode 100644 drivers/iio/accel/adxl367.h > create mode 100644 drivers/iio/accel/adxl367_i2c.c > create mode 100644 drivers/iio/accel/adxl367_spi.c >