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

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

Merge tag 'iio-for-5.8b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

Second set of new device support, cleanups and features for IIO in the 5.8 cycle

Usual mixed back but with a few subsystem wide or device type
wide cleanups.

New device support

* adis16475
  - New driver supporting adis16470, adis16475, adis16477, adis16465,
    adis16467, adis16500, adis16505 and adis16507.
    Includes some rework of the adis library to simplify using it
    for this new driver.
* ak8974
  - Add support for Alps hscdt008a. ID only. Related patches add support
    for scale.
* atlas-sensor
  - Add support for RTD-SM OEM temperature sensor.
* cm32181
  - Add support for CM3218 including support for SMBUS alert via
    ACPI resources.
* ltc2632
  - Add support for ltc2634-12/10/8 DACS including handling per
    device type numbers of channels.

Major Features

* cm32181
  - ACPI bindings including parsing CPM0 and CPM1 custom ACPI tables.
    Includes minor tidy ups and fixes.
* vcnl4000
  - Add event support
  - Add buffered data capture support
  - Add control of sampling frequency

Cleanups and minor fixes.

* core
  - Trivial rework of iio_device_alloc to use an early return and
    improve readability.
  - Precursors to addition of multiple buffer support. So far
    minor refactoring.
* subsystem wide
  - Use get_unaligned_be24 slightly improve readability over open
    coding it.
* adis drivers
  - Use iio_get_debugfs_dentry access function.
* bh1780, cm32181, cm3232, gp2ap02a00f, opt3001, st_uvis25, vl6180,
  dmard06, kxsd9
  - Drop use of of_match_ptr to allow ACPI based probing via PRP0001.
    Part of clear out of this to avoid cut and paste into new drivers.
* ad5592r, ad5593r
  - Fix typos
* ad5933
  - Use managed interfaces to automate error handling and remove.
* ak8974
  - Fix wrong number of 'real bits' for buffered data.
  - Refactor to pull measurement code out as separate function.
    bmp280
  - Fix lack of clamp on range during data capture.
* at91-sama5d2_adc
  - Handle unfinished conversions correctly.
  - Allow use of triggers other than it's own.
  - Reorganize buffer setup and tear down as part of long running
    subsystem wide rework.
* ccs811
  - Add DT binding docs and match table.
  - Support external reset and wakeup pins.
* hid-sensors
  - Reorganize buffer setup and tear down as part of long running
    subsystem wide rework.
* ltr501
  - Constify some structs.
* vcnl4000
  - Fix an endian issue by using explicit byte swapped i2c accessors.

* tag 'iio-for-5.8b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (74 commits)
  iio: light: ltr501: Constify structs
  staging: iio: ad5933: attach life-cycle of kfifo buffer to parent device and use managed calls throughout
  iio: bmp280: fix compensation of humidity
  iio: light: cm32181: Fix integartion time typo
  iio: light: cm32181: Add support for parsing CPM0 and CPM1 ACPI tables
  iio: light: cm32181: Make lux_per_bit and lux_per_bit_base_it runtime settings
  iio: light: cm32181: Use units of 1/100000th for calibscale and lux_per_bit
  iio: light: cm32181: Change reg_init to use a bitmap of which registers to init
  iio: light: cm32181: Handle CM3218 ACPI devices with 2 I2C resources
  iio: light: cm32181: Clean up the probe function a bit
  iio: light: cm32181: Add support for the CM3218
  iio: light: cm32181: Add some extra register defines
  iio: light: cm32181: Add support for ACPI enumeration
  iio: light: cm32181: Switch to new style i2c-driver probe function
  iio: hid-sensors: move triggered buffer setup into hid_sensor_setup_trigger
  iio: vcnl4000: Add buffer support for VCNL4010/20.
  iio: vcnl4000: Add sampling frequency support for VCNL4010/20.
  iio: vcnl4000: Add event support for VCNL4010/20.
  iio: vcnl4000: Factorize data reading and writing.
  iio: vcnl4000: Fix i2c swapped word reading.
  ...
parents c336c022 6b46ddb5
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/chemical/ams,ccs811.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: AMS CCS811 VOC Sensor

maintainers:
  - Narcisa Vasile <narcisaanamaria12@gmail.com>

description: |
  Ultra-Low Power Digital Gas Sensor for Monitoring Indoor Air Quality.

properties:
  compatible:
    enum:
      - ams,ccs811
  reg:
    maxItems: 1

  reset-gpios:
    description: GPIO connected to the nRESET line. This is an active low
                 input to CCS811.
    maxItems: 1

  wakeup-gpios:
    description: GPIO connected to the nWAKE line. This is an active low
                 input to CCS811.
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      voc@5b {
        compatible = "ams,ccs811";
        reg = <0x5b>;
        reset-gpios = <&gpioa 11 GPIO_ACTIVE_LOW>;
        wakeup-gpios = <&gpioa 12 GPIO_ACTIVE_LOW>;
      };
    };

...
+2 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ description: |
    http://www.atlas-scientific.com/_files/_datasheets/_oem/EC_oem_datasheet.pdf
    http://www.atlas-scientific.com/_files/_datasheets/_oem/ORP_oem_datasheet.pdf
    http://www.atlas-scientific.com/_files/_datasheets/_oem/pH_oem_datasheet.pdf
    http://www.atlas-scientific.com/_files/_datasheets/_oem/RTD_oem_datasheet.pdf

properties:
  compatible:
@@ -25,6 +26,7 @@ properties:
      - atlas,ec-sm
      - atlas,orp-sm
      - atlas,ph-sm
      - atlas,rtd-sm

  reg:
     maxItems: 1
+7 −1
Original line number Diff line number Diff line
Linear Technology LTC2632/2636 DAC
Linear Technology LTC2632/2634/2636 DAC

Required properties:
 - compatible: Has to contain one of the following:
@@ -8,6 +8,12 @@ Required properties:
	lltc,ltc2632-h12
	lltc,ltc2632-h10
	lltc,ltc2632-h8
	lltc,ltc2634-l12
	lltc,ltc2634-l10
	lltc,ltc2634-l8
	lltc,ltc2634-h12
	lltc,ltc2634-h10
	lltc,ltc2634-h8
	lltc,ltc2636-l12
	lltc,ltc2636-l10
	lltc,ltc2636-l8
+137 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/imu/adi,adis16475.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices ADIS16475 and similar IMUs

maintainers:
  - Nuno Sá <nuno.sa@analog.com>

description: |
  Analog Devices ADIS16475 and similar IMUs
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADIS16475.pdf

properties:
  compatible:
    enum:
      - adi,adis16475-1
      - adi,adis16475-2
      - adi,adis16475-3
      - adi,adis16477-1
      - adi,adis16477-2
      - adi,adis16477-3
      - adi,adis16470
      - adi,adis16465-1
      - adi,adis16465-2
      - adi,adis16465-3
      - adi,adis16467-1
      - adi,adis16467-2
      - adi,adis16467-3
      - adi,adis16500
      - adi,adis16505-1
      - adi,adis16505-2
      - adi,adis16505-3
      - adi,adis16507-1
      - adi,adis16507-2
      - adi,adis16507-3

  reg:
    maxItems: 1

  spi-cpha: true

  spi-cpol: true

  spi-max-frequency:
    maximum: 2000000

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  reset-gpios:
    description:
      Must be the device tree identifier of the RESET pin. If specified,
      it will be asserted during driver probe. As the line is active low,
      it should be marked GPIO_ACTIVE_LOW.
    maxItems: 1

  adi,sync-mode:
    description:
      Configures the device SYNC pin. The following modes are supported
      0 - output_sync
      1 - direct_sync
      2 - scaled_sync
      3 - pulse_sync
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 3

  adi,scaled-output-hz:
    description:
      This property must be present if the clock mode is scaled-sync through
      clock-names property. In this mode, the input clock can have a range
      of 1Hz to 128HZ which must be scaled to originate an allowable sample
      rate. This property specifies that rate.
    minimum: 1900
    maximum: 2100

required:
  - compatible
  - reg
  - interrupts
  - spi-cpha
  - spi-cpol

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - adi,adis16500
              - adi,adis16505-1
              - adi,adis16505-2
              - adi,adis16505-3
              - adi,adis16507-1
              - adi,adis16507-2
              - adi,adis16507-3

    then:
      properties:
        adi,sync-mode:
          minimum: 0
          maximum: 2

  - if:
      properties:
        adi,sync-mode:
          enum: [1, 2, 3]

    then:
      dependencies:
        adi,sync-mode: [ clocks ]

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    spi {
            #address-cells = <1>;
            #size-cells = <0>;

            adis16475: adis16475-3@0 {
                    compatible = "adi,adis16475-3";
                    reg = <0>;
                    spi-cpha;
                    spi-cpol;
                    spi-max-frequency = <2000000>;
                    interrupts = <4 IRQ_TYPE_EDGE_RISING>;
                    interrupt-parent = <&gpio>;
            };
    };
...
+3 −1
Original line number Diff line number Diff line
@@ -2,7 +2,9 @@

Required properties:

- compatible : should be "asahi-kasei,ak8974"
- compatible:
    * "asahi-kasei,ak8974"
    * "alps,hscdtd008a"
- reg : the I2C address of the magnetometer

Optional properties:
Loading