dt-bindings: iio: magnetometer: ak8975: add gpio reset support

Add reset-gpio support.

Without reset's deassertion during ak8975_power_on(), driver's probe fails
on ak8975_who_i_am() while checking for device identity for AK09911 chip.

AK09911 has an active low reset gpio to handle register's reset.
AK09911 datasheet says that, if not used, reset pin should be connected
to VID. This patch emulates this situation.

Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Jonathan Albrieux 2020-05-28 16:59:28 +02:00 committed by Jonathan Cameron
parent 7e000fbff7
commit 94d2adc9c0
1 changed files with 7 additions and 0 deletions

View File

@ -46,6 +46,11 @@ properties:
mount-matrix: mount-matrix:
description: an optional 3x3 mounting rotation matrix. description: an optional 3x3 mounting rotation matrix.
reset-gpios:
description: |
an optional pin needed for AK09911 to set the reset state. This should
be usually active low
required: required:
- compatible - compatible
- reg - reg
@ -53,6 +58,7 @@ required:
examples: examples:
- | - |
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
i2c { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -63,6 +69,7 @@ examples:
interrupt-parent = <&gpio6>; interrupt-parent = <&gpio6>;
interrupts = <15 IRQ_TYPE_EDGE_RISING>; interrupts = <15 IRQ_TYPE_EDGE_RISING>;
vdd-supply = <&ldo_3v3_gnss>; vdd-supply = <&ldo_3v3_gnss>;
reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
mount-matrix = "-0.984807753012208", /* x0 */ mount-matrix = "-0.984807753012208", /* x0 */
"0", /* y0 */ "0", /* y0 */
"-0.173648177666930", /* z0 */ "-0.173648177666930", /* z0 */