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?