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
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/
--
2.47.0
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/
>
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/
>>
© 2016 - 2026 Red Hat, Inc.