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