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

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

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

Jonathan writes:

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

New device suport
* ad7606
  - Support the AD7616 16 channel, 12bit ADC.
* fxas21002c
  - New driver for this gyroscope with I2C and SPI support.
* lsm6dsx
  - Support the lsm6dsr, new device information structure and dt bindings.
* srf04
  - Addition device IDs for mb1000, mb1010, mb1020, mb1030 and mb1040 +
    support of different required trigger pulse lengths.
* st-accel
  - Support the ls2de12, new device info and dt bindings.
* ti-ads8344
  - New driver for this 8 channel, 16 bit SPI ADC.

Binding conversions to yaml - we have started doing these in general for IIO.
* avia-hx711
* bmp085

Cleanups and minor fixes / additions
* ad5758
  - Fixup for some changes between preproduction parts and final part.
* ad7606
  - Refactor handling of oversampling to make it easy to vary between
    supported devices.
* ad9832
  - Organise includes.
  - Clock framework to handle clocks.
* ad9834
  - Drop unnecessary parenthesis.
* bmc150
  - Use __func__ rather than hardcoding.
* dummy_evgen.
  - Fix a memleak on error in probe.
* kxcjk1013
  - Add KXCJ91008 ACPI ID as seen in the wild.
  - Use __func__ rather than hardcoding.
* imx7d
  - Local dev variable to simplify code a bit.
  - dev_err replaces pr_err to give more info.
  - devm_platform_ioremap_resource for small reduction in boilerplate.
  - Simplify probe and remove by sharing suspend / resume logic.
  - Devm for iio_device_register as remove only contains the unregister.
* lsm6dsx
  - Remove a variable that was never read.
  - Open code values where they are effectively described by what is assigned
    to them rather than using uninformative defines.
* max31856
  - Avoid an unintialized ret variable in a path that can't actually occur
    but is hard for a static checker to know.
* max9611
  - White space
* mpu3050
  - Reduce a sleep worst case by switching from msleep to usleep_range.
* qcom-spmi-adc5
  - Add MODULE_DEVICE_TABLE to assist autoloading of this as a module.
* stm32-dfsdm
  - Fix missing dependencies.
* stm32-timer trigger
  - Fix a build issue when disabled.
* ti-ads7950
  - Fix mising dependency on CONFIG_GPIOLIB.

* tag 'iio-for-5.2b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (42 commits)
  iio: adc: qcom-spmi-adc5: Fix of-based module autoloading
  iio: dummy_evgen: fix possible memleak in evgen init
  iio:accel:Switch hardcoded function name with a reference to __func__ making the code more maintainable
  iio: adc: stm32-dfsdm: fix triggered buffer build dependency
  iio: adc: stm32-dfsdm: fix unmet direct dependencies detected
  iio: trigger: stm32-timer: fix build issue when disabled
  iio: imx7d_adc: Use devm_iio_device_register()
  iio: imx7d_adc: Simplify imx7d_adc_remove() with imx7d_adc_suspend()
  iio: imx7d_adc: Simplify imx7d_adc_probe() with imx7d_adc_resume()
  drivers/iio/gyro/mpu3050-core.c: This patch fix the following checkpatch warning.
  iio: dac: ad5758: Modifications for new revision
  iio: imu: st_lsm6dsx: inline per-sensor data
  iio: adc: Add driver for the TI ADS8344 A/DC chips
  dt-bindings: iio: adc: Add bindings for TI ADS8344 A/DC chips
  MAINTAINERS: add entry for fxas21002c gyro driver
  iio: gyro: fxas21002c: add spi driver
  iio: gyro: fxas21002c: add i2c driver
  iio: gyro: add core driver for fxas21002c
  iio: gyro: add DT bindings to fxas21002c
  Kconfig: change configuration of srf04 ultrasonic iio sensor
  ...
parents 817de6b8 447ccb4e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ Required properties for the AD7606:
	* "adi,ad7606-8"
	* "adi,ad7606-6"
	* "adi,ad7606-4"
	* "adi,ad7616"
- reg: SPI chip select number for the device
- spi-max-frequency: Max SPI frequency to use
	see: Documentation/devicetree/bindings/spi/spi-bus.txt
+0 −24
Original line number Diff line number Diff line
* AVIA HX711 ADC chip for weight cells
  Bit-banging driver

Required properties:
 - compatible:	Should be "avia,hx711"
 - sck-gpios:	Definition of the GPIO for the clock
 - dout-gpios:	Definition of the GPIO for data-out
		See Documentation/devicetree/bindings/gpio/gpio.txt
 - avdd-supply:	Definition of the regulator used as analog supply

Optional properties:
 - clock-frequency:	Frequency of PD_SCK in Hz
			Minimum value allowed is 10 kHz because of maximum
			high time of 50 microseconds.

Example:
weight {
	compatible = "avia,hx711";
	sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;
	dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
	avdd-suppy = <&avdd>;
	clock-frequency = <100000>;
};
+66 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: "http://devicetree.org/schemas/iio/adc/avia-hx711.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: AVIA HX711 ADC chip for weight cells

maintainers:
  - Andreas Klinger <ak@it-klinger.de>

description: |
  Bit-banging driver using two GPIOs:
  - sck-gpio gives a clock to the sensor with 24 cycles for data retrieval
    and up to 3 cycles for selection of the input channel and gain for the
    next measurement
  - dout-gpio is the sensor data the sensor responds to the clock

  Specifications about the driver can be found at:
  http://www.aviaic.com/ENProducts.aspx

properties:
  compatible:
    enum:
      - avia,hx711

  sck-gpios:
    description:
      Definition of the GPIO for the clock (output). In the datasheet it is
      named PD_SCK
    maxItems: 1

  dout-gpios:
    description:
      Definition of the GPIO for the data-out sent by the sensor in
      response to the clock (input).
      See Documentation/devicetree/bindings/gpio/gpio.txt for information
      on how to specify a consumer gpio.
    maxItems: 1

  avdd-supply:
    description:
      Definition of the regulator used as analog supply
    maxItems: 1

  clock-frequency:
    minimum: 20000
    maximum: 2500000
    default: 400000

required:
  - compatible
  - sck-gpios
  - dout-gpios
  - avdd-supply

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    weight {
        compatible = "avia,hx711";
        sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;
        dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
        avdd-suppy = <&avdd>;
        clock-frequency = <100000>;
    };
+19 −0
Original line number Diff line number Diff line
* Texas Instruments ADS8344 A/DC chip

Required properties:
 - compatible: Must be "ti,ads8344"
 - reg: SPI chip select number for the device
 - vref-supply: phandle to a regulator node that supplies the
   reference voltage

Recommended properties:
 - spi-max-frequency: Definition as per
		Documentation/devicetree/bindings/spi/spi-bus.txt

Example:
adc@0 {
	compatible = "ti,ads8344";
	reg = <0>;
	vref-supply = <&refin_supply>;
	spi-max-frequency = <10000000>;
};
+31 −0
Original line number Diff line number Diff line
* NXP FXAS21002C Gyroscope device tree bindings

http://www.nxp.com/products/sensors/gyroscopes/3-axis-digital-gyroscope:FXAS21002C

Required properties:
  - compatible : should be "nxp,fxas21002c"
  - reg : the I2C address of the sensor or SPI chip select number for the
          device.
  - vdd-supply: phandle to the regulator that provides power to the sensor.
  - vddio-supply: phandle to the regulator that provides power to the bus.

Optional properties:
  - reset-gpios : gpio used to reset the device, see gpio/gpio.txt
  - interrupts : device support 2 interrupts, INT1 and INT2,
                 the interrupts can be triggered on rising or falling edges.
                 See interrupt-controller/interrupts.txt
  - interrupt-names: should contain "INT1" or "INT2", the gyroscope interrupt
                     line in use.
  - drive-open-drain: the interrupt/data ready line will be configured
                      as open drain, which is useful if several sensors share
                      the same interrupt line. This is a boolean property.
                      (This binding is taken from pinctrl/pinctrl-bindings.txt)

Example:

gyroscope@20 {
	compatible = "nxp,fxas21002c";
	reg = <0x20>;
	vdd-supply = <&reg_peri_3p15v>;
	vddio-supply = <&reg_peri_3p15v>;
};
Loading