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