NFC Antenna Not Working with Non-Secure Build Configuration on nRF7002-DK (NCS v2.8.0)

Dear Nordic Technical Support,

I’m currently evaluating the NFC functionality on the nRF7002-DK with the following setup:

  • Hardware: nRF7002-DK

  • SDK Version: nRF Connect SDK v2.8.0

  • Example Application: nrf/samples/nfc/system_off

Reproduction Steps:

  1. I created a new application by copying the sample nrf/samples/nfc/system_off.

  2. I added the build configuration target:
    nrf7002dk/nrf5340/cpuapp

  3. Built and flashed the firmware to the nRF7002-DK.

  4. NFC antenna works as expected — the phone can scan the NFC tag without any issue.

However, when I switch the build configuration to the non-secure target:

  • Build Target: nrf7002dk/nrf5340/cpuapp/ns

  • The build completes successfully without errors.

  • Flashing also completes without any issues.

  • Problem: The NFC antenna no longer works. The phone is unable to detect the NFC tag at all.

  • Both secure and non-secure builds use the exact same code without any modification.

Question:

Is there any specific configuration or additional setup required to enable NFC functionality when building for the non-secure (NS) domain on the nRF5340 application core?
Any guidance or suggestions to resolve this issue would be greatly appreciated.

Thank you for your support.

Best regards,

Parents
  • Hi,

    I see the same on my end. The problem seems to be that CONFIG_TFM_NFCT_PINS_AS_GPIOS is always n as the logic here is not working. I tested by modifying line 296 to be default n, and then the sample worked on my end with TF-M. This is not elegant and needs a proper solutiong, but functions as a workaround.

    Edit: The problem is that the sample has not enabled NFCT in the devicetree. Adding this to for instance a file called app.overlay that you make in the project folder solves the issue:

    &nfct {
            status = "okay";
        };

Reply
  • Hi,

    I see the same on my end. The problem seems to be that CONFIG_TFM_NFCT_PINS_AS_GPIOS is always n as the logic here is not working. I tested by modifying line 296 to be default n, and then the sample worked on my end with TF-M. This is not elegant and needs a proper solutiong, but functions as a workaround.

    Edit: The problem is that the sample has not enabled NFCT in the devicetree. Adding this to for instance a file called app.overlay that you make in the project folder solves the issue:

    &nfct {
            status = "okay";
        };

Children
No Data
Related