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