diff mbox series

[v1,1/2] dt-bindings: iio: accel: add ADXL367

Message ID 20211206105403.53049-1-cosmin.tanislav@analog.com (mailing list archive)
State Superseded
Headers show
Series [v1,1/2] dt-bindings: iio: accel: add ADXL367 | expand

Commit Message

Cosmin Tanislav Dec. 6, 2021, 10:54 a.m. UTC
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@analog.com>
---
 .../bindings/iio/accel/adi,adxl367.yaml       | 79 +++++++++++++++++++
 1 file changed, 79 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/accel/adi,adxl367.yaml

Comments

Rob Herring (Arm) Dec. 6, 2021, 2:25 p.m. UTC | #1
On Mon, 06 Dec 2021 12:54:02 +0200, Cosmin Tanislav 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@analog.com>
> ---
>  .../bindings/iio/accel/adi,adxl367.yaml       | 79 +++++++++++++++++++
>  1 file changed, 79 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/accel/adi,adxl367.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/iio/accel/adi,adxl367.example.dt.yaml: adxl367@0: 'spi-max-frequency' does not match any of the regexes: 'pinctrl-[0-9]+'
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/iio/accel/adi,adxl367.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1563904

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.
Jonathan Cameron Dec. 6, 2021, 2:39 p.m. UTC | #2
On Mon,  6 Dec 2021 12:54:02 +0200
Cosmin Tanislav <demonsingur@gmail.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@analog.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.

> ---
>  .../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@analog.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.

> +
> +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.


> +
> +      adxl367@0 {
> +        compatible = "adi,adxl367";
> +        reg = <0>;
> +        spi-max-frequency = <1000000>;
> +        interrupt-parent = <&gpio>;
> +        interrupts = <25 IRQ_TYPE_EDGE_RISING>;
> +      };
> +    };
Cosmin Tanislav Dec. 6, 2021, 7:31 p.m. UTC | #3
On 12/6/21 16:39, Jonathan Cameron wrote:
> On Mon,  6 Dec 2021 12:54:02 +0200
> Cosmin Tanislav <demonsingur@gmail.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@analog.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.

> 
>> ---
>>   .../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@analog.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>;
>> +      };
>> +    };
>
Cosmin Tanislav Dec. 7, 2021, 7:58 a.m. UTC | #4
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@gmail.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@analog.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@analog.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>;
>>> +      };
>>> +    };
>>
Jonathan Cameron Dec. 7, 2021, 9:26 a.m. UTC | #5
On Tue, 7 Dec 2021 09:58:16 +0200
Cosmin Tanislav <demonsingur@gmail.com> wrote:

> 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@gmail.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@analog.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...

Ideally yes, but often first implementation just turns them off on probe / remove.
Can add fancy stuff later :)

Jonathan

> 
> >>  
> >>> ---
> >>>   .../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@analog.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>;
> >>> +      };
> >>> +    };  
> >>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/accel/adi,adxl367.yaml b/Documentation/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@analog.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
+
+properties:
+  compatible:
+    enum:
+      - adi,adxl367
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+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";
+
+      adxl367@0 {
+        compatible = "adi,adxl367";
+        reg = <0>;
+        spi-max-frequency = <1000000>;
+        interrupt-parent = <&gpio>;
+        interrupts = <25 IRQ_TYPE_EDGE_RISING>;
+      };
+    };