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 = <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 }; 113