xref: /linux/Documentation/devicetree/bindings/net/nfc/ti,trf7970a.yaml (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
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
58  ti,rx-gain-reduction-db:
59    description: |
60      Specify an RX gain reduction to reduce antenna sensitivity with 5dB per
61      increment, with a maximum of 15dB.
62    enum: [ 0, 5, 10, 15]
63
64required:
65  - compatible
66  - interrupts
67  - reg
68  - spi-max-frequency
69  - ti,enable-gpios
70  - vin-supply
71
72allOf:
73  - $ref: /schemas/spi/spi-peripheral-props.yaml#
74
75unevaluatedProperties: false
76
77examples:
78  - |
79    #include <dt-bindings/gpio/gpio.h>
80    #include <dt-bindings/interrupt-controller/irq.h>
81
82    spi {
83        #address-cells = <1>;
84        #size-cells = <0>;
85
86        nfc@0 {
87            compatible = "ti,trf7970a";
88            reg = <0>;
89
90            pinctrl-names = "default";
91            pinctrl-0 = <&trf7970a_default>;
92            spi-max-frequency = <2000000>;
93            interrupt-parent = <&gpio2>;
94            interrupts = <14 0>;
95
96            ti,enable-gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>,
97                              <&gpio2 5 GPIO_ACTIVE_HIGH>;
98            vin-supply = <&ldo3_reg>;
99            vdd-io-supply = <&ldo2_reg>;
100            autosuspend-delay = <30000>;
101            irq-status-read-quirk;
102            en2-rf-quirk;
103            clock-frequency = <27120000>;
104            ti,rx-gain-reduction-db = <15>;
105        };
106    };
107