94 lines
2.5 KiB
YAML
94 lines
2.5 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/iio/magnetometer/asahi-kasei,ak8975.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: AsahiKASEI AK8975 magnetometer sensor
|
|
|
|
maintainers:
|
|
- Jonathan Albrieux <jonathan.albrieux@gmail.com>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- enum:
|
|
- asahi-kasei,ak8975
|
|
- asahi-kasei,ak8963
|
|
- asahi-kasei,ak09911
|
|
- asahi-kasei,ak09912
|
|
- asahi-kasei,ak09916
|
|
- enum:
|
|
- ak8975
|
|
- ak8963
|
|
- ak09911
|
|
- ak09912
|
|
- ak09916
|
|
deprecated: true
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
gpios:
|
|
maxItems: 1
|
|
description: |
|
|
AK8975 has a "Data ready" pin (DRDY) which informs that data
|
|
is ready to be read and is possible to listen on it. If used,
|
|
this should be active high. Prefer interrupt over this.
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
description: interrupt for DRDY pin. Triggered on rising edge.
|
|
|
|
vdd-supply:
|
|
description: |
|
|
an optional regulator that needs to be on to provide VDD power to
|
|
the sensor.
|
|
|
|
vid-supply:
|
|
description: |
|
|
an optional regulator that needs to be on to provide VID power to
|
|
the sensor.
|
|
|
|
mount-matrix:
|
|
description: an optional 3x3 mounting rotation matrix.
|
|
|
|
reset-gpios:
|
|
maxItems: 1
|
|
description: |
|
|
an optional pin needed for AK09911 to set the reset state. This should
|
|
be usually active low
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
magnetometer@c {
|
|
compatible = "asahi-kasei,ak8975";
|
|
reg = <0x0c>;
|
|
interrupt-parent = <&gpio6>;
|
|
interrupts = <15 IRQ_TYPE_EDGE_RISING>;
|
|
vdd-supply = <&ldo_3v3_gnss>;
|
|
reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
|
|
mount-matrix = "-0.984807753012208", /* x0 */
|
|
"0", /* y0 */
|
|
"-0.173648177666930", /* z0 */
|
|
"0", /* x1 */
|
|
"-1", /* y1 */
|
|
"0", /* z1 */
|
|
"-0.173648177666930", /* x2 */
|
|
"0", /* y2 */
|
|
"0.984807753012208"; /* z2 */
|
|
};
|
|
};
|