forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
191 lines
5.2 KiB
191 lines
5.2 KiB
# 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: 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. |
|
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 <[email protected]> |
|
- Linus Walleij <[email protected]> |
|
|
|
properties: |
|
compatible: |
|
oneOf: |
|
- description: STMicroelectronics Accelerometers |
|
enum: |
|
- st,h3lis331dl-accel |
|
- st,lis2de12 |
|
- st,lis2dw12 |
|
- st,lis2hh12 |
|
- st,lis2dh12-accel |
|
- st,lis331dl-accel |
|
- st,lis331dlh-accel |
|
- st,lis3de |
|
- st,lis3dh-accel |
|
- st,lis3dhh |
|
- st,lis3l02dq |
|
- st,lis3lv02dl-accel |
|
- st,lng2dm-accel |
|
- st,lsm303agr-accel |
|
- st,lsm303dl-accel |
|
- st,lsm303dlh-accel |
|
- st,lsm303dlhc-accel |
|
- st,lsm303dlm-accel |
|
- st,lsm330-accel |
|
- st,lsm330d-accel |
|
- st,lsm330dl-accel |
|
- st,lsm330dlc-accel |
|
- description: STMicroelectronics Gyroscopes |
|
enum: |
|
- st,l3g4200d-gyro |
|
- st,l3g4is-gyro |
|
- st,l3gd20-gyro |
|
- st,l3gd20h-gyro |
|
- st,lsm330-gyro |
|
- st,lsm330d-gyro |
|
- st,lsm330dl-gyro |
|
- st,lsm330dlc-gyro |
|
- st,lsm9ds0-gyro |
|
- description: STMicroelectronics Magnetometers |
|
enum: |
|
- st,lis2mdl |
|
- st,lis3mdl-magn |
|
- st,lsm303agr-magn |
|
- st,lsm303dlh-magn |
|
- st,lsm303dlhc-magn |
|
- st,lsm303dlm-magn |
|
- st,lsm9ds1-magn |
|
- description: STMicroelectronics Pressure Sensors |
|
enum: |
|
- st,lps001wp-press |
|
- st,lps22hb-press |
|
- st,lps22hh |
|
- st,lps25h-press |
|
- st,lps331ap-press |
|
- st,lps33hw |
|
- st,lps35hw |
|
- description: IMUs |
|
enum: |
|
- st,lsm9ds0-imu |
|
- description: Deprecated bindings |
|
enum: |
|
- st,lis302dl-spi |
|
- st,lis3lv02d |
|
deprecated: true |
|
|
|
reg: |
|
maxItems: 1 |
|
|
|
interrupts: |
|
description: interrupt line(s) connected to the DRDY line(s) and/or the |
|
Intertial interrupt lines INT1 and INT2 if these exist. This means up to |
|
three interrupts, and the DRDY must be the first one if it exists on |
|
the package. The trigger edge of the interrupts is sometimes software |
|
configurable in the hardware so the operating system should parse this |
|
flag and set up the trigger edge as indicated in the device tree. |
|
minItems: 1 |
|
maxItems: 2 |
|
|
|
vdd-supply: true |
|
vddio-supply: true |
|
|
|
st,drdy-int-pin: |
|
description: the pin on the package that will be used to signal |
|
"data ready" (valid values 1 or 2). This property is not configurable |
|
on all sensors. |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
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. (This binding is taken from pinctrl.) |
|
|
|
mount-matrix: |
|
description: an optional 3x3 mounting rotation matrix. |
|
|
|
allOf: |
|
- if: |
|
properties: |
|
compatible: |
|
enum: |
|
# These have no interrupts |
|
- st,lps001wp |
|
then: |
|
properties: |
|
interrupts: false |
|
st,drdy-int-pin: false |
|
drive-open-drain: false |
|
|
|
- if: |
|
properties: |
|
compatible: |
|
enum: |
|
# These have only DRDY |
|
- st,lis2mdl |
|
- st,lis3l02dq |
|
- st,lis3lv02dl-accel |
|
- st,lps22hb-press |
|
- st,lps22hh |
|
- st,lps25h-press |
|
- st,lps33hw |
|
- st,lps35hw |
|
- st,lsm303agr-magn |
|
- st,lsm303dlh-magn |
|
- st,lsm303dlhc-magn |
|
- st,lsm303dlm-magn |
|
then: |
|
properties: |
|
interrupts: |
|
maxItems: 1 |
|
st,drdy-int-pin: false |
|
|
|
required: |
|
- compatible |
|
- reg |
|
|
|
additionalProperties: false |
|
|
|
examples: |
|
- | |
|
#include <dt-bindings/interrupt-controller/irq.h> |
|
i2c { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
|
|
accelerometer@1c { |
|
compatible = "st,lis331dl-accel"; |
|
reg = <0x1c>; |
|
st,drdy-int-pin = <1>; |
|
vdd-supply = <&ldo1>; |
|
vddio-supply = <&ldo2>; |
|
interrupt-parent = <&gpio>; |
|
interrupts = <18 IRQ_TYPE_EDGE_RISING>, <19 IRQ_TYPE_EDGE_RISING>; |
|
}; |
|
}; |
|
spi { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
num-cs = <1>; |
|
|
|
l3g4200d: gyroscope@0 { |
|
compatible = "st,l3g4200d-gyro"; |
|
st,drdy-int-pin = <2>; |
|
reg = <0>; |
|
vdd-supply = <&vcc_io>; |
|
vddio-supply = <&vcc_io>; |
|
}; |
|
}; |
|
...
|
|
|