GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / iio / magnetometer / yamaha,yas530.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/yamaha,yas530.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Yamaha YAS530 family of magnetometer sensors
8
9 maintainers:
10   - Linus Walleij <linus.walleij@linaro.org>
11
12 description:
13   The Yamaha YAS530 magnetometers is a line of 3-axis magnetometers
14   first introduced by Yamaha in 2009 with the YAS530. They are successors
15   of Yamaha's first magnetometer YAS529. Over the years this magnetometer
16   has been miniaturized and appeared in a number of different variants.
17
18 properties:
19   $nodename:
20     pattern: '^magnetometer@[0-9a-f]+$'
21
22   compatible:
23     items:
24       - enum:
25           - yamaha,yas530
26           - yamaha,yas532
27           - yamaha,yas533
28           - yamaha,yas535
29           - yamaha,yas536
30           - yamaha,yas537
31           - yamaha,yas539
32
33   reg:
34     maxItems: 1
35
36   reset-gpios:
37     maxItems: 1
38     description: The YAS530 sensor has a RSTN pin used to reset
39       the logic inside the sensor. This GPIO line should connect
40       to that pin and be marked as GPIO_ACTIVE_LOW.
41
42   interrupts:
43     maxItems: 1
44     description: Interrupt for INT pin for interrupt generation.
45       The polarity, whether the interrupt is active on the rising
46       or the falling edge, is software-configurable in the hardware.
47
48   vdd-supply:
49     description: An optional regulator providing core power supply
50       on the VDD pin, typically 1.8 V or 3.0 V.
51
52   iovdd-supply:
53     description: An optional regulator providing I/O power supply
54       for the I2C interface on the IOVDD pin, typically 1.8 V.
55
56   mount-matrix:
57     description: An optional 3x3 mounting rotation matrix.
58
59 allOf:
60   - if:
61       not:
62         properties:
63           compatible:
64             items:
65               const: yamaha,yas530
66     then:
67       properties:
68         reset-gpios: false
69
70   - if:
71       properties:
72         compatible:
73           items:
74             const: yamaha,yas539
75     then:
76       properties:
77         interrupts: false
78
79 required:
80   - compatible
81   - reg
82
83 additionalProperties: false
84
85 examples:
86   - |
87     #include <dt-bindings/interrupt-controller/irq.h>
88     #include <dt-bindings/gpio/gpio.h>
89     i2c-0 {
90         #address-cells = <1>;
91         #size-cells = <0>;
92
93         magnetometer@2e {
94             compatible = "yamaha,yas530";
95             reg = <0x2e>;
96             vdd-supply = <&ldo1_reg>;
97             iovdd-supply = <&ldo2_reg>;
98             reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
99             interrupts = <13 IRQ_TYPE_EDGE_RISING>;
100         };
101     };
102
103     i2c-1 {
104         #address-cells = <1>;
105         #size-cells = <0>;
106
107         magnetometer@2e {
108             compatible = "yamaha,yas539";
109             reg = <0x2e>;
110             vdd-supply = <&ldo1_reg>;
111         };
112     };