[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <982d5463-0cbf-3275-8f9a-6c3680337738@gmail.com>
Date: Tue, 7 Dec 2021 09:58:16 +0200
From: Cosmin Tanislav <demonsingur@...il.com>
To: Jonathan Cameron <Jonathan.Cameron@...wei.com>
Cc: cosmin.tanislav@...log.com, Lars-Peter Clausen <lars@...afoo.de>,
Michael Hennerich <Michael.Hennerich@...log.com>,
Rob Herring <robh+dt@...nel.org>, linux-iio@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1 1/2] dt-bindings: iio: accel: add ADXL367
On 12/6/21 21:31, Cosmin Tanislav wrote:
>
>
> On 12/6/21 16:39, Jonathan Cameron wrote:
>> On Mon, 6 Dec 2021 12:54:02 +0200
>> Cosmin Tanislav <demonsingur@...il.com> wrote:
>>
>>> The ADXL367 is an ultralow power, 3-axis MEMS accelerometer.
>>>
>>> The ADXL367 does not alias input signals to achieve ultralow power
>>> consumption, it samples the full bandwidth of the sensor at all
>>> data rates. Measurement ranges of +-2g, +-4g, and +-8g are available,
>>> with a resolution of 0.25mg/LSB on the +-2 g range.
>>>
>>> In addition to its ultralow power consumption, the ADXL367
>>> has many features to enable true system level power reduction.
>>> It includes a deep multimode output FIFO, a built-in micropower
>>> temperature sensor, and an internal ADC for synchronous conversion
>>> of an additional analog input.
>>>
>>> Signed-off-by: Cosmin Tanislav <cosmin.tanislav@...log.com>
>>
>> Hi Cosmin,
>>
>> Given how often we get patches later to add regulators for devices like
>> these I'd like them supported from the start.
>>
>> I'm guessing it needs power, but how many supplies? I'm not sure as
>> doesn't
>> seem to be a public datasheet yet.
>
> I'll add them. For the note, it has two supplies, one being the main one
> and another one for the io.
>
One question I have is whether I should disable the regulators on system
suspend. If I do, I should also use a regmap cache so I can re-apply all
registers on resume...
>>
>>> ---
>>> .../bindings/iio/accel/adi,adxl367.yaml | 79 +++++++++++++++++++
>>> 1 file changed, 79 insertions(+)
>>> create mode 100644
>>> Documentation/devicetree/bindings/iio/accel/adi,adxl367.yaml
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/iio/accel/adi,adxl367.yaml
>>> b/Docu`mentation/devicetree/bindings/iio/accel/adi,adxl367.yaml
>>> new file mode 100644
>>> index 000000000000..1bf9e1602480
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/iio/accel/adi,adxl367.yaml
>>> @@ -0,0 +1,79 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/iio/accel/adi,adxl367.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Analog Devices ADXL367 3-Axis Digital Accelerometer
>>> +
>>> +maintainers:
>>> + - Cosmin Tanislav <cosmin.tanislav@...log.com>
>>> +
>>> +description: |
>>> + The ADXL367 is an ultralow power, 3-axis MEMS accelerometer.
>>> +
>>> + The ADXL367 does not alias input signals by to achieve ultralow power
>>> + consumption, it samples the full bandwidth of the sensor at all
>>> + data rates. Measurement ranges of +-2g, +-4g, and +-8g are available,
>>> + with a resolution of 0.25mg/LSB on the +-2 g range.
>>> +
>>> + In addition to its ultralow power consumption, the ADXL367
>>> + has many features to enable true system level power reduction.
>>> + It includes a deep multimode output FIFO, a built-in micropower
>>> + temperature sensor, and an internal ADC for synchronous conversion
>>> + of an additional analog input.
>>> + https://www.analog.com/en/products/adxl367.html
>>
>> "We can't find that page". I guess this driver is running slightly ahead
>> of the datasheet being made public.
>
> Yeah, the datasheet and product page isn't out yet.
>
>>
>>> +
>>> +properties:
>>> + compatible:
>>> + enum:
>>> + - adi,adxl367
>>> +
>>> + reg:
>>> + maxItems: 1
>>> +
>>> + interrupts:
>>> + maxItems: 1
>>
>> spi-max-frequency: true
>>
>> to fix the issue Rob's bot reported.
>>
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> + - interrupts
>>> +
>>> +additionalProperties: false
>>> +
>>> +examples:
>>> + - |
>>> + #include <dt-bindings/gpio/gpio.h>
>>> + #include <dt-bindings/interrupt-controller/irq.h>
>>> +
>>> + i2c {
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> +
>>> + adxl367@53 {
>>> + compatible = "adi,adxl367";
>>> + reg = <0x53>;
>>> + interrupt-parent = <&gpio>;
>>> + interrupts = <25 IRQ_TYPE_EDGE_RISING>;
>>> + };
>>> + };
>>> + - |
>>> + #include <dt-bindings/gpio/gpio.h>
>>> + #include <dt-bindings/interrupt-controller/irq.h>
>>> +
>>> + spi {
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> +
>>> + cs-gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
>>> + status = "okay";
>>
>> We don't normally list status in example bindings.
>> Also, the cs-gpio is part of the spi master binding
>> so no need to have it here as we are showing how the
>> actual device binding works.
>>
>> That should let you drop the gpio.h header.
>>
> Interestingly, you forgot to say this for my AD74413R driver.
>
>>
>>> +
>>> + adxl367@0 {
>>> + compatible = "adi,adxl367";
>>> + reg = <0>;
>>> + spi-max-frequency = <1000000>;
>>> + interrupt-parent = <&gpio>;
>>> + interrupts = <25 IRQ_TYPE_EDGE_RISING>;
>>> + };
>>> + };
>>
Powered by blists - more mailing lists