Message ID | 20200519124402.26076-3-jonathan.albrieux@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | iio: magnetometer: ak8975: Add gpio reset support | expand |
On Tue, May 19, 2020 at 02:43:52PM +0200, Jonathan Albrieux 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 datasheed says that, if not used, reset pin should be connected datasheed -> datasheet > to VID. This patch emulates this situation. > > Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com> > --- > .../devicetree/bindings/iio/magnetometer/ak8975.yaml | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml > index 86e3efa693a8..a82c0ff5d098 100644 > --- a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml > +++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml > @@ -37,6 +37,9 @@ properties: > mount-matrix: > description: an optional 3x3 mounting rotation matrix > > + reset-gpio: > + description: an optional pin needed for AK09911 to set the reset state Maybe add a comment that this should be "usually active low". > + > required: > - compatible > - reg > @@ -53,6 +56,7 @@ examples: > reg = <0x0c>; > gpios = <&gpj0 7 0>; > vdd-supply = <&ldo_3v3_gnss>; > + reset-gpio = <&msmgpio 111 1>; Same here, reset-gpio = <&msmgpio 111 GPIO_ACTIVE_LOW>, would be more clear. > mount-matrix = "-0.984807753012208", /* x0 */ > "0", /* y0 */ > "-0.173648177666930", /* z0 */ > -- > 2.17.1
On Tue, May 19, 2020 at 03:23:54PM +0200, Stephan Gerhold wrote: > On Tue, May 19, 2020 at 02:43:52PM +0200, Jonathan Albrieux 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 datasheed says that, if not used, reset pin should be connected > > datasheed -> datasheet > Will fix that soon > > to VID. This patch emulates this situation. > > > > Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com> > > --- > > .../devicetree/bindings/iio/magnetometer/ak8975.yaml | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml > > index 86e3efa693a8..a82c0ff5d098 100644 > > --- a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml > > +++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml > > @@ -37,6 +37,9 @@ properties: > > mount-matrix: > > description: an optional 3x3 mounting rotation matrix > > > > + reset-gpio: > > + description: an optional pin needed for AK09911 to set the reset state > > Maybe add a comment that this should be "usually active low". > > > + > > required: > > - compatible > > - reg > > @@ -53,6 +56,7 @@ examples: > > reg = <0x0c>; > > gpios = <&gpj0 7 0>; > > vdd-supply = <&ldo_3v3_gnss>; > > + reset-gpio = <&msmgpio 111 1>; > > Same here, reset-gpio = <&msmgpio 111 GPIO_ACTIVE_LOW>, > would be more clear. > > > mount-matrix = "-0.984807753012208", /* x0 */ > > "0", /* y0 */ > > "-0.173648177666930", /* z0 */ > > -- > > 2.17.1 Thank you for the suggestions, will work on them, Best regards, Jonathan Albrieux
diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml index 86e3efa693a8..a82c0ff5d098 100644 --- a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml +++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.yaml @@ -37,6 +37,9 @@ properties: mount-matrix: description: an optional 3x3 mounting rotation matrix + reset-gpio: + description: an optional pin needed for AK09911 to set the reset state + required: - compatible - reg @@ -53,6 +56,7 @@ examples: reg = <0x0c>; gpios = <&gpj0 7 0>; vdd-supply = <&ldo_3v3_gnss>; + reset-gpio = <&msmgpio 111 1>; mount-matrix = "-0.984807753012208", /* x0 */ "0", /* y0 */ "-0.173648177666930", /* z0 */
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 datasheed 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> --- .../devicetree/bindings/iio/magnetometer/ak8975.yaml | 4 ++++ 1 file changed, 4 insertions(+)