iio: gyro: Add MPU-3050 device tree bindings
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 25 Oct 2016 14:15:53 +0000 (16:15 +0200)
committerJonathan Cameron <jic23@kernel.org>
Tue, 25 Oct 2016 15:54:35 +0000 (16:54 +0100)
This adds device tree bindings for the MPU-3050 gyroscope. Since it
is the first set of bindings for a gyroscope, the folder for it
is also created.

Cc: devicetree@vger.kernel.org
Cc: Peter Rosin <peda@axentia.se>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt
new file mode 100644 (file)
index 0000000..b0d3b59
--- /dev/null
@@ -0,0 +1,46 @@
+Invensense MPU-3050 Gyroscope device tree bindings
+
+Required properties:
+  - compatible : should be "invensense,mpu3050"
+  - reg : the I2C address of the sensor
+
+Optional properties:
+  - interrupt-parent : should be the phandle for the interrupt controller
+  - interrupts : interrupt mapping for the trigger interrupt from the
+    internal oscillator. The following IRQ modes are supported:
+    IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING, IRQ_TYPE_LEVEL_HIGH and
+    IRQ_TYPE_LEVEL_LOW. The driver should detect and configure the hardware
+    for the desired interrupt type.
+  - vdd-supply : supply regulator for the main power voltage.
+  - vlogic-supply : supply regulator for the signal voltage.
+  - mount-matrix : see iio/mount-matrix.txt
+
+Optional subnodes:
+  - The MPU-3050 will pass through and forward the I2C signals from the
+    incoming I2C bus, alternatively drive traffic to a slave device (usually
+    an accelerometer) on its own initiative. Therefore is supports a subnode
+    i2c gate node. For details see: i2c/i2c-gate.txt
+
+Example:
+
+mpu3050@68 {
+       compatible = "invensense,mpu3050";
+       reg = <0x68>;
+       interrupt-parent = <&foo>;
+       interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
+       vdd-supply = <&bar>;
+       vlogic-supply = <&baz>;
+
+       /* External I2C interface */
+       i2c-gate {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               fnord@18 {
+                       compatible = "fnord";
+                       reg = <0x18>;
+                       interrupt-parent = <&foo>;
+                       interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
+               };
+       };
+};