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          - st,lsm6dsv
36          - st,lsm6dso16is
37      - items:
38          - const: st,asm330lhhx
39          - const: st,lsm6dsr
40      - items:
41          - const: st,lsm6dstx
42          - const: st,lsm6dst
43      - items:
44          - const: st,lsm6dsv16x
45          - const: st,lsm6dsv
46      - items:
47          - const: st,ism330is
48          - const: st,lsm6dso16is
49
50  reg:
51    maxItems: 1
52
53  interrupts:
54    minItems: 1
55    maxItems: 2
56    description:
57      Supports up to 2 interrupt lines via the INT1 and INT2 pins.
58
59  vdd-supply:
60    description: if defined provides VDD power to the sensor.
61
62  vddio-supply:
63    description: if defined provides VDD IO power to the sensor.
64
65  st,drdy-int-pin:
66    $ref: '/schemas/types.yaml#/definitions/uint32'
67    description: |
68      The pin on the package that will be used to signal data ready
69    enum:
70      - 1
71      - 2
72
73  st,pullups:
74    type: boolean
75    description: enable/disable internal i2c controller pullup resistors.
76
77  st,disable-sensor-hub:
78    type: boolean
79    description:
80      Enable/disable internal i2c controller slave autoprobing at bootstrap.
81      Disable sensor-hub is useful if i2c controller clock/data lines are
82      connected through a pull-up with other chip lines (e.g. SDO/SA0).
83
84  drive-open-drain:
85    type: boolean
86    description:
87      The interrupt/data ready line will be configured as open drain, which
88      is useful if several sensors share the same interrupt line.
89
90  wakeup-source:
91    $ref: /schemas/types.yaml#/definitions/flag
92
93required:
94  - compatible
95  - reg
96
97allOf:
98  - $ref: /schemas/spi/spi-peripheral-props.yaml#
99
100unevaluatedProperties: false
101
102examples:
103  - |
104    #include <dt-bindings/interrupt-controller/irq.h>
105    i2c {
106        #address-cells = <1>;
107        #size-cells = <0>;
108
109        imu@6b {
110            compatible = "st,lsm6dsm";
111            reg = <0x6b>;
112            interrupt-parent = <&gpio0>;
113            interrupts = <0 IRQ_TYPE_EDGE_RISING>;
114        };
115    };
116...
117