117 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/iio/imu/invensense,mpu6050.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking Device8 9maintainers:10 - Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>11 12description: |13 These devices support both I2C and SPI bus interfaces.14 15properties:16 compatible:17 oneOf:18 - enum:19 - invensense,iam2068020 - invensense,icm2060821 - invensense,icm2060922 - invensense,icm2068923 - invensense,icm2060224 - invensense,icm2069025 - invensense,mpu600026 - invensense,mpu605027 - invensense,mpu650028 - invensense,mpu651529 - invensense,mpu688030 - invensense,mpu915031 - invensense,mpu925032 - invensense,mpu925533 - items:34 - const: invensense,icm2060035 - const: invensense,icm2060236 - items:37 - const: invensense,icm20608d38 - const: invensense,icm2060839 40 reg:41 maxItems: 142 43 interrupts:44 maxItems: 145 46 vdd-supply: true47 vddio-supply: true48 49 mount-matrix: true50 51 invensense,level-shifter:52 type: boolean53 description: |54 From ancient platform data struct: false: VLogic, true: VDD55 56 i2c-gate:57 $ref: /schemas/i2c/i2c-controller.yaml58 unevaluatedProperties: false59 description: |60 These devices also support an auxiliary i2c bus via an i2c-gate.61 62allOf:63 - $ref: /schemas/spi/spi-peripheral-props.yaml#64 - if:65 properties:66 compatible:67 contains:68 enum:69 - invensense,iam2068070 - invensense,icm2060271 - invensense,icm2060872 - invensense,icm2060973 - invensense,icm2068974 then:75 properties:76 i2c-gate: false77 78unevaluatedProperties: false79 80required:81 - compatible82 - reg83 - interrupts84 85examples:86 - |87 #include <dt-bindings/interrupt-controller/irq.h>88 i2c {89 #address-cells = <1>;90 #size-cells = <0>;91 92 imu@68 {93 compatible = "invensense,mpu9250";94 reg = <0x68>;95 interrupt-parent = <&gpio3>;96 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;97 mount-matrix = "-0.984807753012208", /* x0 */98 "0", /* y0 */99 "-0.173648177666930", /* z0 */100 "0", /* x1 */101 "-1", /* y1 */102 "0", /* z1 */103 "-0.173648177666930", /* x2 */104 "0", /* y2 */105 "0.984807753012208"; /* z2 */106 i2c-gate {107 #address-cells = <1>;108 #size-cells = <0>;109 magnetometer@c {110 compatible = "asahi-kasei,ak8975";111 reg = <0x0c>;112 };113 };114 };115 };116...117