2021-09-01 23:31:14

by Lucas Stankus

[permalink] [raw]
Subject: [PATCH v4 0/2] iio: accel: Add support for ADXL313 accelerometer

Add driver support and dt-bindings documentation for ADXL313 digital
accelerometer.

Changelog v3 -> v4:
- Add comma to last field of structs
- Add kernel doc to core_probe()
- Rename interface_specific_setup to setup
- Use address instead of scan_index for channel index
- Remove unused fields from scan_type
- Add explicit includes for mod_devicetable.h

Lucas Stankus (2):
dt-bindings: iio: accel: Add binding documentation for ADXL313
iio: accel: Add driver support for ADXL313

.../bindings/iio/accel/adi,adxl313.yaml | 86 +++++
MAINTAINERS | 6 +
drivers/iio/accel/Kconfig | 29 ++
drivers/iio/accel/Makefile | 3 +
drivers/iio/accel/adxl313.h | 54 +++
drivers/iio/accel/adxl313_core.c | 332 ++++++++++++++++++
drivers/iio/accel/adxl313_i2c.c | 66 ++++
drivers/iio/accel/adxl313_spi.c | 92 +++++
8 files changed, 668 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/accel/adi,adxl313.yaml
create mode 100644 drivers/iio/accel/adxl313.h
create mode 100644 drivers/iio/accel/adxl313_core.c
create mode 100644 drivers/iio/accel/adxl313_i2c.c
create mode 100644 drivers/iio/accel/adxl313_spi.c

--
2.33.0


2021-09-01 23:49:40

by Lucas Stankus

[permalink] [raw]
Subject: [PATCH v4 1/2] dt-bindings: iio: accel: Add binding documentation for ADXL313

Add device tree binding documentation for ADXL313 3-axis accelerometer.

Signed-off-by: Lucas Stankus <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
---
.../bindings/iio/accel/adi,adxl313.yaml | 86 +++++++++++++++++++
1 file changed, 86 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/accel/adi,adxl313.yaml

diff --git a/Documentation/devicetree/bindings/iio/accel/adi,adxl313.yaml b/Documentation/devicetree/bindings/iio/accel/adi,adxl313.yaml
new file mode 100644
index 000000000000..d6afc1b8c272
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/accel/adi,adxl313.yaml
@@ -0,0 +1,86 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/accel/adi,adxl313.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices ADXL313 3-Axis Digital Accelerometer
+
+maintainers:
+ - Lucas Stankus <[email protected]>
+
+description: |
+ Analog Devices ADXL313 3-Axis Digital Accelerometer that supports
+ both I2C & SPI interfaces.
+ https://www.analog.com/en/products/adxl313.html
+
+properties:
+ compatible:
+ enum:
+ - adi,adxl313
+
+ reg:
+ maxItems: 1
+
+ spi-3wire: true
+
+ spi-max-frequency: true
+
+ vs-supply:
+ description: Regulator that supplies power to the accelerometer
+
+ vdd-supply:
+ description: Regulator that supplies the digital interface supply voltage
+
+ interrupts:
+ minItems: 1
+ maxItems: 2
+
+ interrupt-names:
+ minItems: 1
+ maxItems: 2
+ items:
+ enum:
+ - INT1
+ - INT2
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* Example for a I2C device node */
+ accelerometer@53 {
+ compatible = "adi,adxl313";
+ reg = <0x53>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "INT1";
+ };
+ };
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* Example for a SPI device node */
+ accelerometer@0 {
+ compatible = "adi,adxl313";
+ reg = <0>;
+ spi-max-frequency = <5000000>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "INT1";
+ };
+ };
--
2.33.0