MT6762平台NXP NFC代码移植要点

1 找到官网,获取源码包
NXP NFC移植源码
https://github.com/NXPNFCProject
固件
https://github.com/NXP/nfc-NXPNFCC_FW/tags

2 主要介绍源码移植
打开https://github.com/NXPNFCProject
下载对于源码包放到工程对于目录
nfcandroid_nfc_hidlimpl-master -->hardware/nxp/nfc目录下
nfcandroid_secureelement-master -->hardware/nxp/secure_element目录下
NFC_NCIHAL_libnfc-nci-master-->system/nfc目录下
NXPNFC_Reference-master-->vendor/nxp目录下
NFC_NCIHAL_base-master-->frameworks/base目录下,这个目录的代码移植完毕,需要删除对于obj(或用make clean)再重新编译.

i2c节点驱动代码
NXPNFC_I2CDriver-master-->kernel-4.9/drivers/misc/mediatek/nfc/
修改对应的makeFile,添加编译进去

3 其它注意点
DWS,配置i2c速率,Ven,DWL,IRQ等GPIO的读中断.
dts配置.配置i2c地址,速率,Ven,DWL,IRQ等GPIO 的dts

如果使用外部系统提供的CLK,需要接CLR_REQ脚,CLR_REQ时钟请求脚,由NXP固件控制,当需要外部时钟时(读NFC标签才需要),CLK_REQ拉高,不接时,用NFC参考电路模块使用的时钟.

DWL是需要升级固件时的控制脚.有些NFC模块一定要拉低才能正常工作,否则认为进入升级状态.

移植完毕后,开机完成就有NFC设备初始化,通过打印LOG确定i2c是否初始化成功,固件是否初始化成功.

4 LOG 分析
I2C总线通信成功LOG
03-21 09:39:52.101   399  1691 D NxpTml  : PN54X - Tml Reader Thread Started................
03-21 09:39:52.101   399  1692 D NxpTml  : PN54X - Tml Writer Thread Started................
03-21 09:39:52.101   399  1692 D NxpTml  : PN54X - Tml Writer Thread Running................
03-21 09:39:52.101   399  1694 D NxpHal  : thread started
03-21 09:39:52.101   399  1691 D NxpTml  : PN54X - Read requested.....
03-21 09:39:52.101   399   399 D         : sem_timedwait() succeeded
03-21 09:39:52.101   399  1691 D NxpTml  : PN54X - Invoking I2C Read.....
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - Write requested.....
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - Invoking I2C Write.....
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - Invoking I2C Write.....
03-21 09:39:52.102   399  1692 D NxpNciX : len =   4 => 20000100
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - I2C Write successful.....
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - Posting Fresh Write message.....
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - Tml Writer Thread 
....
....
....
03-21 09:39:52.107   399  1691 D NxpTml  : PN54X - Read requested.....
03-21 09:39:52.107   399  1691 D NxpTml  : PN54X - Invoking I2C Read.....
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - Write requested.....
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - Invoking I2C Write.....
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - Invoking I2C Write.....
03-21 09:39:52.108   399  1692 D NxpNciX : len =   5 => 2001020000
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - I2C Write successful.....
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - Posting Fresh Write message.....
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - Tml Writer Thread Running................
03-21 09:39:52.108   399  1694 D NxpHal  : write successful status = 0x0
03-21 09:39:52.108   399   399 D NxpHal  : Response timer started
03-21 09:39:52.108   399   399 D NxpHal  : Waiting after ext cmd sent
03-21 09:39:52.109   399  1691 D NxpTml  : PN54X - I2C Read successful.....len = 39
03-21 09:39:52.109  1627  1627 V MediaProvider: test album art path: /storage/emulated/0/Android/data/com.android.providers.media/albumthumbs
03-21 09:39:52.109   399  1691 D NxpTml  : PN54X - Posting read message.....
 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosir_zhong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值