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