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/samsung,s3fwrn5.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung S3FWRN5 NCI NFC Controller
8
9maintainers:
10  - Krzysztof Kozlowski <krzk@kernel.org>
11
12properties:
13  compatible:
14    enum:
15      - samsung,s3fwrn5-i2c
16      - samsung,s3fwrn82
17
18  en-gpios:
19    maxItems: 1
20    description:
21      Output GPIO pin used for enabling/disabling the chip
22
23  interrupts:
24    maxItems: 1
25
26  reg:
27    maxItems: 1
28
29  clocks:
30    maxItems: 1
31
32  wake-gpios:
33    maxItems: 1
34    description:
35      Output GPIO pin used to enter firmware mode and sleep/wakeup control
36
37  s3fwrn5,en-gpios:
38    maxItems: 1
39    deprecated: true
40    description:
41      Use en-gpios
42
43  s3fwrn5,fw-gpios:
44    maxItems: 1
45    deprecated: true
46    description:
47      Use wake-gpios
48
49additionalProperties: false
50
51required:
52  - compatible
53  - en-gpios
54  - wake-gpios
55
56allOf:
57  - if:
58      properties:
59        compatible:
60          contains:
61            const: samsung,s3fwrn5-i2c
62    then:
63      required:
64        - interrupts
65        - reg
66
67examples:
68  - |
69    #include <dt-bindings/gpio/gpio.h>
70    #include <dt-bindings/interrupt-controller/irq.h>
71
72    i2c {
73        #address-cells = <1>;
74        #size-cells = <0>;
75
76        s3fwrn5@27 {
77            compatible = "samsung,s3fwrn5-i2c";
78            reg = <0x27>;
79
80            interrupt-parent = <&gpa1>;
81            interrupts = <3 IRQ_TYPE_EDGE_RISING>;
82
83            en-gpios = <&gpf1 4 GPIO_ACTIVE_HIGH>;
84            wake-gpios = <&gpj0 2 GPIO_ACTIVE_HIGH>;
85
86            clocks = <&rpmcc 20>;
87        };
88    };
89  # UART example on Raspberry Pi
90  - |
91    uart0 {
92        nfc {
93            compatible = "samsung,s3fwrn82";
94
95            en-gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
96            wake-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
97
98        };
99    };
100