mbox series

[0/3] dt-bindings: yaml conversion of i2c-gate and IIO users

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

Message

Jonathan Cameron Oct. 31, 2020, 6:17 p.m. UTC
From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

As part of a general effort to convert all IIO bindings over to yaml,
we need to handle those that specify an i2c-gate.
As such this also includes conversion of the base i2c-gate binding
which is then referenced by the i2c binding files.

Jonathan Cameron (3):
  dt-bindings:i2c:i2c-gate: txt to yaml conversion
  dt-bindings:iio:imu:invensense,mpu6050: txt to yaml conversion
  dt-bindings:iio:gyro:invensense,mpu3050: txt to yaml format
    conversion.

 .../devicetree/bindings/i2c/i2c-gate.txt      |  41 -------
 .../devicetree/bindings/i2c/i2c-gate.yaml     |  52 +++++++++
 .../iio/gyroscope/invensense,mpu3050.txt      |  45 --------
 .../iio/gyroscope/invensense,mpu3050.yaml     |  70 ++++++++++++
 .../bindings/iio/imu/inv_mpu6050.txt          |  67 -----------
 .../bindings/iio/imu/invensense,mpu6050.yaml  | 105 ++++++++++++++++++
 6 files changed, 227 insertions(+), 153 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-gate.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-gate.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt
 create mode 100644 Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/imu/inv_mpu6050.txt
 create mode 100644 Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml

Comments

Rob Herring (Arm) Nov. 3, 2020, 2:30 a.m. UTC | #1
On Sat, Oct 31, 2020 at 06:18:01PM +0000, Jonathan Cameron 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.

> 

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

> Cc: Linus Walleij <linus.walleij@linaro.org>

> ---

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

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

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


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


> 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..b0a476afb656

> --- /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: "../../i2c/i2c-gate.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 a subnode

> +      i2c gate node.

> +

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

> +                };

> +            };

> +        };

> +    };

> +...

> -- 

> 2.28.0

>