diff mbox series

[v2,3/3] dt-bindings:iio:gyro:invensense,mpu3050: txt to yaml format conversion.

Message ID 20201128173343.390165-4-jic23@kernel.org
State New
Headers show
Series dt-bindings: yaml conversion of i2c-gate and IIO users | expand

Commit Message

Jonathan Cameron Nov. 28, 2020, 5:33 p.m. UTC
From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Very similar to the mpu6050 binding.
Only unusual element is the i2c-gate section.
Example tweaked a little to include a real device behind the gate.

As Rob Herring suggested, dropped use of explicit i2c-gate yaml
binding in favour of just using the i2c-controller.yaml binding
directly.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20201031181801.742585-4-jic23@kernel.org
---
 .../iio/gyroscope/invensense,mpu3050.txt      | 45 ------------
 .../iio/gyroscope/invensense,mpu3050.yaml     | 70 +++++++++++++++++++
 2 files changed, 70 insertions(+), 45 deletions(-)

Comments

Jonathan Cameron Dec. 13, 2020, 1:20 p.m. UTC | #1
On Sat, 28 Nov 2020 17:33:43 +0000
Jonathan Cameron <jic23@kernel.org> wrote:

> From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

> 

> Very similar to the mpu6050 binding.

> Only unusual element is the i2c-gate section.

> Example tweaked a little to include a real device behind the gate.

> 

> As Rob Herring suggested, dropped use of explicit i2c-gate yaml

> binding in favour of just using the i2c-controller.yaml binding

> directly.

> 

> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

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

> Reviewed-by: Rob Herring <robh@kernel.org>

> Link: https://lore.kernel.org/r/20201031181801.742585-4-jic23@kernel.org

Applied.

Thanks,

Jonathan

> ---

>  .../iio/gyroscope/invensense,mpu3050.txt      | 45 ------------

>  .../iio/gyroscope/invensense,mpu3050.yaml     | 70 +++++++++++++++++++

>  2 files changed, 70 insertions(+), 45 deletions(-)

> 

> diff --git a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt

> deleted file mode 100644

> index 233fe207aded..000000000000

> --- a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt

> +++ /dev/null

> @@ -1,45 +0,0 @@

> -Invensense MPU-3050 Gyroscope device tree bindings

> -

> -Required properties:

> -  - compatible : should be "invensense,mpu3050"

> -  - reg : the I2C address of the sensor

> -

> -Optional properties:

> -  - 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>;

> -		};

> -	};

> -};

> diff --git a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml

> new file mode 100644

> index 000000000000..7e2accc3d5ce

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml

> @@ -0,0 +1,70 @@

> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/iio/gyroscope/invensense,mpu3050.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: Invensense MPU-3050 Gyroscope

> +

> +maintainers:

> +  - Linus Walleij <linus.walleij@linaro.org>

> +

> +properties:

> +  compatible:

> +    const: invensense,mpu3050

> +

> +  reg:

> +    maxItems: 1

> +

> +  vdd-supply: true

> +

> +  vlogic-supply: true

> +

> +  interrupts:

> +    minItems: 1

> +    description:

> +      Interrupt mapping for the trigger interrupt from the internal oscillator.

> +

> +  mount-matrix: true

> +

> +  i2c-gate:

> +    $ref: /schemas/i2c/i2c-controller.yaml

> +    unevaluatedProperties: false

> +    description: |

> +      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 an

> +      i2c-gate subnode.

> +

> +required:

> +  - compatible

> +  - reg

> +

> +additionalProperties: false

> +

> +examples:

> +  - |

> +    #include <dt-bindings/interrupt-controller/irq.h>

> +    i2c {

> +        #address-cells = <1>;

> +        #size-cells = <0>;

> +        gyroscope@68 {

> +            compatible = "invensense,mpu3050";

> +            reg = <0x68>;

> +            interrupt-parent = <&foo>;

> +            interrupts = <12 IRQ_TYPE_EDGE_FALLING>;

> +            vdd-supply = <&bar>;

> +            vlogic-supply = <&baz>;

> +

> +            i2c-gate {

> +                #address-cells = <1>;

> +                #size-cells = <0>;

> +

> +                magnetometer@c {

> +                    compatible = "ak,ak8975";

> +                    reg = <0x0c>;

> +                };

> +            };

> +        };

> +    };

> +...
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt
deleted file mode 100644
index 233fe207aded..000000000000
--- a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt
+++ /dev/null
@@ -1,45 +0,0 @@ 
-Invensense MPU-3050 Gyroscope device tree bindings
-
-Required properties:
-  - compatible : should be "invensense,mpu3050"
-  - reg : the I2C address of the sensor
-
-Optional properties:
-  - 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>;
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml
new file mode 100644
index 000000000000..7e2accc3d5ce
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml
@@ -0,0 +1,70 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/gyroscope/invensense,mpu3050.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Invensense MPU-3050 Gyroscope
+
+maintainers:
+  - Linus Walleij <linus.walleij@linaro.org>
+
+properties:
+  compatible:
+    const: invensense,mpu3050
+
+  reg:
+    maxItems: 1
+
+  vdd-supply: true
+
+  vlogic-supply: true
+
+  interrupts:
+    minItems: 1
+    description:
+      Interrupt mapping for the trigger interrupt from the internal oscillator.
+
+  mount-matrix: true
+
+  i2c-gate:
+    $ref: /schemas/i2c/i2c-controller.yaml
+    unevaluatedProperties: false
+    description: |
+      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 an
+      i2c-gate subnode.
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        gyroscope@68 {
+            compatible = "invensense,mpu3050";
+            reg = <0x68>;
+            interrupt-parent = <&foo>;
+            interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
+            vdd-supply = <&bar>;
+            vlogic-supply = <&baz>;
+
+            i2c-gate {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                magnetometer@c {
+                    compatible = "ak,ak8975";
+                    reg = <0x0c>;
+                };
+            };
+        };
+    };
+...