# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/magnetometer/yamaha,yas530.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Yamaha YAS530 family of magnetometer sensors maintainers: - Linus Walleij <linus.walleij@linaro.org> description: The Yamaha YAS530 magnetometers is a line of 3-axis magnetometers first introduced by Yamaha in 2009 with the YAS530. They are successors of Yamaha's first magnetometer YAS529. Over the years this magnetometer has been miniaturized and appeared in a number of different variants. properties: $nodename: pattern: '^magnetometer@[0-9a-f]+$' compatible: items: - enum: - yamaha,yas530 - yamaha,yas532 - yamaha,yas533 - yamaha,yas535 - yamaha,yas536 - yamaha,yas537 - yamaha,yas539 reg: maxItems: 1 reset-gpios: maxItems: 1 description: The YAS530 sensor has a RSTN pin used to reset the logic inside the sensor. This GPIO line should connect to that pin and be marked as GPIO_ACTIVE_LOW. interrupts: maxItems: 1 description: Interrupt for INT pin for interrupt generation. The polarity, whether the interrupt is active on the rising or the falling edge, is software-configurable in the hardware. vdd-supply: description: An optional regulator providing core power supply on the VDD pin, typically 1.8 V or 3.0 V. iovdd-supply: description: An optional regulator providing I/O power supply for the I2C interface on the IOVDD pin, typically 1.8 V. mount-matrix: description: An optional 3x3 mounting rotation matrix. allOf: - if: not: properties: compatible: items: const: yamaha,yas530 then: properties: reset-gpios: false - if: properties: compatible: items: const: yamaha,yas539 then: properties: interrupts: false required: - compatible - reg additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/gpio/gpio.h> i2c-0 { #address-cells = <1>; #size-cells = <0>; magnetometer@2e { compatible = "yamaha,yas530"; reg = <0x2e>; vdd-supply = <&ldo1_reg>; iovdd-supply = <&ldo2_reg>; reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; interrupts = <13 IRQ_TYPE_EDGE_RISING>; }; }; i2c-1 { #address-cells = <1>; #size-cells = <0>; magnetometer@2e { compatible = "yamaha,yas539"; reg = <0x2e>; vdd-supply = <&ldo1_reg>; }; };