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 <krzysztof.kozlowski@canonical.com>
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  spi-max-frequency: true
44
45  ti,enable-gpios:
46    minItems: 1
47    maxItems: 2
48    description: |
49      One or two GPIO entries used for 'EN' and 'EN2' pins on the TRF7970A. EN2
50      is optional.
51
52  vdd-io-supply:
53    description: |
54      Regulator specifying voltage for VDD-IO
55
56  vin-supply:
57    description: |
58      Regulator for supply voltage to VIN pin
59
60required:
61  - compatible
62  - interrupts
63  - reg
64  - spi-max-frequency
65  - ti,enable-gpios
66  - vin-supply
67
68additionalProperties: false
69
70examples:
71  - |
72    #include <dt-bindings/gpio/gpio.h>
73    #include <dt-bindings/interrupt-controller/irq.h>
74
75    i2c {
76        #address-cells = <1>;
77        #size-cells = <0>;
78
79        nfc@0 {
80            compatible = "ti,trf7970a";
81            reg = <0>;
82
83            pinctrl-names = "default";
84            pinctrl-0 = <&trf7970a_default>;
85            spi-max-frequency = <2000000>;
86            interrupt-parent = <&gpio2>;
87            interrupts = <14 0>;
88
89            ti,enable-gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>,
90                              <&gpio2 5 GPIO_ACTIVE_HIGH>;
91            vin-supply = <&ldo3_reg>;
92            vdd-io-supply = <&ldo2_reg>;
93            autosuspend-delay = <30000>;
94            irq-status-read-quirk;
95            en2-rf-quirk;
96            clock-frequency = <27120000>;
97        };
98    };
99