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    enum:
18      - st,lsm6ds3
19      - st,lsm6ds3h
20      - st,lsm6dsl
21      - st,lsm6dsm
22      - st,ism330dlc
23      - st,lsm6dso
24      - st,asm330lhh
25      - st,lsm6dsox
26      - st,lsm6dsr
27      - st,lsm6ds3tr-c
28      - st,ism330dhcx
29      - st,lsm9ds1-imu
30      - st,lsm6ds0
31      - st,lsm6dsrx
32      - st,lsm6dst
33      - st,lsm6dsop
34
35  reg:
36    maxItems: 1
37
38  interrupts:
39    minItems: 1
40    maxItems: 2
41    description:
42      Supports up to 2 interrupt lines via the INT1 and INT2 pins.
43
44  spi-max-frequency: true
45
46  vdd-supply:
47    description: if defined provides VDD power to the sensor.
48
49  vddio-supply:
50    description: if defined provides VDD IO power to the sensor.
51
52  st,drdy-int-pin:
53    $ref: '/schemas/types.yaml#/definitions/uint32'
54    description: |
55      The pin on the package that will be used to signal data ready
56    enum:
57      - 1
58      - 2
59
60  st,pullups:
61    type: boolean
62    description: enable/disable internal i2c controller pullup resistors.
63
64  drive-open-drain:
65    type: boolean
66    description:
67      The interrupt/data ready line will be configured as open drain, which
68      is useful if several sensors share the same interrupt line.
69
70  wakeup-source:
71    $ref: /schemas/types.yaml#/definitions/flag
72
73additionalProperties: false
74
75required:
76  - compatible
77  - reg
78
79examples:
80  - |
81    #include <dt-bindings/interrupt-controller/irq.h>
82    i2c {
83        #address-cells = <1>;
84        #size-cells = <0>;
85
86        imu@6b {
87            compatible = "st,lsm6dsm";
88            reg = <0x6b>;
89            interrupt-parent = <&gpio0>;
90            interrupts = <0 IRQ_TYPE_EDGE_RISING>;
91        };
92    };
93...
94