GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / iio / imu / st,lsm6dsx.yaml
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
7 title: STM 6-axis (acc + gyro) IMU Mems sensors
8
9 maintainers:
10   - Lorenzo Bianconi <lorenzo@kernel.org>
11
12 description:
13   Devices have both I2C and SPI interfaces.
14
15 properties:
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
96   mount-matrix:
97     description: an optional 3x3 mounting rotation matrix
98
99 required:
100   - compatible
101   - reg
102
103 allOf:
104   - $ref: /schemas/iio/iio.yaml#
105   - $ref: /schemas/spi/spi-peripheral-props.yaml#
106
107 unevaluatedProperties: false
108
109 examples:
110   - |
111     #include <dt-bindings/interrupt-controller/irq.h>
112     i2c {
113         #address-cells = <1>;
114         #size-cells = <0>;
115
116         imu@6b {
117             compatible = "st,lsm6dsm";
118             reg = <0x6b>;
119             interrupt-parent = <&gpio0>;
120             interrupts = <0 IRQ_TYPE_EDGE_RISING>;
121         };
122     };
123 ...