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/st,st-nci.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: STMicroelectronics ST NCI NFC controller
8
9maintainers:
10  - Krzysztof Kozlowski <krzk@kernel.org>
11
12properties:
13  compatible:
14    enum:
15      - st,st21nfcb-i2c
16      - st,st21nfcb-spi
17      - st,st21nfcc-i2c
18
19  reset-gpios:
20    description: Output GPIO pin used for resetting the controller
21
22  ese-present:
23    type: boolean
24    description: |
25      Specifies that an ese is physically connected to the controller
26
27  interrupts:
28    maxItems: 1
29
30  reg:
31    maxItems: 1
32
33  uicc-present:
34    type: boolean
35    description: |
36      Specifies that the uicc swp signal can be physically connected to the
37      controller
38
39required:
40  - compatible
41  - interrupts
42  - reg
43  - reset-gpios
44
45if:
46  properties:
47    compatible:
48      contains:
49        enum:
50          - st,st21nfcb-i2c
51          - st,st21nfcc-i2c
52then:
53  properties:
54    spi-max-frequency: false
55else:
56  $ref: /schemas/spi/spi-peripheral-props.yaml#
57  required:
58    - spi-max-frequency
59
60unevaluatedProperties: false
61
62examples:
63  - |
64    #include <dt-bindings/gpio/gpio.h>
65    #include <dt-bindings/interrupt-controller/irq.h>
66
67    i2c {
68        #address-cells = <1>;
69        #size-cells = <0>;
70
71        nfc@8 {
72            compatible = "st,st21nfcb-i2c";
73            reg = <0x08>;
74
75            interrupt-parent = <&gpio5>;
76            interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
77            reset-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
78
79            ese-present;
80            uicc-present;
81        };
82    };
83
84  - |
85    #include <dt-bindings/gpio/gpio.h>
86    #include <dt-bindings/interrupt-controller/irq.h>
87
88    spi {
89        #address-cells = <1>;
90        #size-cells = <0>;
91
92        nfc@0 {
93            compatible = "st,st21nfcb-spi";
94            reg = <0>;
95
96            spi-max-frequency = <4000000>;
97
98            interrupt-parent = <&gpio5>;
99            interrupts = <2 IRQ_TYPE_EDGE_RISING>;
100            reset-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
101
102            ese-present;
103            uicc-present;
104        };
105    };
106