xref: /linux/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml (revision 83bd89291f5cc866f60d32c34e268896c7ba8a3d)
144fd8813SJonathan Cameron# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
244fd8813SJonathan Cameron%YAML 1.2
344fd8813SJonathan Cameron---
444fd8813SJonathan Cameron$id: http://devicetree.org/schemas/iio/imu/invensense,mpu6050.yaml#
544fd8813SJonathan Cameron$schema: http://devicetree.org/meta-schemas/core.yaml#
644fd8813SJonathan Cameron
744fd8813SJonathan Camerontitle: InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking Device
844fd8813SJonathan Cameron
944fd8813SJonathan Cameronmaintainers:
1041f3a106SJean-Baptiste Maneyrol  - Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
1144fd8813SJonathan Cameron
1244fd8813SJonathan Camerondescription: |
1344fd8813SJonathan Cameron  These devices support both I2C and SPI bus interfaces.
1444fd8813SJonathan Cameron
1544fd8813SJonathan Cameronproperties:
1644fd8813SJonathan Cameron  compatible:
17c4dbfed3SMichael Srba    oneOf:
18c4dbfed3SMichael Srba      - enum:
19*b3054121SHan Xu          - invensense,iam20380
2044fd8813SJonathan Cameron          - invensense,iam20680
2144fd8813SJonathan Cameron          - invensense,icm20608
2244fd8813SJonathan Cameron          - invensense,icm20609
2344fd8813SJonathan Cameron          - invensense,icm20689
2444fd8813SJonathan Cameron          - invensense,icm20602
2544fd8813SJonathan Cameron          - invensense,icm20690
2644fd8813SJonathan Cameron          - invensense,mpu6000
2744fd8813SJonathan Cameron          - invensense,mpu6050
2844fd8813SJonathan Cameron          - invensense,mpu6500
2944fd8813SJonathan Cameron          - invensense,mpu6515
30af73caa7SStephan Gerhold          - invensense,mpu6880
3144fd8813SJonathan Cameron          - invensense,mpu9150
3244fd8813SJonathan Cameron          - invensense,mpu9250
3344fd8813SJonathan Cameron          - invensense,mpu9255
34c4dbfed3SMichael Srba      - items:
35757c4921SHermes Zhang          - const: invensense,icm20600
36757c4921SHermes Zhang          - const: invensense,icm20602
37757c4921SHermes Zhang      - items:
38c4dbfed3SMichael Srba          - const: invensense,icm20608d
39c4dbfed3SMichael Srba          - const: invensense,icm20608
40129bb33fSJean-Baptiste Maneyrol      - items:
41129bb33fSJean-Baptiste Maneyrol          - enum:
42129bb33fSJean-Baptiste Maneyrol              - invensense,iam20680hp
43129bb33fSJean-Baptiste Maneyrol              - invensense,iam20680ht
44129bb33fSJean-Baptiste Maneyrol          - const: invensense,iam20680
4544fd8813SJonathan Cameron
4644fd8813SJonathan Cameron  reg:
4744fd8813SJonathan Cameron    maxItems: 1
4844fd8813SJonathan Cameron
4944fd8813SJonathan Cameron  interrupts:
5044fd8813SJonathan Cameron    maxItems: 1
5144fd8813SJonathan Cameron
5244fd8813SJonathan Cameron  vdd-supply: true
5344fd8813SJonathan Cameron  vddio-supply: true
5444fd8813SJonathan Cameron
5544fd8813SJonathan Cameron  mount-matrix: true
5644fd8813SJonathan Cameron
5714114c8aSAndreas Kemnade  invensense,level-shifter:
5814114c8aSAndreas Kemnade    type: boolean
5914114c8aSAndreas Kemnade    description: |
6014114c8aSAndreas Kemnade      From ancient platform data struct: false: VLogic, true: VDD
6114114c8aSAndreas Kemnade
6244fd8813SJonathan Cameron  i2c-gate:
6344fd8813SJonathan Cameron    $ref: /schemas/i2c/i2c-controller.yaml
6444fd8813SJonathan Cameron    unevaluatedProperties: false
6544fd8813SJonathan Cameron    description: |
6644fd8813SJonathan Cameron      These devices also support an auxiliary i2c bus via an i2c-gate.
6744fd8813SJonathan Cameron
6844fd8813SJonathan CameronallOf:
698d98a8c6SKrzysztof Kozlowski  - $ref: /schemas/spi/spi-peripheral-props.yaml#
7044fd8813SJonathan Cameron  - if:
7144fd8813SJonathan Cameron      properties:
7244fd8813SJonathan Cameron        compatible:
7344fd8813SJonathan Cameron          contains:
7444fd8813SJonathan Cameron            enum:
75d9dd38cbSLuca Weiss              - invensense,iam20680
76d9dd38cbSLuca Weiss              - invensense,icm20602
77d9dd38cbSLuca Weiss              - invensense,icm20608
78d9dd38cbSLuca Weiss              - invensense,icm20609
79d9dd38cbSLuca Weiss              - invensense,icm20689
8044fd8813SJonathan Cameron    then:
8144fd8813SJonathan Cameron      properties:
8244fd8813SJonathan Cameron        i2c-gate: false
8344fd8813SJonathan Cameron
848d98a8c6SKrzysztof KozlowskiunevaluatedProperties: false
8544fd8813SJonathan Cameron
8644fd8813SJonathan Cameronrequired:
8744fd8813SJonathan Cameron  - compatible
8844fd8813SJonathan Cameron  - reg
8944fd8813SJonathan Cameron
9044fd8813SJonathan Cameronexamples:
9144fd8813SJonathan Cameron  - |
9244fd8813SJonathan Cameron    #include <dt-bindings/interrupt-controller/irq.h>
9344fd8813SJonathan Cameron    i2c {
9444fd8813SJonathan Cameron        #address-cells = <1>;
9544fd8813SJonathan Cameron        #size-cells = <0>;
9644fd8813SJonathan Cameron
9744fd8813SJonathan Cameron        imu@68 {
9844fd8813SJonathan Cameron            compatible = "invensense,mpu9250";
9944fd8813SJonathan Cameron            reg = <0x68>;
10044fd8813SJonathan Cameron            interrupt-parent = <&gpio3>;
10144fd8813SJonathan Cameron            interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
10244fd8813SJonathan Cameron            mount-matrix = "-0.984807753012208",  /* x0 */
10344fd8813SJonathan Cameron                           "0",                   /* y0 */
10444fd8813SJonathan Cameron                           "-0.173648177666930",  /* z0 */
10544fd8813SJonathan Cameron                           "0",                   /* x1 */
10644fd8813SJonathan Cameron                           "-1",                  /* y1 */
10744fd8813SJonathan Cameron                           "0",                   /* z1 */
10844fd8813SJonathan Cameron                           "-0.173648177666930",  /* x2 */
10944fd8813SJonathan Cameron                           "0",                   /* y2 */
11044fd8813SJonathan Cameron                           "0.984807753012208";   /* z2 */
11144fd8813SJonathan Cameron            i2c-gate {
11244fd8813SJonathan Cameron                #address-cells = <1>;
11344fd8813SJonathan Cameron                #size-cells = <0>;
11444fd8813SJonathan Cameron                magnetometer@c {
115a3ebdcc8SThierry Reding                    compatible = "asahi-kasei,ak8975";
11644fd8813SJonathan Cameron                    reg = <0x0c>;
11744fd8813SJonathan Cameron                };
11844fd8813SJonathan Cameron            };
11944fd8813SJonathan Cameron        };
12044fd8813SJonathan Cameron    };
12144fd8813SJonathan Cameron...
122