hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking Device
 
http://www.invensense.com/mems/gyro/mpu6050.html
 
Required properties:
 - compatible : should be one of
       "invensense,mpu6000"
       "invensense,mpu6050"
         "invensense,mpu6500"
       "invensense,mpu6515"
       "invensense,mpu9150"
       "invensense,mpu9250"
       "invensense,mpu9255"
       "invensense,icm20608"
       "invensense,icm20609"
       "invensense,icm20689"
       "invensense,icm20602"
       "invensense,icm20690"
       "invensense,iam20680"
 - reg : the I2C address of the sensor
 - interrupts: interrupt mapping for IRQ. It should be configured with flags
   IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
   IRQ_TYPE_EDGE_FALLING.
 
  Refer to interrupt-controller/interrupts.txt for generic interrupt client node
  bindings.
 
Optional properties:
 - vdd-supply: regulator phandle for VDD supply
 - vddio-supply: regulator phandle for VDDIO supply
 - mount-matrix: an optional 3x3 mounting rotation matrix
 - i2c-gate node.  These devices also support an auxiliary i2c bus.  This is
   simple enough to be described using the i2c-gate binding. See
   i2c/i2c-gate.txt for more details.
 
Example:
   mpu6050@68 {
       compatible = "invensense,mpu6050";
       reg = <0x68>;
       interrupt-parent = <&gpio1>;
       interrupts = <18 IRQ_TYPE_EDGE_RISING>;
       mount-matrix = "-0.984807753012208",  /* x0 */
                      "0",                   /* y0 */
                      "-0.173648177666930",  /* z0 */
                      "0",                   /* x1 */
                      "-1",                  /* y1 */
                      "0",                   /* z1 */
                      "-0.173648177666930",  /* x2 */
                      "0",                   /* y2 */
                      "0.984807753012208";   /* z2 */
   };
 
 
   mpu9250@68 {
       compatible = "invensense,mpu9250";
       reg = <0x68>;
       interrupt-parent = <&gpio3>;
       interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
       i2c-gate {
           #address-cells = <1>;
           #size-cells = <0>;
           ax8975@c {
               compatible = "ak,ak8975";
               reg = <0x0c>;
           };
       };
   };