| # 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 */ |
| }; |
| }; |