diff --git a/qcom/cape-atp.dtsi b/qcom/cape-atp.dtsi index 1f3a4d45..06c68d82 100644 --- a/qcom/cape-atp.dtsi +++ b/qcom/cape-atp.dtsi @@ -74,3 +74,27 @@ pinctrl-2 = <&ts_release>; }; }; + +&qupv3_se9_i2c { + status = "ok"; + qcom,clk-freq-out = <1000000>; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,sn-nci"; + reg = <0x28>; + qcom,sn-irq = <&tlmm 46 0x00>; + qcom,sn-ven = <&tlmm 34 0x00>; + qcom,sn-firm = <&tlmm 45 0x00>; + qcom,sn-clkreq = <&tlmm 35 0x00>; + qcom,sn-vdd-1p8-supply = <&S10B>; + qcom,sn-vdd-1p8-voltage = <1800000 1800000>; + qcom,sn-vdd-1p8-current = <157000>; + interrupt-parent = <&tlmm>; + interrupts = <46 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; + }; +}; diff --git a/qcom/cape-cdp.dtsi b/qcom/cape-cdp.dtsi index 748cb735..7e221561 100644 --- a/qcom/cape-cdp.dtsi +++ b/qcom/cape-cdp.dtsi @@ -86,6 +86,30 @@ status = "ok"; }; +&qupv3_se9_i2c { + status = "ok"; + qcom,clk-freq-out = <1000000>; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,sn-nci"; + reg = <0x28>; + qcom,sn-irq = <&tlmm 46 0x00>; + qcom,sn-ven = <&tlmm 34 0x00>; + qcom,sn-firm = <&tlmm 45 0x00>; + qcom,sn-clkreq = <&tlmm 35 0x00>; + qcom,sn-vdd-1p8-supply = <&S10B>; + qcom,sn-vdd-1p8-voltage = <1800000 1800000>; + qcom,sn-vdd-1p8-current = <157000>; + interrupt-parent = <&tlmm>; + interrupts = <46 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; + }; +}; + &qupv3_se4_spi { status = "ok"; diff --git a/qcom/cape-mtp.dtsi b/qcom/cape-mtp.dtsi index f5dff8c6..c333d1b9 100644 --- a/qcom/cape-mtp.dtsi +++ b/qcom/cape-mtp.dtsi @@ -90,6 +90,30 @@ qcom,wireless-fw-name = "idt9415.bin"; }; +&qupv3_se9_i2c { + status = "ok"; + qcom,clk-freq-out = <1000000>; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,sn-nci"; + reg = <0x28>; + qcom,sn-irq = <&tlmm 46 0x00>; + qcom,sn-ven = <&tlmm 34 0x00>; + qcom,sn-firm = <&tlmm 45 0x00>; + qcom,sn-clkreq = <&tlmm 35 0x00>; + qcom,sn-vdd-1p8-supply = <&S10B>; + qcom,sn-vdd-1p8-voltage = <1800000 1800000>; + qcom,sn-vdd-1p8-current = <157000>; + interrupt-parent = <&tlmm>; + interrupts = <46 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; + }; +}; + &qupv3_se4_spi { status = "ok"; diff --git a/qcom/cape-pinctrl.dtsi b/qcom/cape-pinctrl.dtsi index e50af9f1..4b9e7c52 100644 --- a/qcom/cape-pinctrl.dtsi +++ b/qcom/cape-pinctrl.dtsi @@ -2487,6 +2487,65 @@ }; }; + nfc { + nfc_int_active: nfc_int_active { + /* active state */ + mux { + /* NFC Read Interrupt */ + pins = "gpio46"; + function = "gpio"; + }; + + config { + pins = "gpio46"; + drive-strength = <2>; /* 2 MA */ + bias-pull-down; + }; + }; + + nfc_int_suspend: nfc_int_suspend { + /* sleep state */ + mux { + /* NFC Read Interrupt */ + pins = "gpio46"; + function = "gpio"; + }; + + config { + pins = "gpio46"; + drive-strength = <2>; /* 2 MA */ + bias-pull-down; + }; + }; + + nfc_enable_active: nfc_enable_active { + mux { + /* Enable, Firmware and Clock request gpios */ + pins = "gpio34", "gpio45", "gpio35"; + function = "gpio"; + }; + + config { + pins = "gpio34", "gpio45", "gpio35"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + + nfc_enable_suspend: nfc_enable_suspend { + mux { + pins = "gpio34", "gpio45", "gpio35"; + function = "gpio"; + }; + + config { + pins = "gpio34", "gpio45", "gpio35"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + }; + /* touchscreen pins */ pmx_ts_active { ts_active: ts_active { diff --git a/qcom/cape-qrd.dtsi b/qcom/cape-qrd.dtsi index 16780697..717ed30f 100644 --- a/qcom/cape-qrd.dtsi +++ b/qcom/cape-qrd.dtsi @@ -135,6 +135,30 @@ qcom,wireless-fw-name = "idt9415.bin"; }; +&qupv3_se9_i2c { + status = "ok"; + qcom,clk-freq-out = <1000000>; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,sn-nci"; + reg = <0x28>; + qcom,sn-irq = <&tlmm 46 0x00>; + qcom,sn-ven = <&tlmm 34 0x00>; + qcom,sn-firm = <&tlmm 45 0x00>; + qcom,sn-clkreq = <&tlmm 35 0x00>; + qcom,sn-vdd-1p8-supply = <&S10B>; + qcom,sn-vdd-1p8-voltage = <1800000 1800000>; + qcom,sn-vdd-1p8-current = <157000>; + interrupt-parent = <&tlmm>; + interrupts = <46 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; + }; +}; + &qupv3_se4_spi { status = "ok";