blob: 68b481c633188378031594101e3b5d531787af01 [file] [log] [blame]
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/imu/st,lsm6dsx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: STM 6-axis (acc + gyro) IMU Mems sensors
maintainers:
- Lorenzo Bianconi <lorenzo@kernel.org>
description:
Devices have both I2C and SPI interfaces.
properties:
compatible:
oneOf:
- enum:
- st,lsm6ds3
- st,lsm6ds3h
- st,lsm6dsl
- st,lsm6dsm
- st,ism330dlc
- st,lsm6dso
- st,asm330lhh
- st,lsm6dsox
- st,lsm6dsr
- st,lsm6ds3tr-c
- st,ism330dhcx
- st,lsm9ds1-imu
- st,lsm6ds0
- st,lsm6dsrx
- st,lsm6dst
- st,lsm6dsop
- st,lsm6dsv
- st,lsm6dso16is
- items:
- const: st,asm330lhhx
- const: st,lsm6dsr
- items:
- const: st,lsm6dstx
- const: st,lsm6dst
- items:
- const: st,lsm6dsv16x
- const: st,lsm6dsv
- items:
- const: st,ism330is
- const: st,lsm6dso16is
reg:
maxItems: 1
interrupts:
minItems: 1
maxItems: 2
description:
Supports up to 2 interrupt lines via the INT1 and INT2 pins.
vdd-supply:
description: if defined provides VDD power to the sensor.
vddio-supply:
description: if defined provides VDD IO power to the sensor.
st,drdy-int-pin:
$ref: '/schemas/types.yaml#/definitions/uint32'
description: |
The pin on the package that will be used to signal data ready
enum:
- 1
- 2
st,pullups:
type: boolean
description: enable/disable internal i2c controller pullup resistors.
st,disable-sensor-hub:
type: boolean
description:
Enable/disable internal i2c controller slave autoprobing at bootstrap.
Disable sensor-hub is useful if i2c controller clock/data lines are
connected through a pull-up with other chip lines (e.g. SDO/SA0).
drive-open-drain:
type: boolean
description:
The interrupt/data ready line will be configured as open drain, which
is useful if several sensors share the same interrupt line.
wakeup-source:
$ref: /schemas/types.yaml#/definitions/flag
required:
- compatible
- reg
allOf:
- $ref: /schemas/spi/spi-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
imu@6b {
compatible = "st,lsm6dsm";
reg = <0x6b>;
interrupt-parent = <&gpio0>;
interrupts = <0 IRQ_TYPE_EDGE_RISING>;
};
};
...