xref: /openbmc/linux/Documentation/devicetree/bindings/net/nfc/marvell,nci.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1a997377aSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2a997377aSKrzysztof Kozlowski%YAML 1.2
3a997377aSKrzysztof Kozlowski---
4a997377aSKrzysztof Kozlowski$id: http://devicetree.org/schemas/net/nfc/marvell,nci.yaml#
5a997377aSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6a997377aSKrzysztof Kozlowski
7a997377aSKrzysztof Kozlowskititle: Marvell International Ltd. NCI NFC controller
8a997377aSKrzysztof Kozlowski
9a997377aSKrzysztof Kozlowskimaintainers:
108a1e6bb3SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
11a997377aSKrzysztof Kozlowski
12a997377aSKrzysztof Kozlowskiproperties:
13a997377aSKrzysztof Kozlowski  compatible:
14a997377aSKrzysztof Kozlowski    enum:
15a997377aSKrzysztof Kozlowski      - marvell,nfc-i2c
16a997377aSKrzysztof Kozlowski      - marvell,nfc-spi
17a997377aSKrzysztof Kozlowski      - marvell,nfc-uart
18a997377aSKrzysztof Kozlowski
19a997377aSKrzysztof Kozlowski  hci-muxed:
20a997377aSKrzysztof Kozlowski    type: boolean
21a997377aSKrzysztof Kozlowski    description: |
22a997377aSKrzysztof Kozlowski      Specifies that the chip is muxing NCI over HCI frames
23a997377aSKrzysztof Kozlowski
24a997377aSKrzysztof Kozlowski  interrupts:
25a997377aSKrzysztof Kozlowski    maxItems: 1
26a997377aSKrzysztof Kozlowski
27a997377aSKrzysztof Kozlowski  reg:
28a997377aSKrzysztof Kozlowski    maxItems: 1
29a997377aSKrzysztof Kozlowski
30a997377aSKrzysztof Kozlowski  reset-n-io:
313079bfdbSRob Herring    $ref: /schemas/types.yaml#/definitions/phandle-array
32a997377aSKrzysztof Kozlowski    maxItems: 1
33a997377aSKrzysztof Kozlowski    description: |
34a997377aSKrzysztof Kozlowski      Output GPIO pin used to reset the chip (active low)
35a997377aSKrzysztof Kozlowski
36a997377aSKrzysztof Kozlowski  i2c-int-falling:
37a997377aSKrzysztof Kozlowski    type: boolean
38a997377aSKrzysztof Kozlowski    description: |
39a997377aSKrzysztof Kozlowski      For I2C type of connection. Specifies that the chip read event shall be
40*47aab533SBjorn Helgaas      triggered on falling edge.
41a997377aSKrzysztof Kozlowski
42a997377aSKrzysztof Kozlowski  i2c-int-rising:
43a997377aSKrzysztof Kozlowski    type: boolean
44a997377aSKrzysztof Kozlowski    description: |
45a997377aSKrzysztof Kozlowski      For I2C type of connection.  Specifies that the chip read event shall be
46*47aab533SBjorn Helgaas      triggered on rising edge.
47a997377aSKrzysztof Kozlowski
48a997377aSKrzysztof Kozlowski  break-control:
49a997377aSKrzysztof Kozlowski    type: boolean
50a997377aSKrzysztof Kozlowski    description: |
51a997377aSKrzysztof Kozlowski      For UART type of connection. Specifies that the chip needs specific break
52a997377aSKrzysztof Kozlowski      management.
53a997377aSKrzysztof Kozlowski
54a997377aSKrzysztof Kozlowski  flow-control:
55a997377aSKrzysztof Kozlowski    type: boolean
56a997377aSKrzysztof Kozlowski    description: |
57a997377aSKrzysztof Kozlowski      For UART type of connection. Specifies that the chip is using RTS/CTS.
58a997377aSKrzysztof Kozlowski
59a997377aSKrzysztof Kozlowski  spi-cpha: true
60a997377aSKrzysztof Kozlowski  spi-cpol: true
61a997377aSKrzysztof Kozlowski
62a997377aSKrzysztof Kozlowskirequired:
63a997377aSKrzysztof Kozlowski  - compatible
64a997377aSKrzysztof Kozlowski
65a997377aSKrzysztof KozlowskiallOf:
66a997377aSKrzysztof Kozlowski  - if:
67a997377aSKrzysztof Kozlowski      properties:
68a997377aSKrzysztof Kozlowski        compatible:
69a997377aSKrzysztof Kozlowski          contains:
70a997377aSKrzysztof Kozlowski            const: marvell,nfc-i2c
71a997377aSKrzysztof Kozlowski    then:
72a997377aSKrzysztof Kozlowski      properties:
73a997377aSKrzysztof Kozlowski        break-control: false
74a997377aSKrzysztof Kozlowski        flow-control: false
75a997377aSKrzysztof Kozlowski        spi-cpha: false
76a997377aSKrzysztof Kozlowski        spi-cpol: false
77a997377aSKrzysztof Kozlowski        spi-max-frequency: false
78a997377aSKrzysztof Kozlowski      required:
79a997377aSKrzysztof Kozlowski        - reg
80a997377aSKrzysztof Kozlowski
81a997377aSKrzysztof Kozlowski  - if:
82a997377aSKrzysztof Kozlowski      properties:
83a997377aSKrzysztof Kozlowski        compatible:
84a997377aSKrzysztof Kozlowski          contains:
85a997377aSKrzysztof Kozlowski            const: marvell,nfc-spi
86a997377aSKrzysztof Kozlowski    then:
87ba323f6bSKrzysztof Kozlowski      $ref: /schemas/spi/spi-peripheral-props.yaml#
88a997377aSKrzysztof Kozlowski      properties:
89a997377aSKrzysztof Kozlowski        break-control: false
90a997377aSKrzysztof Kozlowski        flow-control: false
91a997377aSKrzysztof Kozlowski        i2c-int-falling: false
92a997377aSKrzysztof Kozlowski        i2c-int-rising: false
93a997377aSKrzysztof Kozlowski      required:
94a997377aSKrzysztof Kozlowski        - reg
95a997377aSKrzysztof Kozlowski
96a997377aSKrzysztof Kozlowski  - if:
97a997377aSKrzysztof Kozlowski      properties:
98a997377aSKrzysztof Kozlowski        compatible:
99a997377aSKrzysztof Kozlowski          contains:
100a997377aSKrzysztof Kozlowski            const: marvell,nfc-uart
101a997377aSKrzysztof Kozlowski    then:
102a997377aSKrzysztof Kozlowski      properties:
103a997377aSKrzysztof Kozlowski        i2c-int-falling: false
104a997377aSKrzysztof Kozlowski        i2c-int-rising: false
105a997377aSKrzysztof Kozlowski        interrupts: false
106a997377aSKrzysztof Kozlowski        spi-cpha: false
107a997377aSKrzysztof Kozlowski        spi-cpol: false
108a997377aSKrzysztof Kozlowski        spi-max-frequency: false
109a997377aSKrzysztof Kozlowski        reg: false
110a997377aSKrzysztof Kozlowski
111ba323f6bSKrzysztof KozlowskiunevaluatedProperties: false
112a997377aSKrzysztof Kozlowski
113a997377aSKrzysztof Kozlowskiexamples:
114a997377aSKrzysztof Kozlowski  - |
115a997377aSKrzysztof Kozlowski    #include <dt-bindings/gpio/gpio.h>
116a997377aSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
117a997377aSKrzysztof Kozlowski
118a997377aSKrzysztof Kozlowski    i2c {
119a997377aSKrzysztof Kozlowski        #address-cells = <1>;
120a997377aSKrzysztof Kozlowski        #size-cells = <0>;
121a997377aSKrzysztof Kozlowski
122a997377aSKrzysztof Kozlowski        nfc@8 {
123a997377aSKrzysztof Kozlowski            compatible = "marvell,nfc-i2c";
124a997377aSKrzysztof Kozlowski            reg = <0x8>;
125a997377aSKrzysztof Kozlowski
126a997377aSKrzysztof Kozlowski            interrupt-parent = <&gpio3>;
127a997377aSKrzysztof Kozlowski            interrupts = <21 IRQ_TYPE_EDGE_RISING>;
128a997377aSKrzysztof Kozlowski
129a997377aSKrzysztof Kozlowski            i2c-int-rising;
130a997377aSKrzysztof Kozlowski
13170d5ab53SDmitry Torokhov            reset-n-io = <&gpio3 19 GPIO_ACTIVE_LOW>;
132a997377aSKrzysztof Kozlowski        };
133a997377aSKrzysztof Kozlowski    };
134a997377aSKrzysztof Kozlowski
135a997377aSKrzysztof Kozlowski  - |
136a997377aSKrzysztof Kozlowski    #include <dt-bindings/gpio/gpio.h>
137a997377aSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
138a997377aSKrzysztof Kozlowski
139a997377aSKrzysztof Kozlowski    spi {
140a997377aSKrzysztof Kozlowski        #address-cells = <1>;
141a997377aSKrzysztof Kozlowski        #size-cells = <0>;
142a997377aSKrzysztof Kozlowski
143a997377aSKrzysztof Kozlowski        nfc@0 {
144a997377aSKrzysztof Kozlowski            compatible = "marvell,nfc-spi";
145a997377aSKrzysztof Kozlowski            reg = <0>;
146a997377aSKrzysztof Kozlowski
147a997377aSKrzysztof Kozlowski            spi-max-frequency = <3000000>;
148a997377aSKrzysztof Kozlowski            spi-cpha;
149a997377aSKrzysztof Kozlowski            spi-cpol;
150a997377aSKrzysztof Kozlowski
151a997377aSKrzysztof Kozlowski            interrupt-parent = <&gpio1>;
152a997377aSKrzysztof Kozlowski            interrupts = <17 IRQ_TYPE_EDGE_RISING>;
153a997377aSKrzysztof Kozlowski
15470d5ab53SDmitry Torokhov            reset-n-io = <&gpio3 19 GPIO_ACTIVE_LOW>;
155a997377aSKrzysztof Kozlowski        };
156a997377aSKrzysztof Kozlowski    };
157a997377aSKrzysztof Kozlowski
158a997377aSKrzysztof Kozlowski  - |
159a997377aSKrzysztof Kozlowski    #include <dt-bindings/gpio/gpio.h>
160a997377aSKrzysztof Kozlowski
161a997377aSKrzysztof Kozlowski    uart {
162a997377aSKrzysztof Kozlowski        nfc {
163a997377aSKrzysztof Kozlowski            compatible = "marvell,nfc-uart";
164a997377aSKrzysztof Kozlowski
16570d5ab53SDmitry Torokhov            reset-n-io = <&gpio3 16 GPIO_ACTIVE_LOW>;
166a997377aSKrzysztof Kozlowski
167a997377aSKrzysztof Kozlowski            hci-muxed;
168a997377aSKrzysztof Kozlowski            flow-control;
169a997377aSKrzysztof Kozlowski        };
170a997377aSKrzysztof Kozlowski    };
171