GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / iio / magnetometer / asahi-kasei,ak8975.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/iio/magnetometer/asahi-kasei,ak8975.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: AsahiKASEI AK8975 magnetometer sensor
8
9 maintainers:
10   - Jonathan Albrieux <jonathan.albrieux@gmail.com>
11
12 properties:
13   compatible:
14     oneOf:
15       - enum:
16           - asahi-kasei,ak8975
17           - asahi-kasei,ak8963
18           - asahi-kasei,ak09911
19           - asahi-kasei,ak09912
20           - asahi-kasei,ak09916
21       - enum:
22           - ak8975
23           - ak8963
24           - ak09911
25           - ak09912
26           - ak09916
27         deprecated: true
28
29   reg:
30     maxItems: 1
31
32   gpios:
33     maxItems: 1
34     description: |
35       AK8975 has a "Data ready" pin (DRDY) which informs that data
36       is ready to be read and is possible to listen on it. If used,
37       this should be active high. Prefer interrupt over this.
38
39   interrupts:
40     maxItems: 1
41     description: interrupt for DRDY pin. Triggered on rising edge.
42
43   vdd-supply:
44     description: |
45       an optional regulator that needs to be on to provide VDD power to
46       the sensor.
47
48   vid-supply:
49     description: |
50       an optional regulator that needs to be on to provide VID power to
51       the sensor.
52
53   mount-matrix:
54     description: an optional 3x3 mounting rotation matrix.
55
56   reset-gpios:
57     maxItems: 1
58     description: |
59       an optional pin needed for AK09911 to set the reset state. This should
60       be usually active low
61
62 required:
63   - compatible
64   - reg
65
66 additionalProperties: false
67
68 examples:
69   - |
70     #include <dt-bindings/interrupt-controller/irq.h>
71     #include <dt-bindings/gpio/gpio.h>
72     i2c {
73         #address-cells = <1>;
74         #size-cells = <0>;
75
76         magnetometer@c {
77             compatible = "asahi-kasei,ak8975";
78             reg = <0x0c>;
79             interrupt-parent = <&gpio6>;
80             interrupts = <15 IRQ_TYPE_EDGE_RISING>;
81             vdd-supply = <&ldo_3v3_gnss>;
82             reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
83             mount-matrix = "-0.984807753012208",  /* x0 */
84                            "0",                   /* y0 */
85                            "-0.173648177666930",  /* z0 */
86                            "0",                   /* x1 */
87                            "-1",                  /* y1 */
88                            "0",                   /* z1 */
89                            "-0.173648177666930",  /* x2 */
90                            "0",                   /* y2 */
91                            "0.984807753012208";   /* z2 */
92         };
93     };