Commit 19951f4c authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Rob Herring
Browse files

dt-bindings: nfc: st,nci: convert to dtschema



Convert the ST NCI (ST21NFCB) NFC controller to DT schema format.

Changes during bindings conversion:
1. Add a new required "reg" property for SPI binding, because SPI child
   devices use it as chip-select.
2. Drop the "clock-frequency" property during conversion because it is a
   property of I2C bus controller, not I2C slave device.  It was also
   never used by the driver.

Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20211011073934.34340-7-krzysztof.kozlowski@canonical.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent d45c6e7a
Loading
Loading
Loading
Loading
+106 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/nfc/st,st-nci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics ST NCI NFC controller

maintainers:
  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>

properties:
  compatible:
    enum:
      - st,st21nfcb-i2c
      - st,st21nfcb-spi
      - st,st21nfcc-i2c

  reset-gpios:
    description: Output GPIO pin used for resetting the controller

  ese-present:
    type: boolean
    description: |
      Specifies that an ese is physically connected to the controller

  interrupts:
    maxItems: 1

  reg:
    maxItems: 1

  spi-max-frequency: true

  uicc-present:
    type: boolean
    description: |
      Specifies that the uicc swp signal can be physically connected to the
      controller

required:
  - compatible
  - interrupts
  - reg
  - reset-gpios

if:
  properties:
    compatible:
      contains:
        enum:
          - st,st21nfcb-i2c
          - st,st21nfcc-i2c
then:
  properties:
    spi-max-frequency: false
else:
  required:
    - spi-max-frequency

additionalProperties: 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 = "st,st21nfcb-i2c";
            reg = <0x08>;

            interrupt-parent = <&gpio5>;
            interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
            reset-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;

            ese-present;
            uicc-present;
        };
    };

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

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

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

            spi-max-frequency = <4000000>;

            interrupt-parent = <&gpio5>;
            interrupts = <2 IRQ_TYPE_EDGE_RISING>;
            reset-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;

            ese-present;
            uicc-present;
        };
    };
+0 −38
Original line number Diff line number Diff line
* STMicroelectronics SAS. ST NCI NFC Controller

Required properties:
- compatible: Should be "st,st21nfcb-i2c" or "st,st21nfcc-i2c".
- clock-frequency: I²C work frequency.
- reg: address on the bus
- interrupts: GPIO interrupt to which the chip is connected
- reset-gpios: Output GPIO pin used to reset the ST21NFCB

Optional SoC Specific Properties:
- pinctrl-names: Contains only one value - "default".
- pintctrl-0: Specifies the pin control groups used for this controller.
- ese-present: Specifies that an ese is physically connected to the nfc
controller.
- uicc-present: Specifies that the uicc swp signal can be physically
connected to the nfc controller.

Example (for ARM-based BeagleBoard xM with ST21NFCB on I2C2):

&i2c2 {


	st21nfcb: st21nfcb@8 {

		compatible = "st,st21nfcb-i2c";

		reg = <0x08>;
		clock-frequency = <400000>;

		interrupt-parent = <&gpio5>;
		interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;

		reset-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;

		ese-present;
		uicc-present;
	};
};
+0 −36
Original line number Diff line number Diff line
* STMicroelectronics SAS. ST NCI NFC Controller

Required properties:
- compatible: Should be "st,st21nfcb-spi"
- spi-max-frequency: Maximum SPI frequency (<= 4000000).
- interrupts: GPIO interrupt to which the chip is connected
- reset-gpios: Output GPIO pin used to reset the ST21NFCB

Optional SoC Specific Properties:
- pinctrl-names: Contains only one value - "default".
- pintctrl-0: Specifies the pin control groups used for this controller.
- ese-present: Specifies that an ese is physically connected to the nfc
controller.
- uicc-present: Specifies that the uicc swp signal can be physically
connected to the nfc controller.

Example (for ARM-based BeagleBoard xM with ST21NFCB on SPI4):

&mcspi4 {


	st21nfcb: st21nfcb@0 {

		compatible = "st,st21nfcb-spi";

		clock-frequency = <4000000>;

		interrupt-parent = <&gpio5>;
		interrupts = <2 IRQ_TYPE_EDGE_RISING>;

		reset-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;

		ese-present;
		uicc-present;
	};
};