1165c5147SLinus Walleij# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2165c5147SLinus Walleij%YAML 1.2 3165c5147SLinus Walleij--- 4165c5147SLinus Walleij$id: http://devicetree.org/schemas/iio/magnetometer/yamaha,yas530.yaml# 5165c5147SLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml# 6165c5147SLinus Walleij 7165c5147SLinus Walleijtitle: Yamaha YAS530 family of magnetometer sensors 8165c5147SLinus Walleij 9165c5147SLinus Walleijmaintainers: 10165c5147SLinus Walleij - Linus Walleij <linus.walleij@linaro.org> 11165c5147SLinus Walleij 12165c5147SLinus Walleijdescription: 13165c5147SLinus Walleij The Yamaha YAS530 magnetometers is a line of 3-axis magnetometers 14165c5147SLinus Walleij first introduced by Yamaha in 2009 with the YAS530. They are successors 15165c5147SLinus Walleij of Yamaha's first magnetometer YAS529. Over the years this magnetometer 16165c5147SLinus Walleij has been miniaturized and appeared in a number of different variants. 17165c5147SLinus Walleij 18165c5147SLinus Walleijproperties: 19165c5147SLinus Walleij $nodename: 20165c5147SLinus Walleij pattern: '^magnetometer@[0-9a-f]+$' 21165c5147SLinus Walleij 22165c5147SLinus Walleij compatible: 23165c5147SLinus Walleij items: 24165c5147SLinus Walleij - enum: 25165c5147SLinus Walleij - yamaha,yas530 26165c5147SLinus Walleij - yamaha,yas532 27165c5147SLinus Walleij - yamaha,yas533 28165c5147SLinus Walleij - yamaha,yas535 29165c5147SLinus Walleij - yamaha,yas536 30165c5147SLinus Walleij - yamaha,yas537 31165c5147SLinus Walleij - yamaha,yas539 32165c5147SLinus Walleij 33165c5147SLinus Walleij reg: 34165c5147SLinus Walleij maxItems: 1 35165c5147SLinus Walleij 36165c5147SLinus Walleij reset-gpios: 37165c5147SLinus Walleij maxItems: 1 38165c5147SLinus Walleij description: The YAS530 sensor has a RSTN pin used to reset 39165c5147SLinus Walleij the logic inside the sensor. This GPIO line should connect 40165c5147SLinus Walleij to that pin and be marked as GPIO_ACTIVE_LOW. 41165c5147SLinus Walleij 42165c5147SLinus Walleij interrupts: 43165c5147SLinus Walleij maxItems: 1 44165c5147SLinus Walleij description: Interrupt for INT pin for interrupt generation. 45165c5147SLinus Walleij The polarity, whether the interrupt is active on the rising 46165c5147SLinus Walleij or the falling edge, is software-configurable in the hardware. 47165c5147SLinus Walleij 48165c5147SLinus Walleij vdd-supply: 49165c5147SLinus Walleij description: An optional regulator providing core power supply 50165c5147SLinus Walleij on the VDD pin, typically 1.8 V or 3.0 V. 51165c5147SLinus Walleij 52165c5147SLinus Walleij iovdd-supply: 53165c5147SLinus Walleij description: An optional regulator providing I/O power supply 54165c5147SLinus Walleij for the I2C interface on the IOVDD pin, typically 1.8 V. 55165c5147SLinus Walleij 56165c5147SLinus Walleij mount-matrix: 57165c5147SLinus Walleij description: An optional 3x3 mounting rotation matrix. 58165c5147SLinus Walleij 59165c5147SLinus WalleijallOf: 60165c5147SLinus Walleij - if: 61165c5147SLinus Walleij not: 62165c5147SLinus Walleij properties: 63165c5147SLinus Walleij compatible: 64165c5147SLinus Walleij items: 65165c5147SLinus Walleij const: yamaha,yas530 66165c5147SLinus Walleij then: 67165c5147SLinus Walleij properties: 68165c5147SLinus Walleij reset-gpios: false 69165c5147SLinus Walleij 70165c5147SLinus Walleij - if: 71165c5147SLinus Walleij properties: 72165c5147SLinus Walleij compatible: 73165c5147SLinus Walleij items: 74165c5147SLinus Walleij const: yamaha,yas539 75165c5147SLinus Walleij then: 76165c5147SLinus Walleij properties: 77165c5147SLinus Walleij interrupts: false 78165c5147SLinus Walleij 79165c5147SLinus Walleijrequired: 80165c5147SLinus Walleij - compatible 81165c5147SLinus Walleij - reg 82165c5147SLinus Walleij 83165c5147SLinus WalleijadditionalProperties: false 84165c5147SLinus Walleij 85165c5147SLinus Walleijexamples: 86165c5147SLinus Walleij - | 87165c5147SLinus Walleij #include <dt-bindings/interrupt-controller/irq.h> 88165c5147SLinus Walleij #include <dt-bindings/gpio/gpio.h> 89165c5147SLinus Walleij i2c-0 { 90165c5147SLinus Walleij #address-cells = <1>; 91165c5147SLinus Walleij #size-cells = <0>; 92165c5147SLinus Walleij 93165c5147SLinus Walleij magnetometer@2e { 94165c5147SLinus Walleij compatible = "yamaha,yas530"; 95165c5147SLinus Walleij reg = <0x2e>; 96165c5147SLinus Walleij vdd-supply = <&ldo1_reg>; 97165c5147SLinus Walleij iovdd-supply = <&ldo2_reg>; 98165c5147SLinus Walleij reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; 99*7b5bfc00SRob Herring interrupts = <13 IRQ_TYPE_EDGE_RISING>; 100165c5147SLinus Walleij }; 101165c5147SLinus Walleij }; 102165c5147SLinus Walleij 103165c5147SLinus Walleij i2c-1 { 104165c5147SLinus Walleij #address-cells = <1>; 105165c5147SLinus Walleij #size-cells = <0>; 106165c5147SLinus Walleij 107165c5147SLinus Walleij magnetometer@2e { 108165c5147SLinus Walleij compatible = "yamaha,yas539"; 109165c5147SLinus Walleij reg = <0x2e>; 110165c5147SLinus Walleij vdd-supply = <&ldo1_reg>; 111165c5147SLinus Walleij }; 112165c5147SLinus Walleij }; 113