0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/iio/imu/st,lsm6dsx.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: STM 6-axis (acc + gyro) IMU Mems sensors
0008
0009 maintainers:
0010 - Lorenzo Bianconi <lorenzo@kernel.org>
0011
0012 description:
0013 Devices have both I2C and SPI interfaces.
0014
0015 properties:
0016 compatible:
0017 oneOf:
0018 - enum:
0019 - st,lsm6ds3
0020 - st,lsm6ds3h
0021 - st,lsm6dsl
0022 - st,lsm6dsm
0023 - st,ism330dlc
0024 - st,lsm6dso
0025 - st,asm330lhh
0026 - st,lsm6dsox
0027 - st,lsm6dsr
0028 - st,lsm6ds3tr-c
0029 - st,ism330dhcx
0030 - st,lsm9ds1-imu
0031 - st,lsm6ds0
0032 - st,lsm6dsrx
0033 - st,lsm6dst
0034 - st,lsm6dsop
0035 - items:
0036 - const: st,asm330lhhx
0037 - const: st,lsm6dsr
0038
0039 reg:
0040 maxItems: 1
0041
0042 interrupts:
0043 minItems: 1
0044 maxItems: 2
0045 description:
0046 Supports up to 2 interrupt lines via the INT1 and INT2 pins.
0047
0048 spi-max-frequency: true
0049
0050 vdd-supply:
0051 description: if defined provides VDD power to the sensor.
0052
0053 vddio-supply:
0054 description: if defined provides VDD IO power to the sensor.
0055
0056 st,drdy-int-pin:
0057 $ref: '/schemas/types.yaml#/definitions/uint32'
0058 description: |
0059 The pin on the package that will be used to signal data ready
0060 enum:
0061 - 1
0062 - 2
0063
0064 st,pullups:
0065 type: boolean
0066 description: enable/disable internal i2c controller pullup resistors.
0067
0068 st,disable-sensor-hub:
0069 type: boolean
0070 description:
0071 Enable/disable internal i2c controller slave autoprobing at bootstrap.
0072 Disable sensor-hub is useful if i2c controller clock/data lines are
0073 connected through a pull-up with other chip lines (e.g. SDO/SA0).
0074
0075 drive-open-drain:
0076 type: boolean
0077 description:
0078 The interrupt/data ready line will be configured as open drain, which
0079 is useful if several sensors share the same interrupt line.
0080
0081 wakeup-source:
0082 $ref: /schemas/types.yaml#/definitions/flag
0083
0084 additionalProperties: false
0085
0086 required:
0087 - compatible
0088 - reg
0089
0090 examples:
0091 - |
0092 #include <dt-bindings/interrupt-controller/irq.h>
0093 i2c {
0094 #address-cells = <1>;
0095 #size-cells = <0>;
0096
0097 imu@6b {
0098 compatible = "st,lsm6dsm";
0099 reg = <0x6b>;
0100 interrupt-parent = <&gpio0>;
0101 interrupts = <0 IRQ_TYPE_EDGE_RISING>;
0102 };
0103 };
0104 ...