Loading...
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
7title: Yamaha YAS530 family of magnetometer sensors
8
9maintainers:
10 - Linus Walleij <linus.walleij@linaro.org>
11
12description:
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
18properties:
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
59allOf:
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
79required:
80 - compatible
81 - reg
82
83additionalProperties: false
84
85examples:
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 = <&gpio6 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 };