1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/imu/st,lsm6dsx.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: STM 6-axis (acc + gyro) IMU Mems sensors
8
9maintainers:
10  - Lorenzo Bianconi <lorenzo@kernel.org>
11
12description:
13  Devices have both I2C and SPI interfaces.
14
15properties:
16  compatible:
17    oneOf:
18      - enum:
19          - st,lsm6ds3
20          - st,lsm6ds3h
21          - st,lsm6dsl
22          - st,lsm6dsm
23          - st,ism330dlc
24          - st,lsm6dso
25          - st,asm330lhh
26          - st,lsm6dsox
27          - st,lsm6dsr
28          - st,lsm6ds3tr-c
29          - st,ism330dhcx
30          - st,lsm9ds1-imu
31          - st,lsm6ds0
32          - st,lsm6dsrx
33          - st,lsm6dst
34          - st,lsm6dsop
35      - items:
36          - const: st,asm330lhhx
37          - const: st,lsm6dsr
38
39  reg:
40    maxItems: 1
41
42  interrupts:
43    minItems: 1
44    maxItems: 2
45    description:
46      Supports up to 2 interrupt lines via the INT1 and INT2 pins.
47
48  vdd-supply:
49    description: if defined provides VDD power to the sensor.
50
51  vddio-supply:
52    description: if defined provides VDD IO power to the sensor.
53
54  st,drdy-int-pin:
55    $ref: '/schemas/types.yaml#/definitions/uint32'
56    description: |
57      The pin on the package that will be used to signal data ready
58    enum:
59      - 1
60      - 2
61
62  st,pullups:
63    type: boolean
64    description: enable/disable internal i2c controller pullup resistors.
65
66  st,disable-sensor-hub:
67    type: boolean
68    description:
69      Enable/disable internal i2c controller slave autoprobing at bootstrap.
70      Disable sensor-hub is useful if i2c controller clock/data lines are
71      connected through a pull-up with other chip lines (e.g. SDO/SA0).
72
73  drive-open-drain:
74    type: boolean
75    description:
76      The interrupt/data ready line will be configured as open drain, which
77      is useful if several sensors share the same interrupt line.
78
79  wakeup-source:
80    $ref: /schemas/types.yaml#/definitions/flag
81
82required:
83  - compatible
84  - reg
85
86allOf:
87  - $ref: /schemas/spi/spi-peripheral-props.yaml#
88
89unevaluatedProperties: false
90
91examples:
92  - |
93    #include <dt-bindings/interrupt-controller/irq.h>
94    i2c {
95        #address-cells = <1>;
96        #size-cells = <0>;
97
98        imu@6b {
99            compatible = "st,lsm6dsm";
100            reg = <0x6b>;
101            interrupt-parent = <&gpio0>;
102            interrupts = <0 IRQ_TYPE_EDGE_RISING>;
103        };
104    };
105...
106