Hi.
Our board has a PN7120 NFC controller on it. I'm using Qualcomm's Android (Marshmallow on an 820) including vendor/nxp/opensource/external/libnfc-nci.
When using an NFC application, the library receives a reset notification from the chip. The reset indicates that the chip supports NCI version 0. However, the library supports only NCI version src/include/nfc_target.h, the only two versions supported are 0x0F and 0x10 (defaults to 0x10). This causes the NFC stack to fail to start:
NxpTml : PN54X - I2C Read successful.....
NxpNciR : len = 9 > 600006A000C7D40000
NxpTml : PN54X - Posting read message.....
NxpHal : read successful status = 0x0
NxpHal : CORE_RESET_NTF received!
NxpHal : phNxpNciHal_emergency_recovery: abort()
NfcAdaptation: NfcAdaptation::HalDeviceContextDataCallback: len=9
BrcmNfcNfa: NFC received ntf gid:0
BrcmNfcNfa: nci_proc_core_ntf opcode:0x0
BrcmNfcNfa: reset notification!!:0xa0
BrcmNfcNfa: NCI version mismatch!!:0x10 != 0x00
BrcmNfcNfa: NFCC version is too old
BrcmNfcNfa: Failed to reset NFCC
The application note http://www.nxp.com/documents/application_note/AN11690.pdf describes how to use the PN7120 with Android. It specifies github.com/NXPNFCLinux/linux_libnfc-nci as the source for the library. Although it differs somewhat from libnfc-nci included in the Qualcomm Android BSP, it too supports NCI version 0x0F and 0x10.
Can anyone explain why the chip version seems old?
Thanks,
Steve
the Qualcomm NFC stack is developed to work with a different NFC IC (called NQ2xx). PN7120 is not supported by this stack.
If you want to use Android with PN7120, please follow the Android guide for PN7120, but then it is not based on Qualcomm's NFC Android stack.