Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/iio/imu/invensense,mpu6050.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking Device
0008 
0009 maintainers:
0010   - Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
0011 
0012 description: |
0013   These devices support both I2C and SPI bus interfaces.
0014 
0015 properties:
0016   compatible:
0017     oneOf:
0018       - enum:
0019           - invensense,iam20680
0020           - invensense,icm20608
0021           - invensense,icm20609
0022           - invensense,icm20689
0023           - invensense,icm20602
0024           - invensense,icm20690
0025           - invensense,mpu6000
0026           - invensense,mpu6050
0027           - invensense,mpu6500
0028           - invensense,mpu6515
0029           - invensense,mpu6880
0030           - invensense,mpu9150
0031           - invensense,mpu9250
0032           - invensense,mpu9255
0033       - items:
0034           - const: invensense,icm20608d
0035           - const: invensense,icm20608
0036 
0037   reg:
0038     maxItems: 1
0039 
0040   interrupts:
0041     maxItems: 1
0042 
0043   spi-max-frequency: true
0044 
0045   vdd-supply: true
0046   vddio-supply: true
0047 
0048   mount-matrix: true
0049 
0050   i2c-gate:
0051     $ref: /schemas/i2c/i2c-controller.yaml
0052     unevaluatedProperties: false
0053     description: |
0054       These devices also support an auxiliary i2c bus via an i2c-gate.
0055 
0056 allOf:
0057   - if:
0058       not:
0059         properties:
0060           compatible:
0061             contains:
0062               enum:
0063                 - invensense,mpu9150
0064                 - invensense,mpu9250
0065                 - invensense,mpu9255
0066     then:
0067       properties:
0068         i2c-gate: false
0069 
0070 additionalProperties: false
0071 
0072 required:
0073   - compatible
0074   - reg
0075   - interrupts
0076 
0077 examples:
0078   - |
0079     #include <dt-bindings/interrupt-controller/irq.h>
0080     i2c {
0081         #address-cells = <1>;
0082         #size-cells = <0>;
0083 
0084         imu@68 {
0085             compatible = "invensense,mpu9250";
0086             reg = <0x68>;
0087             interrupt-parent = <&gpio3>;
0088             interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
0089             mount-matrix = "-0.984807753012208",  /* x0 */
0090                            "0",                   /* y0 */
0091                            "-0.173648177666930",  /* z0 */
0092                            "0",                   /* x1 */
0093                            "-1",                  /* y1 */
0094                            "0",                   /* z1 */
0095                            "-0.173648177666930",  /* x2 */
0096                            "0",                   /* y2 */
0097                            "0.984807753012208";   /* z2 */
0098             i2c-gate {
0099                 #address-cells = <1>;
0100                 #size-cells = <0>;
0101                 magnetometer@c {
0102                     compatible = "asahi-kasei,ak8975";
0103                     reg = <0x0c>;
0104                 };
0105             };
0106         };
0107     };
0108 ...