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:
10*8a1e6bb3SKrzysztof 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  spi-max-frequency: true
443470d69bSKrzysztof Kozlowski
453470d69bSKrzysztof Kozlowski  ti,enable-gpios:
463470d69bSKrzysztof Kozlowski    minItems: 1
473470d69bSKrzysztof Kozlowski    maxItems: 2
483470d69bSKrzysztof Kozlowski    description: |
493470d69bSKrzysztof Kozlowski      One or two GPIO entries used for 'EN' and 'EN2' pins on the TRF7970A. EN2
503470d69bSKrzysztof Kozlowski      is optional.
513470d69bSKrzysztof Kozlowski
523470d69bSKrzysztof Kozlowski  vdd-io-supply:
533470d69bSKrzysztof Kozlowski    description: |
543470d69bSKrzysztof Kozlowski      Regulator specifying voltage for VDD-IO
553470d69bSKrzysztof Kozlowski
563470d69bSKrzysztof Kozlowski  vin-supply:
573470d69bSKrzysztof Kozlowski    description: |
583470d69bSKrzysztof Kozlowski      Regulator for supply voltage to VIN pin
593470d69bSKrzysztof Kozlowski
603470d69bSKrzysztof Kozlowskirequired:
613470d69bSKrzysztof Kozlowski  - compatible
623470d69bSKrzysztof Kozlowski  - interrupts
633470d69bSKrzysztof Kozlowski  - reg
643470d69bSKrzysztof Kozlowski  - spi-max-frequency
653470d69bSKrzysztof Kozlowski  - ti,enable-gpios
663470d69bSKrzysztof Kozlowski  - vin-supply
673470d69bSKrzysztof Kozlowski
683470d69bSKrzysztof KozlowskiadditionalProperties: false
693470d69bSKrzysztof Kozlowski
703470d69bSKrzysztof Kozlowskiexamples:
713470d69bSKrzysztof Kozlowski  - |
723470d69bSKrzysztof Kozlowski    #include <dt-bindings/gpio/gpio.h>
733470d69bSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
743470d69bSKrzysztof Kozlowski
753470d69bSKrzysztof Kozlowski    i2c {
763470d69bSKrzysztof Kozlowski        #address-cells = <1>;
773470d69bSKrzysztof Kozlowski        #size-cells = <0>;
783470d69bSKrzysztof Kozlowski
793470d69bSKrzysztof Kozlowski        nfc@0 {
803470d69bSKrzysztof Kozlowski            compatible = "ti,trf7970a";
813470d69bSKrzysztof Kozlowski            reg = <0>;
823470d69bSKrzysztof Kozlowski
833470d69bSKrzysztof Kozlowski            pinctrl-names = "default";
843470d69bSKrzysztof Kozlowski            pinctrl-0 = <&trf7970a_default>;
853470d69bSKrzysztof Kozlowski            spi-max-frequency = <2000000>;
863470d69bSKrzysztof Kozlowski            interrupt-parent = <&gpio2>;
873470d69bSKrzysztof Kozlowski            interrupts = <14 0>;
883470d69bSKrzysztof Kozlowski
893470d69bSKrzysztof Kozlowski            ti,enable-gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>,
903470d69bSKrzysztof Kozlowski                              <&gpio2 5 GPIO_ACTIVE_HIGH>;
913470d69bSKrzysztof Kozlowski            vin-supply = <&ldo3_reg>;
923470d69bSKrzysztof Kozlowski            vdd-io-supply = <&ldo2_reg>;
933470d69bSKrzysztof Kozlowski            autosuspend-delay = <30000>;
943470d69bSKrzysztof Kozlowski            irq-status-read-quirk;
953470d69bSKrzysztof Kozlowski            en2-rf-quirk;
963470d69bSKrzysztof Kozlowski            clock-frequency = <27120000>;
973470d69bSKrzysztof Kozlowski        };
983470d69bSKrzysztof Kozlowski    };
99