diff mbox series

[v3,1/3] dt-bindings: iio: accel: add ADXL380

Message ID 20240627102617.24416-1-antoniu.miclaus@analog.com (mailing list archive)
State Changes Requested
Headers show
Series [v3,1/3] dt-bindings: iio: accel: add ADXL380 | expand

Commit Message

Antoniu Miclaus June 27, 2024, 10:25 a.m. UTC
Add dt-bindings for ADXL380/ADLX382 low noise density, low
power, 3-axis accelerometer with selectable measurement ranges.

Signed-off-by: Ramona Gradinariu <ramona.gradinariu@analog.com>
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
---
changes in v3:
 - add power support
 - add support for both interrupts
 .../bindings/iio/accel/adi,adxl380.yaml       | 103 ++++++++++++++++++
 MAINTAINERS                                   |   7 ++
 2 files changed, 110 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/accel/adi,adxl380.yaml

Comments

Conor Dooley June 27, 2024, 3:06 p.m. UTC | #1
On Thu, Jun 27, 2024 at 01:25:17PM +0300, Antoniu Miclaus wrote:
> Add dt-bindings for ADXL380/ADLX382 low noise density, low
> power, 3-axis accelerometer with selectable measurement ranges.
> 
> Signed-off-by: Ramona Gradinariu <ramona.gradinariu@analog.com>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> ---
> changes in v3:
>  - add power support
>  - add support for both interrupts
>  .../bindings/iio/accel/adi,adxl380.yaml       | 103 ++++++++++++++++++
>  MAINTAINERS                                   |   7 ++
>  2 files changed, 110 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/accel/adi,adxl380.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/accel/adi,adxl380.yaml b/Documentation/devicetree/bindings/iio/accel/adi,adxl380.yaml
> new file mode 100644
> index 000000000000..55e25a9b31ac
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/accel/adi,adxl380.yaml
> @@ -0,0 +1,103 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/accel/adi,adxl380.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices ADXL380/382 3-Axis Digital Accelerometer
> +
> +maintainers:
> +  - Ramona Gradinariu <ramona.gradinariu@analog.com>
> +  - Antoniu Miclaus <antoniu.miclaus@analog.com>
> +
> +description: |
> +  The ADXL380/ADXL382 is a low noise density, low power, 3-axis
> +  accelerometer with selectable measurement ranges. The ADXL380
> +  supports the ±4 g, ±8 g, and ±16 g ranges, and the ADXL382 supports
> +  ±15 g, ±30 g, and ±60 g ranges.
> +  The ADXL380/ADXL382 offers industry leading noise, enabling precision
> +  applications with minimal calibration. The low noise, and low power
> +  ADXL380/ADXL382 enables accurate measurement in an environment with
> +  high vibration, heart sounds and audio.
> +
> +  In addition to its low power consumption, the ADXL380/ADXL382 has
> +  many features to enable true system level performance. These
> +  include a built-in micropower temperature sensor, single / double /
> +  triple tap detection and a state machine to prevent a false
> +  triggering. In addition, the ADXL380/ADXL382 has provisions for
> +  external control of the sampling time and/or an external clock.

Please cull the marketing from the descriptions. "Industry leading" may
or may not be accurate at the time of going to print, but might be
completely incorrect in 5 years. Ditto "low power consumption".

With the marketing gone,
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>

> diff --git a/MAINTAINERS b/MAINTAINERS
> index be590c462d91..1425182c85e2 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -618,6 +618,13 @@ F:	drivers/iio/accel/adxl372.c
>  F:	drivers/iio/accel/adxl372_i2c.c
>  F:	drivers/iio/accel/adxl372_spi.c
>  
> +ADXL380 THREE-AXIS DIGITAL ACCELEROMETER DRIVER
> +M:	Ramona Gradinariu <ramona.gradinariu@analog.com>
> +M:	Antoniu Miclaus <antoniu.miclaus@analog.com>
> +S:	Supported
> +W:	https://ez.analog.com/linux-software-drivers

Seems like having a website like
https://wiki.analog.com/resources/tools-software/linux-drivers/input-misc/adxl345
would make more sense than a generic forum for all of your drivers?
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/accel/adi,adxl380.yaml b/Documentation/devicetree/bindings/iio/accel/adi,adxl380.yaml
new file mode 100644
index 000000000000..55e25a9b31ac
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/accel/adi,adxl380.yaml
@@ -0,0 +1,103 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/accel/adi,adxl380.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices ADXL380/382 3-Axis Digital Accelerometer
+
+maintainers:
+  - Ramona Gradinariu <ramona.gradinariu@analog.com>
+  - Antoniu Miclaus <antoniu.miclaus@analog.com>
+
+description: |
+  The ADXL380/ADXL382 is a low noise density, low power, 3-axis
+  accelerometer with selectable measurement ranges. The ADXL380
+  supports the ±4 g, ±8 g, and ±16 g ranges, and the ADXL382 supports
+  ±15 g, ±30 g, and ±60 g ranges.
+  The ADXL380/ADXL382 offers industry leading noise, enabling precision
+  applications with minimal calibration. The low noise, and low power
+  ADXL380/ADXL382 enables accurate measurement in an environment with
+  high vibration, heart sounds and audio.
+
+  In addition to its low power consumption, the ADXL380/ADXL382 has
+  many features to enable true system level performance. These
+  include a built-in micropower temperature sensor, single / double /
+  triple tap detection and a state machine to prevent a false
+  triggering. In addition, the ADXL380/ADXL382 has provisions for
+  external control of the sampling time and/or an external clock.
+
+    https://www.analog.com/en/products/adxl380.html
+
+properties:
+  compatible:
+    enum:
+      - adi,adxl380
+      - adi,adxl382
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    minItems: 1
+    maxItems: 2
+
+  interrupt-names:
+    minItems: 1
+    items:
+      - enum: [INT0, INT1]
+      - const: INT1
+
+  vddio-supply: true
+
+  vsupply-supply: true
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - interrupt-names
+  - vddio-supply
+  - vsupply-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>;
+
+      accelerometer@54 {
+        compatible = "adi,adxl380";
+        reg = <0x54>;
+        vddio-supply = <&vddio>;
+        vsupply-supply = <&vsupply>;
+        interrupt-parent = <&gpio>;
+        interrupts = <25 IRQ_TYPE_LEVEL_HIGH>;
+        interrupt-names = "INT0";
+      };
+    };
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    spi {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      accelerometer@0 {
+        compatible = "adi,adxl380";
+        reg = <0>;
+        spi-max-frequency = <8000000>;
+        vddio-supply = <&vddio>;
+        vsupply-supply = <&vsupply>;
+        interrupt-parent = <&gpio>;
+        interrupts = <25 IRQ_TYPE_LEVEL_HIGH>;
+        interrupt-names = "INT0";
+      };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index be590c462d91..1425182c85e2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -618,6 +618,13 @@  F:	drivers/iio/accel/adxl372.c
 F:	drivers/iio/accel/adxl372_i2c.c
 F:	drivers/iio/accel/adxl372_spi.c
 
+ADXL380 THREE-AXIS DIGITAL ACCELEROMETER DRIVER
+M:	Ramona Gradinariu <ramona.gradinariu@analog.com>
+M:	Antoniu Miclaus <antoniu.miclaus@analog.com>
+S:	Supported
+W:	https://ez.analog.com/linux-software-drivers
+F:	Documentation/devicetree/bindings/iio/accel/adi,adxl380.yaml
+
 AF8133J THREE-AXIS MAGNETOMETER DRIVER
 M:	Ondřej Jirman <megi@xff.cz>
 S:	Maintained