Message ID | 20200528145930.11860-1-jonathan.albrieux@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | iio: magnetometer: ak8975: Add gpio reset support | expand |
On Thu, 28 May 2020 16:59:28 +0200 Jonathan Albrieux <jonathan.albrieux@gmail.com> wrote: > 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> Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. thanks, Jonathan > --- > .../bindings/iio/magnetometer/asahi-kasei,ak8975.yaml | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml > index 55b18784e503..e8af53d60759 100644 > --- a/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml > +++ b/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml > @@ -47,6 +47,11 @@ properties: > mount-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: > - compatible > - reg > @@ -54,6 +59,7 @@ required: > examples: > - | > #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/gpio/gpio.h> > i2c { > #address-cells = <1>; > #size-cells = <0>; > @@ -64,6 +70,7 @@ examples: > 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 */
diff --git a/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml index 55b18784e503..e8af53d60759 100644 --- a/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml +++ b/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml @@ -47,6 +47,11 @@ properties: mount-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: - compatible - reg @@ -54,6 +59,7 @@ required: examples: - | #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/gpio/gpio.h> i2c { #address-cells = <1>; #size-cells = <0>; @@ -64,6 +70,7 @@ examples: 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 */