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