Re: [PATCH v2] arm64: dts: qcom: sdm845-oneplus-common: add PN553 NFC

From: Gergo Koteles
Date: Wed Mar 08 2023 - 13:21:06 EST


On 2023. 03. 07. 20:04, Gergo Koteles wrote:
On 2023. 03. 07. 20:02, Konrad Dybcio wrote:


On 7.03.2023 19:59, Gergo Koteles wrote:
The OnePlus 6/6T both have a NQ330 (PN553 + P73N2M0).
The PN533 supported by the nxp-nci-i2c driver in mainline.
It detects/reads NFC tags using "nfctool".

Signed-off-by: Gergo Koteles <soyer@xxxxxx>
---
Next time include a changelog below this --- line detailing
what changed between revisions.

Okey. Thanks for the suggestion and the review.

Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>

Konrad
  .../boot/dts/qcom/sdm845-oneplus-common.dtsi  | 39 +++++++++++++++++++
  1 file changed, 39 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
index 64638ea94db7..5e45801031d8 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
@@ -380,6 +380,24 @@ zap-shader {
      };
  };
+&i2c3 {
+    clock-frequency = <400000>;
+    status = "okay";
+
+    nfc@28 {
+        compatible = "nxp,nxp-nci-i2c";
+        reg = <0x28>;
+
+        interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_RISING>;
+
+        enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
+        firmware-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>;
+
+        pinctrl-0 = <&nfc_int_active &nfc_enable_active &nfc_firmware_active>;
+        pinctrl-names = "default";
+    };
+};
+
  &i2c10 {
      status = "okay";
      clock-frequency = <100000>;
@@ -753,6 +771,27 @@ &usb_1_hsphy {
  &tlmm {
      gpio-reserved-ranges = <0 4>, <81 4>;
+    nfc_int_active: nfc-int-active-state {
+        pins = "gpio63";
+        function = "gpio";
+        drive-strength = <2>;
+        bias-pull-up;
+    };
+
+    nfc_enable_active: nfc-enable-active-state {
+        pins = "gpio12";
+        function = "gpio";
+        drive-strength = <2>;
+        bias-pull-up;
+    };
+
+    nfc_firmware_active: nfc-firmware-active-state {
+        pins = "gpio62";
+        function = "gpio";
+        drive-strength = <2>;
+        bias-pull-up;
+    };
+
      tri_state_key_default: tri-state-key-default-state {
          pins = "gpio40", "gpio42", "gpio26";
          function = "gpio";

Hi,

Please disregard this patch. Although it can detect the tags and the tags type, the full readout does not work. I will send a new version when I figure out what's wrong.

Thanks