# Copyright (c) 2018 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0

include: sensor-device.yaml

properties:
    irq-gpios:
      type: phandle-array
      description: |
        The INT1 and (optional) INT2 signal connections.  These signals
        are active-high as produced by the sensor.

    disconnect-sdo-sa0-pull-up:
      type: boolean
      description: |
        Indicates the device driver should disconnect SDO/SA0 pull-up
        during device initialization (e.g. to save current
        leakage). Note that only subset of devices supported by this
        binding have SDO/SA0 pull-up (e.g. LIS2DH12, LIS3DH).

    anym-on-int1:
      type: boolean
      description: |
        Indicates that the device driver should use interrupt 1
        for any movement. This is for boards that only have one
        interrupt line connected from the sensor to the processor.

    anym-no-latch:
      type: boolean
      description: |
        Disable the latching of interrupts for any movement.

    anym-mode:
      type: int
      default: 0
      description: |
        Select the interrupt mode for any movement.

        0 = OR combination of interrupt events
        1 = 6D movement recognition
        2 = AND combination of interrupt events
        3 = 6D position recognition

        The default of 0 is the power-on-reset value.
      enum:
        - 0
        - 1
        - 2
        - 3
