18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/iio/magnetometer/asahi-kasei,ak8975.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: AsahiKASEI AK8975 magnetometer sensor
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Jonathan Albrieux <jonathan.albrieux@gmail.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciproperties:
138c2ecf20Sopenharmony_ci  compatible:
148c2ecf20Sopenharmony_ci    oneOf:
158c2ecf20Sopenharmony_ci      - enum:
168c2ecf20Sopenharmony_ci          - asahi-kasei,ak8975
178c2ecf20Sopenharmony_ci          - asahi-kasei,ak8963
188c2ecf20Sopenharmony_ci          - asahi-kasei,ak09911
198c2ecf20Sopenharmony_ci          - asahi-kasei,ak09912
208c2ecf20Sopenharmony_ci      - enum:
218c2ecf20Sopenharmony_ci          - ak8975
228c2ecf20Sopenharmony_ci          - ak8963
238c2ecf20Sopenharmony_ci          - ak09911
248c2ecf20Sopenharmony_ci          - ak09912
258c2ecf20Sopenharmony_ci        deprecated: true
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  reg:
288c2ecf20Sopenharmony_ci    maxItems: 1
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  gpios:
318c2ecf20Sopenharmony_ci    maxItems: 1
328c2ecf20Sopenharmony_ci    description: |
338c2ecf20Sopenharmony_ci      AK8975 has a "Data ready" pin (DRDY) which informs that data
348c2ecf20Sopenharmony_ci      is ready to be read and is possible to listen on it. If used,
358c2ecf20Sopenharmony_ci      this should be active high. Prefer interrupt over this.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  interrupts:
388c2ecf20Sopenharmony_ci    maxItems: 1
398c2ecf20Sopenharmony_ci    description: interrupt for DRDY pin. Triggered on rising edge.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  vdd-supply:
428c2ecf20Sopenharmony_ci    description: |
438c2ecf20Sopenharmony_ci      an optional regulator that needs to be on to provide VDD power to
448c2ecf20Sopenharmony_ci      the sensor.
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  mount-matrix:
478c2ecf20Sopenharmony_ci    description: an optional 3x3 mounting rotation matrix.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci  reset-gpios:
508c2ecf20Sopenharmony_ci    description: |
518c2ecf20Sopenharmony_ci      an optional pin needed for AK09911 to set the reset state. This should
528c2ecf20Sopenharmony_ci      be usually active low
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_cirequired:
558c2ecf20Sopenharmony_ci  - compatible
568c2ecf20Sopenharmony_ci  - reg
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ciadditionalProperties: false
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciexamples:
618c2ecf20Sopenharmony_ci  - |
628c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
638c2ecf20Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
648c2ecf20Sopenharmony_ci    i2c {
658c2ecf20Sopenharmony_ci        #address-cells = <1>;
668c2ecf20Sopenharmony_ci        #size-cells = <0>;
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci        magnetometer@c {
698c2ecf20Sopenharmony_ci            compatible = "asahi-kasei,ak8975";
708c2ecf20Sopenharmony_ci            reg = <0x0c>;
718c2ecf20Sopenharmony_ci            interrupt-parent = <&gpio6>;
728c2ecf20Sopenharmony_ci            interrupts = <15 IRQ_TYPE_EDGE_RISING>;
738c2ecf20Sopenharmony_ci            vdd-supply = <&ldo_3v3_gnss>;
748c2ecf20Sopenharmony_ci            reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
758c2ecf20Sopenharmony_ci            mount-matrix = "-0.984807753012208",  /* x0 */
768c2ecf20Sopenharmony_ci                           "0",                   /* y0 */
778c2ecf20Sopenharmony_ci                           "-0.173648177666930",  /* z0 */
788c2ecf20Sopenharmony_ci                           "0",                   /* x1 */
798c2ecf20Sopenharmony_ci                           "-1",                  /* y1 */
808c2ecf20Sopenharmony_ci                           "0",                   /* z1 */
818c2ecf20Sopenharmony_ci                           "-0.173648177666930",  /* x2 */
828c2ecf20Sopenharmony_ci                           "0",                   /* y2 */
838c2ecf20Sopenharmony_ci                           "0.984807753012208";   /* z2 */
848c2ecf20Sopenharmony_ci        };
858c2ecf20Sopenharmony_ci    };
86