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