Linux Audio

Check our new training course

Yocto distribution development and maintenance

Need a Yocto distribution for your embedded project?
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    };