Commit 4314a0b7 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'iio-for-6.1b' of...

Merge tag 'iio-for-6.1b' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next

Jonathan writes:

Second set of IIO new device support, features and cleanup for the 6.1 cycle.

Normal mixed bag of new device support with continuing trend that most new
devices are supported by extending existing drivers - a positive sign perhaps
that device manufacturers have somewhat stabilized their interfaces across
product generations. The BNO055 driver was however a substantial addition
including several additions to the IIO core.

There are a number of significant patch sets under review, so if the 6.0
cycle runs long I may send a 3rd pull request.

New device support
* adi,adxl313
  - Support for the ADXL312 and ADXL314 accelerometers.
* bosch,bmp280
  - Support for the BMP380 family of pressures sensors.
    Included considerable refactoring and modernization of the bmp280
    driver.
* bosch,bno055
  - New driver for this i2c/serial attached complex IMU.
* lltc,ltc2497
  - Support for the LTC2499 16 channel, 24bit ADC.
* st,pressure
  - Support for the LPS22DF pressure sensor
* st,lsm6dsx
  - Support for the LSM6DSTX (Mainly adding the ID and WAI)

Features
* core - to support the bosch,bno055 requirements
  - Support for linear acceleration channel type (effect  of gravity removed)
  - Pitch, yaw and roll modifiers for angle channels.
  - Standard serialnumber attribute documentation.
  - Binary attributes - to allow for calibration save and restore.
* adi,ad7923
  - Support extended range (wider supported input voltage range).
* bosch,bmp280
  - Add filter controls for some supported parts.
* microchip,mcp3911
  - Buffered capture support for this ADC.
  - Data ready interrupt support, including hiz control for line.
  - Oversampling ratio support.
* st,stm32-adc
  - Support ID registers on parts where they are present, providing
    discoverability of some features.

Fixes - late breaking fixes that I judged could wait for the merge window.
* adi,ad5593r
  - Add a missing STOP condition between address write and data read.
  - Check for related i2c functionality.
* adi,ad7923
  - Fix shift reporting for some variants supported by the driver.
* infinion,dps310
  - Work around a hardware issue where a chip can hang by adding a
    timeout and reset path.

Cleanups
* Continuing work to switch to new pm macros.
* MAINTAINERS
  - Drop duplication of wild card covered entry in ADI block and
    add missing entries to cover ltc294x binding files.
* bosch,bma400
  - Fix trivial smatch warning.
* bosch,bmp280
  - Fix broken links to datasheets
* lltc,ltc2497
  - Fix missing entry for ltc2499
* mexelis,mlx90614
  - Switch to get_avail() callback for _available attributes.
* microchip,mcp3911
  - Move to devm_ resource management for all elements of probe()

* tag 'iio-for-6.1b' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (57 commits)
  iio: adc: mcp3911: add support for oversampling ratio
  dt-bindings: iio: adc: mcp3911: add microchip,data-ready-hiz entry
  iio: adc: mcp3911: add support for interrupts
  iio: adc: mcp3911: add support for buffers
  iio: adc: mcp3911: use resource-managed version of iio_device_register
  iio: accel: bma400: Fix smatch warning based on use of unintialized value.
  iio: light: st_uvis25: Use EXPORT_NS_SIMPLE_DEV_PM_OPS()
  iio: accel: bmi088: Use EXPORT_NS_GPL_RUNTIME_DEV_PM_OPS() and pm_ptr()
  iio: proximity: srf04: Use pm_ptr() to remove unused struct dev_pm_ops
  iio: proximity: sx9360: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
  iio: proximity: sx9324: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
  iio: proximity: sx9310: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
  docs: iio: add documentation for BNO055 driver
  iio: imu: add BNO055 I2C driver
  iio: imu: add BNO055 serdev driver
  dt-bindings: iio/imu: Add Bosch BNO055
  iio: document "serialnumber" sysfs attribute
  iio: document bno055 private sysfs attributes
  iio: imu: add Bosch Sensortec BNO055 core driver
  iio: add support for binary attributes
  ...
parents 3e081438 6d965885
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -260,6 +260,15 @@ Description:
		Has all of the equivalent parameters as per voltageY. Units
		after application of scale and offset are m/s^2.

What:		/sys/bus/iio/devices/iio:deviceX/in_accel_linear_x_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_accel_linear_y_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_accel_linear_z_raw
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		As per in_accel_X_raw attributes, but minus the
		acceleration due to gravity.

What:		/sys/bus/iio/devices/iio:deviceX/in_gravity_x_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_gravity_y_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_gravity_z_raw
@@ -2137,3 +2146,19 @@ Contact: linux-iio@vger.kernel.org
Description:
		Lists all available time values between upper peak to lower
		peak. Units in seconds.

What:		/sys/bus/iio/devices/iio:deviceX/in_rot_yaw_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_rot_pitch_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_rot_roll_raw
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Raw (unscaled) euler angles readings. Units after
		application of scale are deg.

What:		/sys/bus/iio/devices/iio:deviceX/serialnumber
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		An example format is 16-bytes, 2-digits-per-byte, HEX-string
		representing the sensor unique ID number.
+81 −0
Original line number Diff line number Diff line
What:		/sys/bus/iio/devices/iio:deviceX/in_accel_raw_range
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Raw (unscaled) range for acceleration readings. Unit after
		application of scale is m/s^2. Note that this doesn't affects
		the scale (which should be used when changing the maximum and
		minimum readable value affects also the reading scaling factor).

What:		/sys/bus/iio/devices/iio:deviceX/in_anglvel_raw_range
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Range for angular velocity readings in radians per second. Note
		that this does not affects the scale (which should be used when
		changing the maximum and minimum readable value affects also the
		reading scaling factor).

What:		/sys/bus/iio/devices/iio:deviceX/in_accel_raw_range_available
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		List of allowed values for in_accel_raw_range attribute

What:		/sys/bus/iio/devices/iio:deviceX/in_anglvel_raw_range_available
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		List of allowed values for in_anglvel_raw_range attribute

What:		/sys/bus/iio/devices/iio:deviceX/in_magn_calibration_fast_enable
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Can be 1 or 0. Enables/disables the "Fast Magnetometer
		Calibration" HW function.

What:		/sys/bus/iio/devices/iio:deviceX/fusion_enable
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Can be 1 or 0. Enables/disables the "sensor fusion" (a.k.a.
		NDOF) HW function.

What:		/sys/bus/iio/devices/iio:deviceX/calibration_data
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Reports the binary calibration data blob for the IMU sensors.

What:		/sys/bus/iio/devices/iio:deviceX/in_accel_calibration_auto_status
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Reports the autocalibration status for the accelerometer sensor.
		Can be 0 (calibration non even enabled) or 1 to 5 where the greater
		the number, the better the calibration status.

What:		/sys/bus/iio/devices/iio:deviceX/in_gyro_calibration_auto_status
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Reports the autocalibration status for the gyroscope sensor.
		Can be 0 (calibration non even enabled) or 1 to 5 where the greater
		the number, the better the calibration status.

What:		/sys/bus/iio/devices/iio:deviceX/in_magn_calibration_auto_status
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Reports the autocalibration status for the magnetometer sensor.
		Can be 0 (calibration non even enabled) or 1 to 5 where the greater
		the number, the better the calibration status.

What:		/sys/bus/iio/devices/iio:deviceX/sys_calibration_auto_status
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Reports the status for the IMU overall autocalibration.
		Can be 0 (calibration non even enabled) or 1 to 5 where the greater
		the number, the better the calibration status.
+7 −3
Original line number Diff line number Diff line
@@ -4,20 +4,24 @@
$id: http://devicetree.org/schemas/iio/accel/adi,adxl313.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices ADXL313 3-Axis Digital Accelerometer
title: Analog Devices ADXL312, ADXL313, and ADXL314 3-Axis Digital Accelerometers

maintainers:
  - Lucas Stankus <lucas.p.stankus@gmail.com>

description: |
  Analog Devices ADXL313 3-Axis Digital Accelerometer that supports
  both I2C & SPI interfaces.
  Analog Devices ADXL312, ADXL313, and ADXL314 3-Axis Digital Accelerometer that
  support both I2C & SPI interfaces.
    https://www.analog.com/en/products/adxl312.html
    https://www.analog.com/en/products/adxl313.html
    https://www.analog.com/en/products/adxl314.html

properties:
  compatible:
    enum:
      - adi,adxl312
      - adi,adxl313
      - adi,adxl314

  reg:
    maxItems: 1
+4 −0
Original line number Diff line number Diff line
@@ -36,6 +36,10 @@ properties:
    description: |
      The regulator supply for ADC reference voltage.

  adi,range-double:
    description: Sets the analog input range from 0 to 2xVREF.
    type: boolean

  '#address-cells':
    const: 1

+6 −2
Original line number Diff line number Diff line
@@ -13,10 +13,14 @@ description: |
  16bit ADC supporting up to 16 single ended or 8 differential inputs.
  I2C interface.

  https://www.analog.com/media/en/technical-documentation/data-sheets/2497fb.pdf
  https://www.analog.com/media/en/technical-documentation/data-sheets/2499fe.pdf

properties:
  compatible:
    const:
      lltc,ltc2497
    enum:
      - lltc,ltc2497
      - lltc,ltc2499

  reg: true
  vref-supply: true
Loading