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