1*3470d69bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*3470d69bSKrzysztof Kozlowski%YAML 1.2
3*3470d69bSKrzysztof Kozlowski---
4*3470d69bSKrzysztof Kozlowski$id: http://devicetree.org/schemas/net/nfc/ti,trf7970a.yaml#
5*3470d69bSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*3470d69bSKrzysztof Kozlowski
7*3470d69bSKrzysztof Kozlowskititle: Texas Instruments TRF7970A RFID/NFC/15693 Transceiver
8*3470d69bSKrzysztof Kozlowski
9*3470d69bSKrzysztof Kozlowskimaintainers:
10*3470d69bSKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
11*3470d69bSKrzysztof Kozlowski  - Mark Greer <mgreer@animalcreek.com>
12*3470d69bSKrzysztof Kozlowski
13*3470d69bSKrzysztof Kozlowskiproperties:
14*3470d69bSKrzysztof Kozlowski  compatible:
15*3470d69bSKrzysztof Kozlowski    const: ti,trf7970a
16*3470d69bSKrzysztof Kozlowski
17*3470d69bSKrzysztof Kozlowski  autosuspend-delay:
18*3470d69bSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
19*3470d69bSKrzysztof Kozlowski    description: |
20*3470d69bSKrzysztof Kozlowski      Specify autosuspend delay in milliseconds.
21*3470d69bSKrzysztof Kozlowski
22*3470d69bSKrzysztof Kozlowski  clock-frequency:
23*3470d69bSKrzysztof Kozlowski    description: |
24*3470d69bSKrzysztof Kozlowski      Set to specify that the input frequency to the trf7970a is 13560000Hz or
25*3470d69bSKrzysztof Kozlowski      27120000Hz
26*3470d69bSKrzysztof Kozlowski
27*3470d69bSKrzysztof Kozlowski  en2-rf-quirk:
28*3470d69bSKrzysztof Kozlowski    type: boolean
29*3470d69bSKrzysztof Kozlowski    description: |
30*3470d69bSKrzysztof Kozlowski      Specify that the trf7970a being used has the "EN2 RF" erratum
31*3470d69bSKrzysztof Kozlowski
32*3470d69bSKrzysztof Kozlowski  interrupts:
33*3470d69bSKrzysztof Kozlowski    maxItems: 1
34*3470d69bSKrzysztof Kozlowski
35*3470d69bSKrzysztof Kozlowski  irq-status-read-quirk:
36*3470d69bSKrzysztof Kozlowski    type: boolean
37*3470d69bSKrzysztof Kozlowski    description: |
38*3470d69bSKrzysztof Kozlowski      Specify that the trf7970a being used has the "IRQ Status Read" erratum
39*3470d69bSKrzysztof Kozlowski
40*3470d69bSKrzysztof Kozlowski  reg:
41*3470d69bSKrzysztof Kozlowski    maxItems: 1
42*3470d69bSKrzysztof Kozlowski
43*3470d69bSKrzysztof Kozlowski  spi-max-frequency: true
44*3470d69bSKrzysztof Kozlowski
45*3470d69bSKrzysztof Kozlowski  ti,enable-gpios:
46*3470d69bSKrzysztof Kozlowski    minItems: 1
47*3470d69bSKrzysztof Kozlowski    maxItems: 2
48*3470d69bSKrzysztof Kozlowski    description: |
49*3470d69bSKrzysztof Kozlowski      One or two GPIO entries used for 'EN' and 'EN2' pins on the TRF7970A. EN2
50*3470d69bSKrzysztof Kozlowski      is optional.
51*3470d69bSKrzysztof Kozlowski
52*3470d69bSKrzysztof Kozlowski  vdd-io-supply:
53*3470d69bSKrzysztof Kozlowski    description: |
54*3470d69bSKrzysztof Kozlowski      Regulator specifying voltage for VDD-IO
55*3470d69bSKrzysztof Kozlowski
56*3470d69bSKrzysztof Kozlowski  vin-supply:
57*3470d69bSKrzysztof Kozlowski    description: |
58*3470d69bSKrzysztof Kozlowski      Regulator for supply voltage to VIN pin
59*3470d69bSKrzysztof Kozlowski
60*3470d69bSKrzysztof Kozlowskirequired:
61*3470d69bSKrzysztof Kozlowski  - compatible
62*3470d69bSKrzysztof Kozlowski  - interrupts
63*3470d69bSKrzysztof Kozlowski  - reg
64*3470d69bSKrzysztof Kozlowski  - spi-max-frequency
65*3470d69bSKrzysztof Kozlowski  - ti,enable-gpios
66*3470d69bSKrzysztof Kozlowski  - vin-supply
67*3470d69bSKrzysztof Kozlowski
68*3470d69bSKrzysztof KozlowskiadditionalProperties: false
69*3470d69bSKrzysztof Kozlowski
70*3470d69bSKrzysztof Kozlowskiexamples:
71*3470d69bSKrzysztof Kozlowski  - |
72*3470d69bSKrzysztof Kozlowski    #include <dt-bindings/gpio/gpio.h>
73*3470d69bSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
74*3470d69bSKrzysztof Kozlowski
75*3470d69bSKrzysztof Kozlowski    i2c {
76*3470d69bSKrzysztof Kozlowski        #address-cells = <1>;
77*3470d69bSKrzysztof Kozlowski        #size-cells = <0>;
78*3470d69bSKrzysztof Kozlowski
79*3470d69bSKrzysztof Kozlowski        nfc@0 {
80*3470d69bSKrzysztof Kozlowski            compatible = "ti,trf7970a";
81*3470d69bSKrzysztof Kozlowski            reg = <0>;
82*3470d69bSKrzysztof Kozlowski
83*3470d69bSKrzysztof Kozlowski            pinctrl-names = "default";
84*3470d69bSKrzysztof Kozlowski            pinctrl-0 = <&trf7970a_default>;
85*3470d69bSKrzysztof Kozlowski            spi-max-frequency = <2000000>;
86*3470d69bSKrzysztof Kozlowski            interrupt-parent = <&gpio2>;
87*3470d69bSKrzysztof Kozlowski            interrupts = <14 0>;
88*3470d69bSKrzysztof Kozlowski
89*3470d69bSKrzysztof Kozlowski            ti,enable-gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>,
90*3470d69bSKrzysztof Kozlowski                              <&gpio2 5 GPIO_ACTIVE_HIGH>;
91*3470d69bSKrzysztof Kozlowski            vin-supply = <&ldo3_reg>;
92*3470d69bSKrzysztof Kozlowski            vdd-io-supply = <&ldo2_reg>;
93*3470d69bSKrzysztof Kozlowski            autosuspend-delay = <30000>;
94*3470d69bSKrzysztof Kozlowski            irq-status-read-quirk;
95*3470d69bSKrzysztof Kozlowski            en2-rf-quirk;
96*3470d69bSKrzysztof Kozlowski            clock-frequency = <27120000>;
97*3470d69bSKrzysztof Kozlowski        };
98*3470d69bSKrzysztof Kozlowski    };
99