# 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 lightening 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

additionalProperties: 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>;
        };
    };
...
