13470d69bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
23470d69bSKrzysztof Kozlowski%YAML 1.2
33470d69bSKrzysztof Kozlowski---
43470d69bSKrzysztof Kozlowski$id: http://devicetree.org/schemas/net/nfc/ti,trf7970a.yaml#
53470d69bSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
63470d69bSKrzysztof Kozlowski
73470d69bSKrzysztof Kozlowskititle: Texas Instruments TRF7970A RFID/NFC/15693 Transceiver
83470d69bSKrzysztof Kozlowski
93470d69bSKrzysztof Kozlowskimaintainers:
108a1e6bb3SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
113470d69bSKrzysztof Kozlowski  - Mark Greer <mgreer@animalcreek.com>
123470d69bSKrzysztof Kozlowski
133470d69bSKrzysztof Kozlowskiproperties:
143470d69bSKrzysztof Kozlowski  compatible:
153470d69bSKrzysztof Kozlowski    const: ti,trf7970a
163470d69bSKrzysztof Kozlowski
173470d69bSKrzysztof Kozlowski  autosuspend-delay:
183470d69bSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
193470d69bSKrzysztof Kozlowski    description: |
203470d69bSKrzysztof Kozlowski      Specify autosuspend delay in milliseconds.
213470d69bSKrzysztof Kozlowski
223470d69bSKrzysztof Kozlowski  clock-frequency:
233470d69bSKrzysztof Kozlowski    description: |
243470d69bSKrzysztof Kozlowski      Set to specify that the input frequency to the trf7970a is 13560000Hz or
253470d69bSKrzysztof Kozlowski      27120000Hz
263470d69bSKrzysztof Kozlowski
273470d69bSKrzysztof Kozlowski  en2-rf-quirk:
283470d69bSKrzysztof Kozlowski    type: boolean
293470d69bSKrzysztof Kozlowski    description: |
303470d69bSKrzysztof Kozlowski      Specify that the trf7970a being used has the "EN2 RF" erratum
313470d69bSKrzysztof Kozlowski
323470d69bSKrzysztof Kozlowski  interrupts:
333470d69bSKrzysztof Kozlowski    maxItems: 1
343470d69bSKrzysztof Kozlowski
353470d69bSKrzysztof Kozlowski  irq-status-read-quirk:
363470d69bSKrzysztof Kozlowski    type: boolean
373470d69bSKrzysztof Kozlowski    description: |
383470d69bSKrzysztof Kozlowski      Specify that the trf7970a being used has the "IRQ Status Read" erratum
393470d69bSKrzysztof Kozlowski
403470d69bSKrzysztof Kozlowski  reg:
413470d69bSKrzysztof Kozlowski    maxItems: 1
423470d69bSKrzysztof Kozlowski
433470d69bSKrzysztof Kozlowski  ti,enable-gpios:
443470d69bSKrzysztof Kozlowski    minItems: 1
453470d69bSKrzysztof Kozlowski    maxItems: 2
463470d69bSKrzysztof Kozlowski    description: |
473470d69bSKrzysztof Kozlowski      One or two GPIO entries used for 'EN' and 'EN2' pins on the TRF7970A. EN2
483470d69bSKrzysztof Kozlowski      is optional.
493470d69bSKrzysztof Kozlowski
503470d69bSKrzysztof Kozlowski  vdd-io-supply:
513470d69bSKrzysztof Kozlowski    description: |
523470d69bSKrzysztof Kozlowski      Regulator specifying voltage for VDD-IO
533470d69bSKrzysztof Kozlowski
543470d69bSKrzysztof Kozlowski  vin-supply:
553470d69bSKrzysztof Kozlowski    description: |
563470d69bSKrzysztof Kozlowski      Regulator for supply voltage to VIN pin
573470d69bSKrzysztof Kozlowski
583470d69bSKrzysztof Kozlowskirequired:
593470d69bSKrzysztof Kozlowski  - compatible
603470d69bSKrzysztof Kozlowski  - interrupts
613470d69bSKrzysztof Kozlowski  - reg
623470d69bSKrzysztof Kozlowski  - spi-max-frequency
633470d69bSKrzysztof Kozlowski  - ti,enable-gpios
643470d69bSKrzysztof Kozlowski  - vin-supply
653470d69bSKrzysztof Kozlowski
66*ba323f6bSKrzysztof KozlowskiallOf:
67*ba323f6bSKrzysztof Kozlowski  - $ref: /schemas/spi/spi-peripheral-props.yaml#
68*ba323f6bSKrzysztof Kozlowski
69*ba323f6bSKrzysztof KozlowskiunevaluatedProperties: false
703470d69bSKrzysztof Kozlowski
713470d69bSKrzysztof Kozlowskiexamples:
723470d69bSKrzysztof Kozlowski  - |
733470d69bSKrzysztof Kozlowski    #include <dt-bindings/gpio/gpio.h>
743470d69bSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
753470d69bSKrzysztof Kozlowski
763470d69bSKrzysztof Kozlowski    i2c {
773470d69bSKrzysztof Kozlowski        #address-cells = <1>;
783470d69bSKrzysztof Kozlowski        #size-cells = <0>;
793470d69bSKrzysztof Kozlowski
803470d69bSKrzysztof Kozlowski        nfc@0 {
813470d69bSKrzysztof Kozlowski            compatible = "ti,trf7970a";
823470d69bSKrzysztof Kozlowski            reg = <0>;
833470d69bSKrzysztof Kozlowski
843470d69bSKrzysztof Kozlowski            pinctrl-names = "default";
853470d69bSKrzysztof Kozlowski            pinctrl-0 = <&trf7970a_default>;
863470d69bSKrzysztof Kozlowski            spi-max-frequency = <2000000>;
873470d69bSKrzysztof Kozlowski            interrupt-parent = <&gpio2>;
883470d69bSKrzysztof Kozlowski            interrupts = <14 0>;
893470d69bSKrzysztof Kozlowski
903470d69bSKrzysztof Kozlowski            ti,enable-gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>,
913470d69bSKrzysztof Kozlowski                              <&gpio2 5 GPIO_ACTIVE_HIGH>;
923470d69bSKrzysztof Kozlowski            vin-supply = <&ldo3_reg>;
933470d69bSKrzysztof Kozlowski            vdd-io-supply = <&ldo2_reg>;
943470d69bSKrzysztof Kozlowski            autosuspend-delay = <30000>;
953470d69bSKrzysztof Kozlowski            irq-status-read-quirk;
963470d69bSKrzysztof Kozlowski            en2-rf-quirk;
973470d69bSKrzysztof Kozlowski            clock-frequency = <27120000>;
983470d69bSKrzysztof Kozlowski        };
993470d69bSKrzysztof Kozlowski    };
100