diff mbox series

[v2,3/6] dt-bindings: iio: imu: Add Bosch BMI260

Message ID 20241018233723.28757-4-justin@justinweiss.com (mailing list archive)
State Changes Requested
Headers show
Series Add i2c driver for Bosch BMI260 IMU | expand

Commit Message

Justin Weiss Oct. 18, 2024, 11:36 p.m. UTC
Add devicetree description document for Bosch BMI260, a 6-Axis IMU.

Signed-off-by: Justin Weiss <justin@justinweiss.com>
---
 .../bindings/iio/imu/bosch,bmi260.yaml        | 77 +++++++++++++++++++
 MAINTAINERS                                   |  1 +
 2 files changed, 78 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml

Comments

Jonathan Cameron Oct. 19, 2024, 11:36 a.m. UTC | #1
On Fri, 18 Oct 2024 16:36:09 -0700
Justin Weiss <justin@justinweiss.com> wrote:

> Add devicetree description document for Bosch BMI260, a 6-Axis IMU.
> 
> Signed-off-by: Justin Weiss <justin@justinweiss.com>
Looks like this would be much better as an additional compatible id
in the existing bosch,bmi270.yaml binding doc.

From a quick comparison they look nearly identical.
Even if there are small differences the dt binding schema allows
those to be expressed in a single file.

Jonathan

> ---
>  .../bindings/iio/imu/bosch,bmi260.yaml        | 77 +++++++++++++++++++
>  MAINTAINERS                                   |  1 +
>  2 files changed, 78 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml b/Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
> new file mode 100644
> index 000000000000..6786b5e4d0fa
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
> @@ -0,0 +1,77 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/imu/bosch,bmi260.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Bosch BMI260 6-Axis IMU
> +
> +maintainers:
> +  - Justin Weiss <justin@justinweiss.com>
> +
> +description: |
> +  BMI260 is a 6-axis inertial measurement unit that can measure acceleration and
> +  angular velocity. The sensor also supports configurable interrupt events such
> +  as motion detection and step counting. The sensor can communicate over
> +  I2C or SPI.
> +  https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi260/
> +
> +properties:
> +  compatible:
> +    const: bosch,bmi260
> +
> +  reg:
> +    maxItems: 1
> +
> +  vdd-supply: true
> +  vddio-supply: true
> +
> +  interrupts:
> +    minItems: 1
> +    maxItems: 2
> +
> +  interrupt-names:
> +    minItems: 1
> +    maxItems: 2
> +    items:
> +      enum:
> +        - INT1
> +        - INT2
> +
> +  drive-open-drain:
> +    description:
> +      set if the specified interrupt pins should be configured as
> +      open drain. If not set, defaults to push-pull.
> +
> +  mount-matrix:
> +    description:
> +      an optional 3x3 mounting rotation matrix.
> +
> +required:
> +  - compatible
> +  - reg
> +  - vdd-supply
> +  - vddio-supply
> +
> +allOf:
> +  - $ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        imu@68 {
> +            compatible = "bosch,bmi260";
> +            reg = <0x68>;
> +            vdd-supply = <&vdd>;
> +            vddio-supply = <&vddio>;
> +            interrupt-parent = <&gpio1>;
> +            interrupts = <16 IRQ_TYPE_EDGE_RISING>;
> +            interrupt-names = "INT1";
> +        };
> +    };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 6011af70c12e..73b6b7721dd8 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -4047,6 +4047,7 @@ BOSCH SENSORTEC BMI270 IMU IIO DRIVER
>  M:	Alex Lanzano <lanzano.alex@gmail.com>
>  L:	linux-iio@vger.kernel.org
>  S:	Maintained
> +F:	Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
>  F:	Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml
>  F:	drivers/iio/imu/bmi270/
>
Justin Weiss Oct. 19, 2024, 8:49 p.m. UTC | #2
Jonathan Cameron <jic23@kernel.org> writes:

> On Fri, 18 Oct 2024 16:36:09 -0700
> Justin Weiss <justin@justinweiss.com> wrote:
>
>> Add devicetree description document for Bosch BMI260, a 6-Axis IMU.
>> 
>> Signed-off-by: Justin Weiss <justin@justinweiss.com>
> Looks like this would be much better as an additional compatible id
> in the existing bosch,bmi270.yaml binding doc.
>
> From a quick comparison they look nearly identical.
> Even if there are small differences the dt binding schema allows
> those to be expressed in a single file.
>
> Jonathan

Sounds good, will update in v3.

Justin

>> ---
>>  .../bindings/iio/imu/bosch,bmi260.yaml        | 77 +++++++++++++++++++
>>  MAINTAINERS                                   |  1 +
>>  2 files changed, 78 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
>> 
>> diff --git
>> a/Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
>> b/Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
>> new file mode 100644
>> index 000000000000..6786b5e4d0fa
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
>> @@ -0,0 +1,77 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/iio/imu/bosch,bmi260.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Bosch BMI260 6-Axis IMU
>> +
>> +maintainers:
>> +  - Justin Weiss <justin@justinweiss.com>
>> +
>> +description: |
>> +  BMI260 is a 6-axis inertial measurement unit that can measure acceleration and
>> +  angular velocity. The sensor also supports configurable interrupt events such
>> +  as motion detection and step counting. The sensor can communicate over
>> +  I2C or SPI.
>> +  https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi260/
>> +
>> +properties:
>> +  compatible:
>> +    const: bosch,bmi260
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  vdd-supply: true
>> +  vddio-supply: true
>> +
>> +  interrupts:
>> +    minItems: 1
>> +    maxItems: 2
>> +
>> +  interrupt-names:
>> +    minItems: 1
>> +    maxItems: 2
>> +    items:
>> +      enum:
>> +        - INT1
>> +        - INT2
>> +
>> +  drive-open-drain:
>> +    description:
>> +      set if the specified interrupt pins should be configured as
>> +      open drain. If not set, defaults to push-pull.
>> +
>> +  mount-matrix:
>> +    description:
>> +      an optional 3x3 mounting rotation matrix.
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - vdd-supply
>> +  - vddio-supply
>> +
>> +allOf:
>> +  - $ref: /schemas/spi/spi-peripheral-props.yaml#
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/interrupt-controller/irq.h>
>> +    i2c {
>> +        #address-cells = <1>;
>> +        #size-cells = <0>;
>> +
>> +        imu@68 {
>> +            compatible = "bosch,bmi260";
>> +            reg = <0x68>;
>> +            vdd-supply = <&vdd>;
>> +            vddio-supply = <&vddio>;
>> +            interrupt-parent = <&gpio1>;
>> +            interrupts = <16 IRQ_TYPE_EDGE_RISING>;
>> +            interrupt-names = "INT1";
>> +        };
>> +    };
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 6011af70c12e..73b6b7721dd8 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -4047,6 +4047,7 @@ BOSCH SENSORTEC BMI270 IMU IIO DRIVER
>>  M:	Alex Lanzano <lanzano.alex@gmail.com>
>>  L:	linux-iio@vger.kernel.org
>>  S:	Maintained
>> +F:	Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
>>  F:	Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml
>>  F:	drivers/iio/imu/bmi270/
>>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml b/Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
new file mode 100644
index 000000000000..6786b5e4d0fa
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
@@ -0,0 +1,77 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/imu/bosch,bmi260.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bosch BMI260 6-Axis IMU
+
+maintainers:
+  - Justin Weiss <justin@justinweiss.com>
+
+description: |
+  BMI260 is a 6-axis inertial measurement unit that can measure acceleration and
+  angular velocity. The sensor also supports configurable interrupt events such
+  as motion detection and step counting. The sensor can communicate over
+  I2C or SPI.
+  https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi260/
+
+properties:
+  compatible:
+    const: bosch,bmi260
+
+  reg:
+    maxItems: 1
+
+  vdd-supply: true
+  vddio-supply: true
+
+  interrupts:
+    minItems: 1
+    maxItems: 2
+
+  interrupt-names:
+    minItems: 1
+    maxItems: 2
+    items:
+      enum:
+        - INT1
+        - INT2
+
+  drive-open-drain:
+    description:
+      set if the specified interrupt pins should be configured as
+      open drain. If not set, defaults to push-pull.
+
+  mount-matrix:
+    description:
+      an optional 3x3 mounting rotation matrix.
+
+required:
+  - compatible
+  - reg
+  - vdd-supply
+  - vddio-supply
+
+allOf:
+  - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        imu@68 {
+            compatible = "bosch,bmi260";
+            reg = <0x68>;
+            vdd-supply = <&vdd>;
+            vddio-supply = <&vddio>;
+            interrupt-parent = <&gpio1>;
+            interrupts = <16 IRQ_TYPE_EDGE_RISING>;
+            interrupt-names = "INT1";
+        };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 6011af70c12e..73b6b7721dd8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4047,6 +4047,7 @@  BOSCH SENSORTEC BMI270 IMU IIO DRIVER
 M:	Alex Lanzano <lanzano.alex@gmail.com>
 L:	linux-iio@vger.kernel.org
 S:	Maintained
+F:	Documentation/devicetree/bindings/iio/imu/bosch,bmi260.yaml
 F:	Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml
 F:	drivers/iio/imu/bmi270/