# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/proximity/ams,as3935.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Austrian Microsystems AS3935 Franklin lightning sensor

maintainers:
  - Matt Ranostay <matt.ranostay@konsulko.com>

description:
  This lightning distance sensor uses an I2C or SPI interface. The
  binding currently only covers the SPI option.

properties:
  compatible:
    const: ams,as3935

  reg:
    maxItems: 1

  spi-max-frequency:
    maximum: 2000000

  spi-cpha: true

  interrupts:
    maxItems: 1

  ams,tuning-capacitor-pf:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Calibration tuning capacitor stepping value. This will require using
      the calibration data from the manufacturer.
    minimum: 0
    maximum: 120

  ams,nflwdth:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Set the noise and watchdog threshold register on startup. This will
      need to set according to the noise from the MCU board, and possibly
      the local environment. Refer to the datasheet for the threshold settings.

required:
  - compatible
  - reg
  - spi-cpha
  - interrupts

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        lightning@0 {
            compatible = "ams,as3935";
            reg = <0>;
            spi-max-frequency = <400000>;
            spi-cpha;
            interrupt-parent = <&gpio1>;
            interrupts = <16 1>;
            ams,tuning-capacitor-pf = <80>;
            ams,nflwdth = <0x44>;
        };
    };
...