| Qualcomm QCA199x NFC NCI device |
| |
| Near Field Communication (NFC) device is based on NFC Controller Interface (NCI) |
| |
| Required properties: |
| |
| - compatible: "qcom,nfc-nci" |
| - reg: NCI i2c slave address. |
| - qcom,dis-gpio: specific gpio for hardware reset. |
| - qcom,irq-gpio: specific gpio for read interrupt. |
| - qcom,clk-src: nfc clock source ("BBCLK2", "RFCLK3", "GPCLK", "GPCLK2", ...) |
| - interrupt-parent: Should be phandle for the interrupt controller |
| that services interrupts for this device. |
| - interrupts: Nfc read interrupt,gpio-clk-req interrupt |
| |
| |
| Recommended properties: |
| |
| - interrupt-names: names of interupts, should include "nfc_irq", used for reference |
| |
| |
| Optional properties: |
| |
| - qcom,pwr-req-gpio: pmic gpio to vote for power to be supplied to the uicc |
| - qcom,clk-src-gpio: msm gpio clock,used ony if clock source is msm gpio |
| - qcom,clk-req-gpio: clk-req input gpio for MSM based clocks. |
| not used for pmic implementation |
| - qcom,clk-gpio: pmic or msm gpio on which bbclk2 signal is coming. |
| - pinctrl-names, pinctrl-0, pincntrl-1: references to our pincntrl settings |
| - clocks, clock-names: must contain the QCA1990's core clock. |
| |
| note: |
| nfc with msm type clock sources (GPCLK and GPCLK 2) require qcom,clk-src-gpio and qcom,clk-req-gpio entries to work propperly. |
| nfc with pmic type clock sources (BBCLK2 RFCLK3) require the qcom,clk-gpio entry to function properly. |
| The nfcc needs a core clock supplied in order to respond to nci messages. |
| The driver currently votes for ref_clk if clock source is set to BBCLK2. Please ensure the clock indicated by clk-src is defined. |
| |
| |
| Example: |
| |
| nfc-nci@e { |
| compatible = "qcom,nfc-nci"; |
| reg = <0x0e>; |
| qcom,irq-gpio = <&msm_gpio 21 0x00>; |
| qcom,dis-gpio = <&msm_gpio 20 0x00>; |
| qcom,clk-src = "BBCLK2"; |
| interrupt-parent = <&msm_gpio>; |
| interrupts = <21 0>; |
| interrupt-names = "nfc_irq"; |
| pinctrl-names = "nfc_active","nfc_suspend"; |
| pinctrl-0 = <&nfc_int_active &nfc_disable_active>; |
| pinctrl-1 = <&nfc_int_suspend &nfc_disable_suspend>; |
| qcom,clk-gpio = <&pm8916_gpios 2 0>; |
| clocks = <&clock_rpm clk_bb_clk2_pin>; |
| clock-names = "ref_clk"; |
| }; |