# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/nfc/marvell,nci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Marvell International Ltd. NCI NFC controller

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>

properties:
  compatible:
    enum:
      - marvell,nfc-i2c
      - marvell,nfc-spi
      - marvell,nfc-uart

  hci-muxed:
    type: boolean
    description: |
      Specifies that the chip is muxing NCI over HCI frames

  interrupts:
    maxItems: 1

  reg:
    maxItems: 1

  reset-n-io:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    maxItems: 1
    description: |
      Output GPIO pin used to reset the chip (active low)

  i2c-int-falling:
    type: boolean
    description: |
      For I2C type of connection. Specifies that the chip read event shall be
      triggered on falling edge.

  i2c-int-rising:
    type: boolean
    description: |
      For I2C type of connection.  Specifies that the chip read event shall be
      triggered on rising edge.

  break-control:
    type: boolean
    description: |
      For UART type of connection. Specifies that the chip needs specific break
      management.

  flow-control:
    type: boolean
    description: |
      For UART type of connection. Specifies that the chip is using RTS/CTS.

  spi-cpha: true
  spi-cpol: true

required:
  - compatible

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: marvell,nfc-i2c
    then:
      properties:
        break-control: false
        flow-control: false
        spi-cpha: false
        spi-cpol: false
        spi-max-frequency: false
      required:
        - reg

  - if:
      properties:
        compatible:
          contains:
            const: marvell,nfc-spi
    then:
      $ref: /schemas/spi/spi-peripheral-props.yaml#
      properties:
        break-control: false
        flow-control: false
        i2c-int-falling: false
        i2c-int-rising: false
      required:
        - reg

  - if:
      properties:
        compatible:
          contains:
            const: marvell,nfc-uart
    then:
      properties:
        i2c-int-falling: false
        i2c-int-rising: false
        interrupts: false
        spi-cpha: false
        spi-cpol: false
        spi-max-frequency: false
        reg: false

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        nfc@8 {
            compatible = "marvell,nfc-i2c";
            reg = <0x8>;

            interrupt-parent = <&gpio3>;
            interrupts = <21 IRQ_TYPE_EDGE_RISING>;

            i2c-int-rising;

            reset-n-io = <&gpio3 19 GPIO_ACTIVE_LOW>;
        };
    };

  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

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

        nfc@0 {
            compatible = "marvell,nfc-spi";
            reg = <0>;

            spi-max-frequency = <3000000>;
            spi-cpha;
            spi-cpol;

            interrupt-parent = <&gpio1>;
            interrupts = <17 IRQ_TYPE_EDGE_RISING>;

            reset-n-io = <&gpio3 19 GPIO_ACTIVE_LOW>;
        };
    };

  - |
    #include <dt-bindings/gpio/gpio.h>

    uart {
        nfc {
            compatible = "marvell,nfc-uart";

            reset-n-io = <&gpio3 16 GPIO_ACTIVE_LOW>;

            hci-muxed;
            flow-control;
        };
    };
