xref: /freebsd/sys/contrib/device-tree/Bindings/iio/imu/invensense,mpu6050.yaml (revision e67e85659c0de33e617e5fbf1028c6e8b49eee53)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/iio/imu/invensense,mpu6050.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking Device
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
105def4c47SEmmanuel Vadot  - Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
115def4c47SEmmanuel Vadot
125def4c47SEmmanuel Vadotdescription: |
135def4c47SEmmanuel Vadot  These devices support both I2C and SPI bus interfaces.
145def4c47SEmmanuel Vadot
155def4c47SEmmanuel Vadotproperties:
165def4c47SEmmanuel Vadot  compatible:
175def4c47SEmmanuel Vadot    enum:
185def4c47SEmmanuel Vadot      - invensense,iam20680
195def4c47SEmmanuel Vadot      - invensense,icm20608
205def4c47SEmmanuel Vadot      - invensense,icm20609
215def4c47SEmmanuel Vadot      - invensense,icm20689
225def4c47SEmmanuel Vadot      - invensense,icm20602
235def4c47SEmmanuel Vadot      - invensense,icm20690
245def4c47SEmmanuel Vadot      - invensense,mpu6000
255def4c47SEmmanuel Vadot      - invensense,mpu6050
265def4c47SEmmanuel Vadot      - invensense,mpu6500
275def4c47SEmmanuel Vadot      - invensense,mpu6515
285def4c47SEmmanuel Vadot      - invensense,mpu6880
295def4c47SEmmanuel Vadot      - invensense,mpu9150
305def4c47SEmmanuel Vadot      - invensense,mpu9250
315def4c47SEmmanuel Vadot      - invensense,mpu9255
325def4c47SEmmanuel Vadot
335def4c47SEmmanuel Vadot  reg:
345def4c47SEmmanuel Vadot    maxItems: 1
355def4c47SEmmanuel Vadot
365def4c47SEmmanuel Vadot  interrupts:
375def4c47SEmmanuel Vadot    maxItems: 1
385def4c47SEmmanuel Vadot
395def4c47SEmmanuel Vadot  spi-max-frequency: true
405def4c47SEmmanuel Vadot
415def4c47SEmmanuel Vadot  vdd-supply: true
425def4c47SEmmanuel Vadot  vddio-supply: true
435def4c47SEmmanuel Vadot
445def4c47SEmmanuel Vadot  mount-matrix: true
455def4c47SEmmanuel Vadot
465def4c47SEmmanuel Vadot  i2c-gate:
475def4c47SEmmanuel Vadot    $ref: /schemas/i2c/i2c-controller.yaml
485def4c47SEmmanuel Vadot    unevaluatedProperties: false
495def4c47SEmmanuel Vadot    description: |
505def4c47SEmmanuel Vadot      These devices also support an auxiliary i2c bus via an i2c-gate.
515def4c47SEmmanuel Vadot
525def4c47SEmmanuel VadotallOf:
535def4c47SEmmanuel Vadot  - if:
545def4c47SEmmanuel Vadot      not:
555def4c47SEmmanuel Vadot        properties:
565def4c47SEmmanuel Vadot          compatible:
575def4c47SEmmanuel Vadot            contains:
585def4c47SEmmanuel Vadot              enum:
595def4c47SEmmanuel Vadot                - invensense,mpu9150
605def4c47SEmmanuel Vadot                - invensense,mpu9250
615def4c47SEmmanuel Vadot                - invensense,mpu9255
625def4c47SEmmanuel Vadot    then:
635def4c47SEmmanuel Vadot      properties:
645def4c47SEmmanuel Vadot        i2c-gate: false
655def4c47SEmmanuel Vadot
665def4c47SEmmanuel VadotadditionalProperties: false
675def4c47SEmmanuel Vadot
685def4c47SEmmanuel Vadotrequired:
695def4c47SEmmanuel Vadot  - compatible
705def4c47SEmmanuel Vadot  - reg
715def4c47SEmmanuel Vadot  - interrupts
725def4c47SEmmanuel Vadot
735def4c47SEmmanuel Vadotexamples:
745def4c47SEmmanuel Vadot  - |
755def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
765def4c47SEmmanuel Vadot    i2c {
775def4c47SEmmanuel Vadot        #address-cells = <1>;
785def4c47SEmmanuel Vadot        #size-cells = <0>;
795def4c47SEmmanuel Vadot
805def4c47SEmmanuel Vadot        imu@68 {
815def4c47SEmmanuel Vadot            compatible = "invensense,mpu9250";
825def4c47SEmmanuel Vadot            reg = <0x68>;
835def4c47SEmmanuel Vadot            interrupt-parent = <&gpio3>;
845def4c47SEmmanuel Vadot            interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
855def4c47SEmmanuel Vadot            mount-matrix = "-0.984807753012208",  /* x0 */
865def4c47SEmmanuel Vadot                           "0",                   /* y0 */
875def4c47SEmmanuel Vadot                           "-0.173648177666930",  /* z0 */
885def4c47SEmmanuel Vadot                           "0",                   /* x1 */
895def4c47SEmmanuel Vadot                           "-1",                  /* y1 */
905def4c47SEmmanuel Vadot                           "0",                   /* z1 */
915def4c47SEmmanuel Vadot                           "-0.173648177666930",  /* x2 */
925def4c47SEmmanuel Vadot                           "0",                   /* y2 */
935def4c47SEmmanuel Vadot                           "0.984807753012208";   /* z2 */
945def4c47SEmmanuel Vadot            i2c-gate {
955def4c47SEmmanuel Vadot                #address-cells = <1>;
965def4c47SEmmanuel Vadot                #size-cells = <0>;
975def4c47SEmmanuel Vadot                magnetometer@c {
98*e67e8565SEmmanuel Vadot                    compatible = "asahi-kasei,ak8975";
995def4c47SEmmanuel Vadot                    reg = <0x0c>;
1005def4c47SEmmanuel Vadot                };
1015def4c47SEmmanuel Vadot            };
1025def4c47SEmmanuel Vadot        };
1035def4c47SEmmanuel Vadot    };
1045def4c47SEmmanuel Vadot...
105