I am trying to use I2C to communicate with the NXP NFC module PN7120. The instructions I am following can be found here:
http://www.nxp.com/documents/application_note/AN11697.pdf
The nxp-pn5xx kernel module that I am loading can be found here:
https://github.com/NXPNFCLinux/nxp-pn5xx
The demo App for testing the module can be found here:
https://github.com/NXPNFCLinux/linux_libnfc-nci.git
The result of uname -a is:
Linux tegra-ubuntu 3.10.24-grinch-19.3.6-dtb-kmod #1 SMP PREEMPT Wed Apr 20 21:11:40 UTC 2016 armv7l armv7l armv7l GNU/Linux
A snippet of dmesg:
[ 625.791701] pn54x_dev_open : 10,40
[ 625.791722] pn54x_dev_ioctl, cmd=1074063617, arg=1
[ 625.791728] pn544_enable power on
[ 625.992136] pn54x_dev_ioctl, cmd=1074063617, arg=0
[ 625.992148] pn544_disable power off
[ 626.193112] pn54x_dev_ioctl, cmd=1074063617, arg=1
[ 626.193131] pn544_enable power on
[ 626.294768] tegra-i2c tegra12-i2c.0: no acknowledge from address 0x28
[ 626.294858] pn54x_dev_write : i2c_master_send returned -121
[ 626.302939] tegra-i2c tegra12-i2c.0: no acknowledge from address 0x28
[ 626.303018] pn54x_dev_write : i2c_master_send returned -121
[ 626.310984] tegra-i2c tegra12-i2c.0: no acknowledge from address 0x28
[ 626.311087] pn54x_dev_write : i2c_master_send returned -121
[ 626.319101] tegra-i2c tegra12-i2c.0: no acknowledge from address 0x28
[ 626.319175] pn54x_dev_write : i2c_master_send returned -121
[ 626.327165] tegra-i2c tegra12-i2c.0: no acknowledge from address 0x28
[ 626.327256] pn54x_dev_write : i2c_master_send returned -121
[ 626.335290] tegra-i2c tegra12-i2c.0: no acknowledge from address 0x28
[ 626.335366] pn54x_dev_write : i2c_master_send returned -121
[ 626.342152] pn54x_dev_ioctl, cmd=1074063617, arg=1
[ 626.342163] pn544_enable power on
[ 626.543097] pn54x_dev_ioctl, cmd=1074063617, arg=0
[ 626.543109] pn544_disable power off
[ 626.744137] pn54x_dev_ioctl, cmd=1074063617, arg=1
[ 626.744162] pn544_enable power on
When I run the nfcDemoApp, I don’t get any error messages and it just says “press enter to quit”.
I have a Logic Analyzer attached to the I2C bus and there is no signal (neither clock nor data) when I run the nfcDemoApp, but I have verified that the I2C bus works with a user-space application I wrote.
I have the expected /dev/pn544 entry and I did add the device into the device-tree. It looks like the PN7120 won’t respond to its address, even though I verified 0x28 was the correct address.
Does anyone have any ideas as to why it’s not working?