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