xref: /freebsd/sys/contrib/device-tree/Bindings/iio/imu/invensense,mpu6050.yaml (revision d5b0e70f7e04d971691517ce1304d86a1e367e2e)
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:
17*d5b0e70fSEmmanuel Vadot    oneOf:
18*d5b0e70fSEmmanuel Vadot      - enum:
195def4c47SEmmanuel Vadot          - invensense,iam20680
205def4c47SEmmanuel Vadot          - invensense,icm20608
215def4c47SEmmanuel Vadot          - invensense,icm20609
225def4c47SEmmanuel Vadot          - invensense,icm20689
235def4c47SEmmanuel Vadot          - invensense,icm20602
245def4c47SEmmanuel Vadot          - invensense,icm20690
255def4c47SEmmanuel Vadot          - invensense,mpu6000
265def4c47SEmmanuel Vadot          - invensense,mpu6050
275def4c47SEmmanuel Vadot          - invensense,mpu6500
285def4c47SEmmanuel Vadot          - invensense,mpu6515
295def4c47SEmmanuel Vadot          - invensense,mpu6880
305def4c47SEmmanuel Vadot          - invensense,mpu9150
315def4c47SEmmanuel Vadot          - invensense,mpu9250
325def4c47SEmmanuel Vadot          - invensense,mpu9255
33*d5b0e70fSEmmanuel Vadot      - items:
34*d5b0e70fSEmmanuel Vadot          - const: invensense,icm20608d
35*d5b0e70fSEmmanuel Vadot          - const: invensense,icm20608
365def4c47SEmmanuel Vadot
375def4c47SEmmanuel Vadot  reg:
385def4c47SEmmanuel Vadot    maxItems: 1
395def4c47SEmmanuel Vadot
405def4c47SEmmanuel Vadot  interrupts:
415def4c47SEmmanuel Vadot    maxItems: 1
425def4c47SEmmanuel Vadot
435def4c47SEmmanuel Vadot  spi-max-frequency: true
445def4c47SEmmanuel Vadot
455def4c47SEmmanuel Vadot  vdd-supply: true
465def4c47SEmmanuel Vadot  vddio-supply: true
475def4c47SEmmanuel Vadot
485def4c47SEmmanuel Vadot  mount-matrix: true
495def4c47SEmmanuel Vadot
505def4c47SEmmanuel Vadot  i2c-gate:
515def4c47SEmmanuel Vadot    $ref: /schemas/i2c/i2c-controller.yaml
525def4c47SEmmanuel Vadot    unevaluatedProperties: false
535def4c47SEmmanuel Vadot    description: |
545def4c47SEmmanuel Vadot      These devices also support an auxiliary i2c bus via an i2c-gate.
555def4c47SEmmanuel Vadot
565def4c47SEmmanuel VadotallOf:
575def4c47SEmmanuel Vadot  - if:
585def4c47SEmmanuel Vadot      not:
595def4c47SEmmanuel Vadot        properties:
605def4c47SEmmanuel Vadot          compatible:
615def4c47SEmmanuel Vadot            contains:
625def4c47SEmmanuel Vadot              enum:
635def4c47SEmmanuel Vadot                - invensense,mpu9150
645def4c47SEmmanuel Vadot                - invensense,mpu9250
655def4c47SEmmanuel Vadot                - invensense,mpu9255
665def4c47SEmmanuel Vadot    then:
675def4c47SEmmanuel Vadot      properties:
685def4c47SEmmanuel Vadot        i2c-gate: false
695def4c47SEmmanuel Vadot
705def4c47SEmmanuel VadotadditionalProperties: false
715def4c47SEmmanuel Vadot
725def4c47SEmmanuel Vadotrequired:
735def4c47SEmmanuel Vadot  - compatible
745def4c47SEmmanuel Vadot  - reg
755def4c47SEmmanuel Vadot  - interrupts
765def4c47SEmmanuel Vadot
775def4c47SEmmanuel Vadotexamples:
785def4c47SEmmanuel Vadot  - |
795def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
805def4c47SEmmanuel Vadot    i2c {
815def4c47SEmmanuel Vadot        #address-cells = <1>;
825def4c47SEmmanuel Vadot        #size-cells = <0>;
835def4c47SEmmanuel Vadot
845def4c47SEmmanuel Vadot        imu@68 {
855def4c47SEmmanuel Vadot            compatible = "invensense,mpu9250";
865def4c47SEmmanuel Vadot            reg = <0x68>;
875def4c47SEmmanuel Vadot            interrupt-parent = <&gpio3>;
885def4c47SEmmanuel Vadot            interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
895def4c47SEmmanuel Vadot            mount-matrix = "-0.984807753012208",  /* x0 */
905def4c47SEmmanuel Vadot                           "0",                   /* y0 */
915def4c47SEmmanuel Vadot                           "-0.173648177666930",  /* z0 */
925def4c47SEmmanuel Vadot                           "0",                   /* x1 */
935def4c47SEmmanuel Vadot                           "-1",                  /* y1 */
945def4c47SEmmanuel Vadot                           "0",                   /* z1 */
955def4c47SEmmanuel Vadot                           "-0.173648177666930",  /* x2 */
965def4c47SEmmanuel Vadot                           "0",                   /* y2 */
975def4c47SEmmanuel Vadot                           "0.984807753012208";   /* z2 */
985def4c47SEmmanuel Vadot            i2c-gate {
995def4c47SEmmanuel Vadot                #address-cells = <1>;
1005def4c47SEmmanuel Vadot                #size-cells = <0>;
1015def4c47SEmmanuel Vadot                magnetometer@c {
102e67e8565SEmmanuel Vadot                    compatible = "asahi-kasei,ak8975";
1035def4c47SEmmanuel Vadot                    reg = <0x0c>;
1045def4c47SEmmanuel Vadot                };
1055def4c47SEmmanuel Vadot            };
1065def4c47SEmmanuel Vadot        };
1075def4c47SEmmanuel Vadot    };
1085def4c47SEmmanuel Vadot...
109