# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/st,st-sensors.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics MEMS sensors

description: The STMicroelectronics sensor devices are pretty straight-forward
  I2C or SPI devices, all sharing the same device tree descriptions no matter
  what type of sensor it is.
  Note that whilst this covers many STMicro MEMs sensors, some more complex
  IMUs need their own bindings.
  The STMicroelectronics sensor devices are pretty straight-forward I2C or
  SPI devices, all sharing the same device tree descriptions no matter what
  type of sensor it is.

maintainers:
  - Denis Ciocca <denis.ciocca@st.com>
  - Linus Walleij <linus.walleij@linaro.org>

properties:
  compatible:
    oneOf:
      - description: STMicroelectronics Accelerometers
        enum:
          - st,h3lis331dl-accel
          - st,lis2de12
          - st,lis2dw12
          - st,lis2hh12
          - st,lis2dh12-accel
          - st,lis302dl
          - st,lis331dl-accel
          - st,lis331dlh-accel
          - st,lis3de
          - st,lis3dh-accel
          - st,lis3dhh
          - st,lis3l02dq
          - st,lis3lv02dl-accel
          - st,lng2dm-accel
          - st,lsm303agr-accel
          - st,lsm303c-accel
          - st,lsm303dl-accel
          - st,lsm303dlh-accel
          - st,lsm303dlhc-accel
          - st,lsm303dlm-accel
          - st,lsm330-accel
          - st,lsm330d-accel
          - st,lsm330dl-accel
          - st,lsm330dlc-accel
      - description: Silan Accelerometers
        enum:
          - silan,sc7a20
      - description: STMicroelectronics Gyroscopes
        enum:
          - st,l3g4200d-gyro
          - st,l3g4is-gyro
          - st,l3gd20-gyro
          - st,l3gd20h-gyro
          - st,lsm330-gyro
          - st,lsm330d-gyro
          - st,lsm330dl-gyro
          - st,lsm330dlc-gyro
          - st,lsm9ds0-gyro
      - description: STMicroelectronics Magnetometers
        enum:
          - st,lis2mdl
          - st,lis3mdl-magn
          - st,lsm303agr-magn
          - st,lsm303c-magn
          - st,lsm303dlh-magn
          - st,lsm303dlhc-magn
          - st,lsm303dlm-magn
          - st,lsm9ds1-magn
      - description: STMicroelectronics Pressure Sensors
        enum:
          - st,lps001wp-press
          - st,lps22df
          - st,lps22hb-press
          - st,lps22hh
          - st,lps25h-press
          - st,lps331ap-press
          - st,lps33hw
          - st,lps35hw
      - description: IMUs
        enum:
          - st,lsm9ds0-imu
      - description: Deprecated bindings
        enum:
          - st,lis302dl-spi
          - st,lis3lv02d
        deprecated: true

  reg:
    maxItems: 1

  interrupts:
    description: interrupt line(s) connected to the DRDY line(s) and/or the
      Intertial interrupt lines INT1 and INT2 if these exist. This means up to
      three interrupts, and the DRDY must be the first one if it exists on
      the package. The trigger edge of the interrupts is sometimes software
      configurable in the hardware so the operating system should parse this
      flag and set up the trigger edge as indicated in the device tree.
    minItems: 1
    maxItems: 2

  vdd-supply: true
  vddio-supply: true

  st,drdy-int-pin:
    description: the pin on the package that will be used to signal
      "data ready" (valid values 1 or 2). This property is not configurable
      on all sensors.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2]

  drive-open-drain:
    $ref: /schemas/types.yaml#/definitions/flag
    description: the interrupt/data ready line will be configured
      as open drain, which is useful if several sensors share the same
      interrupt line. (This binding is taken from pinctrl.)

  mount-matrix:
    description: an optional 3x3 mounting rotation matrix.

allOf:
  - if:
      properties:
        compatible:
          enum:
            # These have no interrupts
            - st,lps001wp
    then:
      properties:
        interrupts: false
        st,drdy-int-pin: false
        drive-open-drain: false

  - if:
      properties:
        compatible:
          enum:
            # These have only DRDY
            - st,lis2mdl
            - st,lis3l02dq
            - st,lis3lv02dl-accel
            - st,lps22df
            - st,lps22hb-press
            - st,lps22hh
            - st,lps25h-press
            - st,lps33hw
            - st,lps35hw
            - st,lsm303agr-magn
            - st,lsm303dlh-magn
            - st,lsm303dlhc-magn
            - st,lsm303dlm-magn
    then:
      properties:
        interrupts:
          maxItems: 1
        st,drdy-int-pin: false

required:
  - compatible
  - reg

additionalProperties: false

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

      accelerometer@1c {
        compatible = "st,lis331dl-accel";
        reg = <0x1c>;
        st,drdy-int-pin = <1>;
        vdd-supply = <&ldo1>;
        vddio-supply = <&ldo2>;
        interrupt-parent = <&gpio>;
        interrupts = <18 IRQ_TYPE_EDGE_RISING>, <19 IRQ_TYPE_EDGE_RISING>;
      };
    };
    spi {
      #address-cells = <1>;
      #size-cells = <0>;
      num-cs = <1>;

      l3g4200d: gyroscope@0 {
        compatible = "st,l3g4200d-gyro";
        st,drdy-int-pin = <2>;
        reg = <0>;
        vdd-supply = <&vcc_io>;
        vddio-supply = <&vcc_io>;
      };
    };
...
