NXP

移植NFC驱动到android系统

2019-07-12 12:19发布

1>>>进入kernel目录,替换driver层文件:
  1. kernel/drivers/nfc/pn544.c
  2. kernel/include/linux/nfc/pn544.h
  3. 更新nfc目录下得MakefileConfig

2>>>Firmware复制到device/rockchip/rk3066
3>>>修改device/rockchip/rk3066/rk3066.mk 更新在设备配置文件中更新library list。(与具体设备相关的代码存放于根目录的device下)。进入目录,添加下面代码到rk3066.mk文件。
PRODUCT_PACKAGES += libnfc-nci libnfc_nci_jni nfc_nci_pn547.rk3066 NfcNci Tag com.android.nfc_extras :注释:PRODUCT_PACKAGES是告诉系统哪些包要编译。
PRODUCT_COPY_FILES += frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml
PRODUCT_COPY_FILES += device/rokcchip/rk3066/Firmware/libnfc-brcm.conf:system/etc/libnfc-brcm.conf device/rokcchip/rk3066/Firmware/libnfc-nxp.conf:system/etc/libnfc-nxp.conf device/rokcchip/rk3066/Firmware/route.xml:system/etc/param/route.xml device/rokcchip/rk3066/Firmware/libpn547_fw.so:system/vendor/firmware/libpn547_fw.so :注释:androidcopy文件的方法,格式是: 通常可以直接加到device.mk中。
4>>>source_android下得文件复制到相应目录中,必须采用scp的方式,(采用samba的方式有复制失败的情况发生) package frameworks external
5>>>如果init.rc中没有下面的内容,则添加进去 on post-fs-data mkdir /data/nfc mkdir /etc/param on boot setprop ro.nfc.port I2C chmod 0660 /dev/pn544 chown nfc nfc /dev/pn544
6>>>修改板级支持包board-rk30-sdk.cI2C设备结构体中添加NFC,由于该文件已被其他人修改,导致屏幕点不亮,因此该文件需要改回到之前的版本。
7>>>修改文件external/libnfc-nci/halimpl/pn547/Android.mk, HAL_SUFFIX := $(TARGET_DEVICE) 修改为 HAL_SUFFIX := rk30board
8>>>进入kernel,打开make menuconfig, 选上pn544 nfc模块
9>>>重新编译整个系统