1*5def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*5def4c47SEmmanuel Vadot%YAML 1.2 3*5def4c47SEmmanuel Vadot--- 4*5def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/iio/imu/invensense,mpu6050.yaml# 5*5def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*5def4c47SEmmanuel Vadot 7*5def4c47SEmmanuel Vadottitle: InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking Device 8*5def4c47SEmmanuel Vadot 9*5def4c47SEmmanuel Vadotmaintainers: 10*5def4c47SEmmanuel Vadot - Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> 11*5def4c47SEmmanuel Vadot 12*5def4c47SEmmanuel Vadotdescription: | 13*5def4c47SEmmanuel Vadot These devices support both I2C and SPI bus interfaces. 14*5def4c47SEmmanuel Vadot 15*5def4c47SEmmanuel Vadotproperties: 16*5def4c47SEmmanuel Vadot compatible: 17*5def4c47SEmmanuel Vadot enum: 18*5def4c47SEmmanuel Vadot - invensense,iam20680 19*5def4c47SEmmanuel Vadot - invensense,icm20608 20*5def4c47SEmmanuel Vadot - invensense,icm20609 21*5def4c47SEmmanuel Vadot - invensense,icm20689 22*5def4c47SEmmanuel Vadot - invensense,icm20602 23*5def4c47SEmmanuel Vadot - invensense,icm20690 24*5def4c47SEmmanuel Vadot - invensense,mpu6000 25*5def4c47SEmmanuel Vadot - invensense,mpu6050 26*5def4c47SEmmanuel Vadot - invensense,mpu6500 27*5def4c47SEmmanuel Vadot - invensense,mpu6515 28*5def4c47SEmmanuel Vadot - invensense,mpu6880 29*5def4c47SEmmanuel Vadot - invensense,mpu9150 30*5def4c47SEmmanuel Vadot - invensense,mpu9250 31*5def4c47SEmmanuel Vadot - invensense,mpu9255 32*5def4c47SEmmanuel Vadot 33*5def4c47SEmmanuel Vadot reg: 34*5def4c47SEmmanuel Vadot maxItems: 1 35*5def4c47SEmmanuel Vadot 36*5def4c47SEmmanuel Vadot interrupts: 37*5def4c47SEmmanuel Vadot maxItems: 1 38*5def4c47SEmmanuel Vadot 39*5def4c47SEmmanuel Vadot spi-max-frequency: true 40*5def4c47SEmmanuel Vadot 41*5def4c47SEmmanuel Vadot vdd-supply: true 42*5def4c47SEmmanuel Vadot vddio-supply: true 43*5def4c47SEmmanuel Vadot 44*5def4c47SEmmanuel Vadot mount-matrix: true 45*5def4c47SEmmanuel Vadot 46*5def4c47SEmmanuel Vadot i2c-gate: 47*5def4c47SEmmanuel Vadot $ref: /schemas/i2c/i2c-controller.yaml 48*5def4c47SEmmanuel Vadot unevaluatedProperties: false 49*5def4c47SEmmanuel Vadot description: | 50*5def4c47SEmmanuel Vadot These devices also support an auxiliary i2c bus via an i2c-gate. 51*5def4c47SEmmanuel Vadot 52*5def4c47SEmmanuel VadotallOf: 53*5def4c47SEmmanuel Vadot - if: 54*5def4c47SEmmanuel Vadot not: 55*5def4c47SEmmanuel Vadot properties: 56*5def4c47SEmmanuel Vadot compatible: 57*5def4c47SEmmanuel Vadot contains: 58*5def4c47SEmmanuel Vadot enum: 59*5def4c47SEmmanuel Vadot - invensense,mpu9150 60*5def4c47SEmmanuel Vadot - invensense,mpu9250 61*5def4c47SEmmanuel Vadot - invensense,mpu9255 62*5def4c47SEmmanuel Vadot then: 63*5def4c47SEmmanuel Vadot properties: 64*5def4c47SEmmanuel Vadot i2c-gate: false 65*5def4c47SEmmanuel Vadot 66*5def4c47SEmmanuel VadotadditionalProperties: false 67*5def4c47SEmmanuel Vadot 68*5def4c47SEmmanuel Vadotrequired: 69*5def4c47SEmmanuel Vadot - compatible 70*5def4c47SEmmanuel Vadot - reg 71*5def4c47SEmmanuel Vadot - interrupts 72*5def4c47SEmmanuel Vadot 73*5def4c47SEmmanuel Vadotexamples: 74*5def4c47SEmmanuel Vadot - | 75*5def4c47SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 76*5def4c47SEmmanuel Vadot i2c { 77*5def4c47SEmmanuel Vadot #address-cells = <1>; 78*5def4c47SEmmanuel Vadot #size-cells = <0>; 79*5def4c47SEmmanuel Vadot 80*5def4c47SEmmanuel Vadot imu@68 { 81*5def4c47SEmmanuel Vadot compatible = "invensense,mpu9250"; 82*5def4c47SEmmanuel Vadot reg = <0x68>; 83*5def4c47SEmmanuel Vadot interrupt-parent = <&gpio3>; 84*5def4c47SEmmanuel Vadot interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; 85*5def4c47SEmmanuel Vadot mount-matrix = "-0.984807753012208", /* x0 */ 86*5def4c47SEmmanuel Vadot "0", /* y0 */ 87*5def4c47SEmmanuel Vadot "-0.173648177666930", /* z0 */ 88*5def4c47SEmmanuel Vadot "0", /* x1 */ 89*5def4c47SEmmanuel Vadot "-1", /* y1 */ 90*5def4c47SEmmanuel Vadot "0", /* z1 */ 91*5def4c47SEmmanuel Vadot "-0.173648177666930", /* x2 */ 92*5def4c47SEmmanuel Vadot "0", /* y2 */ 93*5def4c47SEmmanuel Vadot "0.984807753012208"; /* z2 */ 94*5def4c47SEmmanuel Vadot i2c-gate { 95*5def4c47SEmmanuel Vadot #address-cells = <1>; 96*5def4c47SEmmanuel Vadot #size-cells = <0>; 97*5def4c47SEmmanuel Vadot magnetometer@c { 98*5def4c47SEmmanuel Vadot compatible = "ak,ak8975"; 99*5def4c47SEmmanuel Vadot reg = <0x0c>; 100*5def4c47SEmmanuel Vadot }; 101*5def4c47SEmmanuel Vadot }; 102*5def4c47SEmmanuel Vadot }; 103*5def4c47SEmmanuel Vadot }; 104*5def4c47SEmmanuel Vadot... 105