[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<FR2PPF4571F02BC24F20824D4A978BFCF348C4BA@FR2PPF4571F02BC.DEUP281.PROD.OUTLOOK.COM>
Date: Fri, 11 Jul 2025 11:40:17 +0000
From: Remi Buisson <Remi.Buisson@....com>
To: Rob Herring <robh@...nel.org>
CC: Jonathan Cameron <jic23@...nel.org>,
David Lechner
<dlechner@...libre.com>,
Nuno Sá <nuno.sa@...log.com>,
Andy
Shevchenko <andy@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor
Dooley <conor+dt@...nel.org>,
"linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>,
"linux-iio@...r.kernel.org"
<linux-iio@...r.kernel.org>,
"devicetree@...r.kernel.org"
<devicetree@...r.kernel.org>
Subject: RE: [PATCH v2 1/8] dt-bindings: iio: imu: Add inv_icm45600
>
>
>From: Rob Herring robh@...nel.org
>Sent: Friday, July 11, 2025 12:41 AM
>To: Remi Buisson Remi.Buisson@....com
>Cc: Jonathan Cameron jic23@...nel.org; David Lechner dlechner@...libre.com; Nuno Sá nuno.sa@...log.com; Andy Shevchenko andy@...nel.org; Krzysztof Kozlowski krzk+dt@...nel.org; Conor Dooley conor+dt@...nel.org; linux-kernel@...r.kernel.org; linux-iio@...r.kernel.org; devicetree@...r.kernel.org
>Subject: Re: [PATCH v2 1/8] dt-bindings: iio: imu: Add inv_icm45600
>
>On Thu, Jul 10, 2025 at 08:57:56AM +0000, Remi Buisson wrote:
>> Document the ICM-45600 devices devicetree bindings.
>>
>> Signed-off-by: Remi Buisson remi.buisson@....com
>> ---
>> .../bindings/iio/imu/invensense,icm45600.yaml | 138 +++++++++++++++++++++
>> 1 file changed, 138 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/iio/imu/invensense,icm45600.yaml b/Documentation/devicetree/bindings/iio/imu/invensense,icm45600.yaml
>> new file mode 100644
>> index 0000000000000000000000000000000000000000..a651878791ffae8d1c8d6c8ff1e4becfc56af79f
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/iio/imu/invensense,icm45600.yaml
>> @@ -0,0 +1,138 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: https://urldefense.com/v3/__http://devicetree.org/schemas/iio/imu/invensense,icm45600.yaml*__;Iw!!FtrhtPsWDhZ6tw!EJ6o-tnOtuJYQRU8150mnYpf0uCMnYOSvfBK-DKo5kDvwheDRaLvPeQpbZ03mKXaPTGv5T8JO5sT$[devicetree[.]org]
>> +$schema: https://urldefense.com/v3/__http://devicetree.org/meta-schemas/core.yaml*__;Iw!!FtrhtPsWDhZ6tw!EJ6o-tnOtuJYQRU8150mnYpf0uCMnYOSvfBK-DKo5kDvwheDRaLvPeQpbZ03mKXaPTGv5SV7Z3My$[devicetree[.]org]
>> +
>> +title: InvenSense ICM-45600 Inertial Measurement Unit
>> +
>> +maintainers:
>> + - Remi Buisson remi.buisson@....com
>> +
>> +description: |
>> + 6-axis MotionTracking device that combines a 3-axis gyroscope and a 3-axis
>> + accelerometer.
>> +
>> + It has a configurable host interface that supports I3C, I2C and SPI serial
>> + communication, features up to 8kB FIFO and 2 programmable interrupts with
>> + ultra-low-power wake-on-motion support to minimize system power consumption.
>> +
>> + Other industry-leading features include InvenSense on-chip APEX Motion
>> + Processing engine for gesture recognition, activity classification, and
>> + pedometer, along with programmable digital filters, and an embedded
>> + temperature sensor.
>> +
>> + https://invensense.tdk.com/wp-content/uploads/documentation/DS-000576_ICM-45605.pdf
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - invensense,icm45605
>> + - invensense,icm45606
>> + - invensense,icm45608
>> + - invensense,icm45634
>> + - invensense,icm45686
>> + - invensense,icm45687
>> + - invensense,icm45688p
>> + - invensense,icm45689
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + interrupts:
>> + minItems: 1
>> + maxItems: 2
>> +
>> + interrupt-names:
>> + minItems: 1
>> + maxItems: 2
>> + items:
>> + enum:
>> + - INT1
>> + - INT2
>> + description: Choose chip interrupt pin to be used as interrupt input.
>> +
>> + drive-open-drain:
>> + type: boolean
>> +
>> + vdd-supply:
>> + description: Regulator that provides power to the sensor
>> +
>> + vddio-supply:
>> + description: Regulator that provides power to the bus
>> +
>> + mount-matrix:
>> + description: an optional 3x3 mounting rotation matrix
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - interrupts
>> + - interrupt-names
>> +
>> +allOf:
>> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> + #include <dt-bindings/interrupt-controller/irq.h>
>> + i2c {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + icm45605@68 {
>> + compatible = "invensense,icm45605";
>> + reg = <0x68>;
>> + interrupt-parent = <&gpio2>;
>> + interrupt-names = "INT1";
>> + interrupts = <7 IRQ_TYPE_EDGE_RISING>;
>> + vdd-supply = <&vdd>;
>> + vddio-supply = <&vddio>;
>> + mount-matrix = "0", "-1", "0",
>> + "1", "0", "0",
>> + "0", "0", "1";
>> + };
>> + };
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> + #include <dt-bindings/interrupt-controller/irq.h>
>> + spi {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + icm45605@0 {
>> + compatible = "invensense,icm45605";
>> + reg = <0>;
>> + spi-max-frequency = <24000000>;
>> + interrupt-parent = <&gpio1>;
>> + interrupt-names = "INT1";
>> + interrupts = <6 IRQ_TYPE_EDGE_RISING>;
>> + vdd-supply = <&vdd>;
>> + vddio-supply = <&vddio>;
>> + mount-matrix = "0", "-1", "0",
>> + "1", "0", "0",
>> + "0", "0", "1";
>> + };
>> + };
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> + #include <dt-bindings/interrupt-controller/irq.h>
>> + i3c {
>> + #address-cells = <3>;
>> + #size-cells = <0>;
>> +
>> + icm45606@68,46A00000084 {
>> + reg = <0x68 0x46A 0x84>;
>> + interrupt-parent = <&gpio1>;
>> + interrupt-names = "INT1";
>> + interrupts = <5 IRQ_TYPE_EDGE_RISING>;
>> + vdd-supply = <&vdd>;
>> + vddio-supply = <&vddio>;
>> + mount-matrix = "0", "-1", "0",
>> + "1", "0", "0",
>> + "0", "0", "1";
>> + };
>> + };
>
>I don't think we need 3 examples just for different buses being the only
>diff.
>
>Rob
>
Hello Rob,
Thanks for your feedback, I will simplify it then.
Remi
Powered by blists - more mailing lists