diff mbox

[1/2] iio: magn: DT bindings for AK8974

Message ID 1466608276-10401-1-git-send-email-linus.walleij@linaro.org
State Superseded
Headers show

Commit Message

Linus Walleij June 22, 2016, 3:11 p.m. UTC
This adds device tree bindings for the AK8974 magnetometer, similar
to those for the AK8975.

Cc: devicetree@vger.kernel.org
Cc: Samu Onkalo <samu.p.onkalo@nokia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

---
 .../bindings/iio/magnetometer/ak8974.txt           | 28 ++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/ak8974.txt

-- 
2.4.11

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Rob Herring (Arm) June 24, 2016, 5:19 p.m. UTC | #1
On Wed, Jun 22, 2016 at 05:11:16PM +0200, Linus Walleij wrote:
> This adds device tree bindings for the AK8974 magnetometer, similar

> to those for the AK8975.


Seems like they should be shared, but there don't appear to be any 
datasheets for 8974 to really tell. Really only matters if the 
programming models are similar.

> 

> Cc: devicetree@vger.kernel.org

> Cc: Samu Onkalo <samu.p.onkalo@nokia.com>

> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

> ---

>  .../bindings/iio/magnetometer/ak8974.txt           | 28 ++++++++++++++++++++++

>  1 file changed, 28 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/ak8974.txt

> 

> diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8974.txt b/Documentation/devicetree/bindings/iio/magnetometer/ak8974.txt

> new file mode 100644

> index 000000000000..967f8e9b9319

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8974.txt

> @@ -0,0 +1,28 @@

> +* Asahi Kasei AK8974 magnetometer sensor

> +

> +Required properties:

> +

> +- compatible : should be "asahi-kasei,ak8974"

> +- reg : the I2C address of the magnetometer

> +

> +Optional properties:

> +

> +- avdd-supply: regulator supply for the analog voltage

> +  (see regulator/regulator.txt)

> +- dvdd-supply: regulator supply for the digital voltage

> +  (see regulator/regulator.txt)


This is probably more correct than single vdd-supply for 8975 which in 
fact has 2 supplies.

> +- interrupts: data ready (DRDY) and interrupt (INT1) lines

> +  from the chip, the DRDY interrupt must be placed first.

> +  The interrupts can be triggered on rising or falling

> +  edges alike.


The ak8975 probably should be an interrupt instead of gpio, too...

> +

> +Example:

> +

> +ak8974@0f {

> +	compatible = "asahi-kasei,ak8974";

> +	reg = <0x0f>;

> +	avdd-supply = <&foo_reg>;

> +	dvdd-supply = <&bar_reg>;

> +	interrupts = <0 IRQ_TYPE_EDGE_RISING>,

> +		     <1 IRQ_TYPE_EDGE_RISING>;

> +};

> -- 

> 2.4.11

> 

> --

> To unsubscribe from this list: send the line "unsubscribe devicetree" in

> the body of a message to majordomo@vger.kernel.org

> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Linus Walleij June 24, 2016, 8:48 p.m. UTC | #2
On Fri, Jun 24, 2016 at 7:19 PM, Rob Herring <robh@kernel.org> wrote:
> On Wed, Jun 22, 2016 at 05:11:16PM +0200, Linus Walleij wrote:

>> This adds device tree bindings for the AK8974 magnetometer, similar

>> to those for the AK8975.

>

> Seems like they should be shared, but there don't appear to be any

> datasheets for 8974 to really tell. Really only matters if the

> programming models are similar.


I have schematics of the component mounted, so I know what the
pins are named. Apart from that only the opaque driver from Samu.
(Found his new mail and mailed him, also requested the datasheet
from AKM, no response so far.)

>> +- avdd-supply: regulator supply for the analog voltage

>> +  (see regulator/regulator.txt)

>> +- dvdd-supply: regulator supply for the digital voltage

>> +  (see regulator/regulator.txt)

>

> This is probably more correct than single vdd-supply for 8975 which in

> fact has 2 supplies.


Yes. But they did change the names. AK8974 is avdd and dvdd
whereas AK8975 has vdd (same as avdd) and vid (same as dvdd).
I have no idea why this arbitrary naming is happening :/

>> +- interrupts: data ready (DRDY) and interrupt (INT1) lines

>> +  from the chip, the DRDY interrupt must be placed first.

>> +  The interrupts can be triggered on rising or falling

>> +  edges alike.

>

> The ak8975 probably should be an interrupt instead of gpio, too...


Yes. Or well. "data ready" is usually used as interrupt but to the
circuit designers it's just a signal which tells when the state machine
has finished.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8974.txt b/Documentation/devicetree/bindings/iio/magnetometer/ak8974.txt
new file mode 100644
index 000000000000..967f8e9b9319
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8974.txt
@@ -0,0 +1,28 @@ 
+* Asahi Kasei AK8974 magnetometer sensor
+
+Required properties:
+
+- compatible : should be "asahi-kasei,ak8974"
+- reg : the I2C address of the magnetometer
+
+Optional properties:
+
+- avdd-supply: regulator supply for the analog voltage
+  (see regulator/regulator.txt)
+- dvdd-supply: regulator supply for the digital voltage
+  (see regulator/regulator.txt)
+- interrupts: data ready (DRDY) and interrupt (INT1) lines
+  from the chip, the DRDY interrupt must be placed first.
+  The interrupts can be triggered on rising or falling
+  edges alike.
+
+Example:
+
+ak8974@0f {
+	compatible = "asahi-kasei,ak8974";
+	reg = <0x0f>;
+	avdd-supply = <&foo_reg>;
+	dvdd-supply = <&bar_reg>;
+	interrupts = <0 IRQ_TYPE_EDGE_RISING>,
+		     <1 IRQ_TYPE_EDGE_RISING>;
+};