a9aa46861c
This binding document covers a very large number of different sensors. As such the existing documentation is less specific than it could be (such as which devices have 2 interrupt pin options). That can be improved later. Denis, are you happy to be listed as maintainer for this one? If not feel free to suggestion someone else. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Rob Herring <robh@kernel.org> Acked-by: Denis Ciocca <denis.ciocca@st.com> Cc: Denis Ciocca <denis.ciocca@st.com> Link: https://lore.kernel.org/r/20201031184854.745828-45-jic23@kernel.org
124 lines
3.0 KiB
YAML
124 lines
3.0 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/iio/st,st-sensors.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: STMicroelectronics MEMS sensors
|
|
|
|
description: |
|
|
Note that whilst this covers many STMicro MEMs sensors, some more complex
|
|
IMUs need their own bindings.
|
|
The STMicroelectronics sensor devices are pretty straight-forward I2C or
|
|
SPI devices, all sharing the same device tree descriptions no matter what
|
|
type of sensor it is.
|
|
|
|
maintainers:
|
|
- Denis Ciocca <denis.ciocca@st.com>
|
|
|
|
properties:
|
|
compatible:
|
|
description: |
|
|
Some values are deprecated.
|
|
st,lis3lv02d (deprecated, use st,lis3lv02dl-accel)
|
|
st,lis302dl-spi (deprecated, use st,lis3lv02dl-accel)
|
|
enum:
|
|
# Accelerometers
|
|
- st,lis3lv02d
|
|
- st,lis302dl-spi
|
|
- st,lis3lv02dl-accel
|
|
- st,lsm303dlh-accel
|
|
- st,lsm303dlhc-accel
|
|
- st,lis3dh-accel
|
|
- st,lsm330d-accel
|
|
- st,lsm330dl-accel
|
|
- st,lsm330dlc-accel
|
|
- st,lis331dl-accel
|
|
- st,lis331dlh-accel
|
|
- st,lsm303dl-accel
|
|
- st,lsm303dlm-accel
|
|
- st,lsm330-accel
|
|
- st,lsm303agr-accel
|
|
- st,lis2dh12-accel
|
|
- st,h3lis331dl-accel
|
|
- st,lng2dm-accel
|
|
- st,lis3l02dq
|
|
- st,lis2dw12
|
|
- st,lis3dhh
|
|
- st,lis3de
|
|
- st,lis2de12
|
|
- st,lis2hh12
|
|
# Gyroscopes
|
|
- st,l3g4200d-gyro
|
|
- st,lsm330d-gyro
|
|
- st,lsm330dl-gyro
|
|
- st,lsm330dlc-gyro
|
|
- st,l3gd20-gyro
|
|
- st,l3gd20h-gyro
|
|
- st,l3g4is-gyro
|
|
- st,lsm330-gyro
|
|
- st,lsm9ds0-gyro
|
|
# Magnetometers
|
|
- st,lsm303agr-magn
|
|
- st,lsm303dlh-magn
|
|
- st,lsm303dlhc-magn
|
|
- st,lsm303dlm-magn
|
|
- st,lis3mdl-magn
|
|
- st,lis2mdl
|
|
- st,lsm9ds1-magn
|
|
# Pressure sensors
|
|
- st,lps001wp-press
|
|
- st,lps25h-press
|
|
- st,lps331ap-press
|
|
- st,lps22hb-press
|
|
- st,lps33hw
|
|
- st,lps35hw
|
|
- st,lps22hh
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
minItems: 1
|
|
|
|
vdd-supply: true
|
|
vddio-supply: true
|
|
|
|
st,drdy-int-pin:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description:
|
|
Some sensors have multiple possible pins via which they can provide
|
|
a data ready interrupt. This selects which one.
|
|
enum:
|
|
- 1
|
|
- 2
|
|
|
|
drive-open-drain:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description: |
|
|
The interrupt/data ready line will be configured as open drain, which
|
|
is useful if several sensors share the same interrupt line.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
accelerometer@1d {
|
|
compatible = "st,lis3lv02dl-accel";
|
|
reg = <0x1d>;
|
|
interrupt-parent = <&gpio2>;
|
|
interrupts = <18 IRQ_TYPE_EDGE_RISING>;
|
|
pinctrl-0 = <&lis3lv02dl_nhk_mode>;
|
|
pinctrl-names = "default";
|
|
};
|
|
};
|
|
...
|