165c514797
This adds device tree bindings for the Yamaha YAS530 family of magnetometers/compass sensors. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Cc: devicetree@vger.kernel.org Cc: phone-devel@vger.kernel.org Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Jonathan Bakker <xc-racer2@live.ca> Link: https://lore.kernel.org/r/20201224120820.1120099-1-linus.walleij@linaro.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
113 lines
2.7 KiB
YAML
113 lines
2.7 KiB
YAML
# 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 = <&gpio6 13 IRQ_TYPE_EDGE_RISING>;
|
|
};
|
|
};
|
|
|
|
i2c-1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
magnetometer@2e {
|
|
compatible = "yamaha,yas539";
|
|
reg = <0x2e>;
|
|
vdd-supply = <&ldo1_reg>;
|
|
};
|
|
};
|