107d20a64SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
207d20a64SKrzysztof Kozlowski%YAML 1.2
307d20a64SKrzysztof Kozlowski---
407d20a64SKrzysztof Kozlowski$id: http://devicetree.org/schemas/net/nfc/samsung,s3fwrn5.yaml#
507d20a64SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
607d20a64SKrzysztof Kozlowski
707d20a64SKrzysztof Kozlowskititle: Samsung S3FWRN5 NCI NFC Controller
807d20a64SKrzysztof Kozlowski
907d20a64SKrzysztof Kozlowskimaintainers:
1007d20a64SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
1107d20a64SKrzysztof Kozlowski  - Krzysztof Opasiak <k.opasiak@samsung.com>
1207d20a64SKrzysztof Kozlowski
1307d20a64SKrzysztof Kozlowskiproperties:
1407d20a64SKrzysztof Kozlowski  compatible:
1536d07620SBongsu Jeon    enum:
1636d07620SBongsu Jeon      - samsung,s3fwrn5-i2c
1736d07620SBongsu Jeon      - samsung,s3fwrn82
1807d20a64SKrzysztof Kozlowski
193a9f89aaSKrzysztof Kozlowski  en-gpios:
203a9f89aaSKrzysztof Kozlowski    maxItems: 1
213a9f89aaSKrzysztof Kozlowski    description:
223a9f89aaSKrzysztof Kozlowski      Output GPIO pin used for enabling/disabling the chip
233a9f89aaSKrzysztof Kozlowski
2407d20a64SKrzysztof Kozlowski  interrupts:
2507d20a64SKrzysztof Kozlowski    maxItems: 1
2607d20a64SKrzysztof Kozlowski
2707d20a64SKrzysztof Kozlowski  reg:
2807d20a64SKrzysztof Kozlowski    maxItems: 1
2907d20a64SKrzysztof Kozlowski
30*9cc52f5aSStephan Gerhold  clocks:
31*9cc52f5aSStephan Gerhold    maxItems: 1
32*9cc52f5aSStephan Gerhold
333a9f89aaSKrzysztof Kozlowski  wake-gpios:
3407d20a64SKrzysztof Kozlowski    maxItems: 1
3507d20a64SKrzysztof Kozlowski    description:
3607d20a64SKrzysztof Kozlowski      Output GPIO pin used to enter firmware mode and sleep/wakeup control
3707d20a64SKrzysztof Kozlowski
383a9f89aaSKrzysztof Kozlowski  s3fwrn5,en-gpios:
393a9f89aaSKrzysztof Kozlowski    maxItems: 1
403a9f89aaSKrzysztof Kozlowski    deprecated: true
413a9f89aaSKrzysztof Kozlowski    description:
423a9f89aaSKrzysztof Kozlowski      Use en-gpios
433a9f89aaSKrzysztof Kozlowski
443a9f89aaSKrzysztof Kozlowski  s3fwrn5,fw-gpios:
453a9f89aaSKrzysztof Kozlowski    maxItems: 1
463a9f89aaSKrzysztof Kozlowski    deprecated: true
473a9f89aaSKrzysztof Kozlowski    description:
483a9f89aaSKrzysztof Kozlowski      Use wake-gpios
493a9f89aaSKrzysztof Kozlowski
5007d20a64SKrzysztof KozlowskiadditionalProperties: false
5107d20a64SKrzysztof Kozlowski
5207d20a64SKrzysztof Kozlowskirequired:
5307d20a64SKrzysztof Kozlowski  - compatible
543a9f89aaSKrzysztof Kozlowski  - en-gpios
5536d07620SBongsu Jeon  - wake-gpios
5636d07620SBongsu Jeon
5736d07620SBongsu JeonallOf:
5836d07620SBongsu Jeon  - if:
5936d07620SBongsu Jeon      properties:
6036d07620SBongsu Jeon        compatible:
6136d07620SBongsu Jeon          contains:
6236d07620SBongsu Jeon            const: samsung,s3fwrn5-i2c
6336d07620SBongsu Jeon    then:
6436d07620SBongsu Jeon      required:
6507d20a64SKrzysztof Kozlowski        - interrupts
6607d20a64SKrzysztof Kozlowski        - reg
6707d20a64SKrzysztof Kozlowski
6807d20a64SKrzysztof Kozlowskiexamples:
6907d20a64SKrzysztof Kozlowski  - |
7007d20a64SKrzysztof Kozlowski    #include <dt-bindings/gpio/gpio.h>
7107d20a64SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
7207d20a64SKrzysztof Kozlowski
7307d20a64SKrzysztof Kozlowski    i2c4 {
7407d20a64SKrzysztof Kozlowski        #address-cells = <1>;
7507d20a64SKrzysztof Kozlowski        #size-cells = <0>;
7607d20a64SKrzysztof Kozlowski
7707d20a64SKrzysztof Kozlowski        s3fwrn5@27 {
7807d20a64SKrzysztof Kozlowski            compatible = "samsung,s3fwrn5-i2c";
7907d20a64SKrzysztof Kozlowski            reg = <0x27>;
8007d20a64SKrzysztof Kozlowski
8107d20a64SKrzysztof Kozlowski            interrupt-parent = <&gpa1>;
82b783ff46SBongsu Jeon            interrupts = <3 IRQ_TYPE_EDGE_RISING>;
8307d20a64SKrzysztof Kozlowski
843a9f89aaSKrzysztof Kozlowski            en-gpios = <&gpf1 4 GPIO_ACTIVE_HIGH>;
853a9f89aaSKrzysztof Kozlowski            wake-gpios = <&gpj0 2 GPIO_ACTIVE_HIGH>;
86*9cc52f5aSStephan Gerhold
87*9cc52f5aSStephan Gerhold            clocks = <&rpmcc 20>;
8807d20a64SKrzysztof Kozlowski        };
8907d20a64SKrzysztof Kozlowski    };
9036d07620SBongsu Jeon  # UART example on Raspberry Pi
9136d07620SBongsu Jeon  - |
9236d07620SBongsu Jeon    uart0 {
9336d07620SBongsu Jeon        status = "okay";
9436d07620SBongsu Jeon
9536d07620SBongsu Jeon        nfc {
9636d07620SBongsu Jeon            compatible = "samsung,s3fwrn82";
9736d07620SBongsu Jeon
9836d07620SBongsu Jeon            en-gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
9936d07620SBongsu Jeon            wake-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
10036d07620SBongsu Jeon
10136d07620SBongsu Jeon            status = "okay";
10236d07620SBongsu Jeon        };
10336d07620SBongsu Jeon    };
104