AN14608 Batay sa NFC Controllers
“
Impormasyon ng Produkto
Mga pagtutukoy:
- Produkto: NFC controllers PN7160 at PN7220
- Pagkatugma: Android 15
- Tagagawa: NXP Semiconductors
- Mga Interface: PN7160 – I2C o SPI, PN7220 – I2C
Mga Tagubilin sa Paggamit ng Produkto
1. Pagsasama sa Android Environment:
Sundin ang mga hakbang na ito upang isama ang mga NFC controllers sa isang
kapaligiran sa Android:
- I-install ang kinakailangang kernel driver na makikita sa ref.[4].
- I-configure ang Middleware (MW) ayon sa ibinigay
mga sanggunian.
2. Suporta para sa Android:
Sinusuportahan na ngayon ng Android Open Source Project (AOSP) ang parehong PN7160
at PN7220 NFC controllers.
3. Arkitektura ng NFC Stack:
Sumangguni sa mga sumusunod na figure para sa arkitektura ng NFC
stack para sa bawat controller:
- PN7160:

- PN7220:

4. Pag-install ng Kernel Driver:
Upang magtatag ng koneksyon sa mga NFC controllers, sundin ang mga ito
hakbang:
- Gamitin ang nxpnfc kernel driver na available sa ref.[4].
- Tiyaking napili ang tamang driver batay sa uri ng chip
(PN7160 o PN7220). - Ang PN7160 ay gumagamit ng I2C o SPI na pisikal na interface, habang ang PN7220 ay gumagamit
I2C. - Ang driver ay nakalantad sa pamamagitan ng node ng device sa /dev/nxpnfc pagkatapos
pag-install.
Mga Madalas Itanong (FAQ)
Q: Ano ang mga hindi sinusuportahang feature ng bawat NFC
controller?
A: Mula sa Android 14 pataas, ang P2P ay hindi rin
suportado sa PN7160. Sumangguni sa Talahanayan 2 para sa higit pang mga detalye.
T: Paano ako makakahanap ng higit pang impormasyon tungkol sa produkto?
A: Para sa karagdagang detalye, sumangguni sa produkto
pahina para sa PN7160 ref.[2] at PN7220 ref.[3].
“`
AN14608
PN7160/PN7220 Android 15 porting guide
Rev. 1.0 — 14 Abril 2025
Tala ng aplikasyon
Impormasyon sa dokumento
Impormasyon
Nilalaman
Mga keyword
PN7160, PN7220, NCI, EMVCo, NFC Forum, Android, NFC
Abstract
Inilalarawan ng dokumentong ito kung paano i-port ang PN7160/PN7220 na karaniwang paglabas ng middleware sa Android 15.
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
1 Panimula
Ang gabay na ito ay nagbibigay ng mga detalyadong tagubilin kung paano isama ang NXP NCI-based NFC controllers, PN7160 at PN7220, sa isang Android environment. Kasama sa proseso ang pag-install ng kinakailangang kernel driver at configuration ng MW (tingnan ang ref.[1]). Para sa karagdagang impormasyon, sumangguni sa pahina ng produkto para sa PN7160 ref.[2] at PN7220 ref.[3].
Ang Android Open Source Project (AOSP) ay na-update upang isama ang suporta para sa parehong PN7160 at PN7220 NFC controllers.
Ang PN7220 ay may dalawang configuration: single-host at dual-host. Ang stack ay karaniwang pareho para sa pareho. Sa dual-host mode, idinagdag ang SMCU na nangangahulugan na ang lahat ng mga gawaing nauugnay sa EMVCo ay isinasagawa sa SMCU. Sa singlehost, ang EMVCo ay isinasagawa sa isang nakalaang EMVCo MW stack.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 2 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
2 Mahalagang paunawa
Mayroong marami tags nauugnay sa Android 15 na inilabas sa GitHub (ref.[1]). Ipinapaliwanag ng talahanayan sa ibaba ang bawat bersyon:
Talahanayan 1.GitHub tags pagpapaliwanag Tag NFC_AR_INFRA_001E_15.01.00_OpnSrc NFC_AR_INFRA_0006_15.01.01_OpnSrc
Paliwanag
Paunang paglabas. Nakumpleto ang limitadong pagsubok.
Paglabas para sa PN7160 (naganap ang buong pagsubok). Ang PN7220 code ay naroon pa rin ngunit may limitadong pagsubok na natapos.
Tandaan: Pinapalawak ng NXP ang saklaw ng pagsubok kaya naman ang ilan tags may limitadong saklaw ng pagsubok sa ngayon.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 3 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
3 Android MW stack
Ang Figure 1 ay naglalarawan ng arkitektura ng PN7220 Android NFC stack.
Larawan 1.PN7220 Android NFC stack
· Ang NXP I2C Driver ay isang kernel module na nagbibigay-daan sa pag-access sa mga mapagkukunan ng hardware ng PN7220. · Ang HAL module ay isang pagpapatupad ng NXP NFC controller-specific na hardware abstraction layer. · LibNfc-Nci ay isang katutubong library na nagbibigay ng NFC functionality. · Nagsisilbing tulay ang NFC JNI sa pagitan ng mga klase ng Java at Native. · Ang NFC at EMVCo Framework ay isang module ng application framework na nagbibigay-daan sa access sa NFC at
Mga pag-andar ng EMVCo.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 4 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
Ipinapakita ng Figure 2 ang arkitektura ng PN7160 Android NFC stack.
Larawan 2.PN7160 Android MW stack
· Ang NXP I2C Driver ay isang kernel module na nagbibigay-daan sa pag-access sa mga mapagkukunan ng hardware ng PN7160. · Ang HAL module ay isang pagpapatupad ng NXP NFC controller-specific na hardware abstraction layer. · LibNfc-nci ay isang katutubong library na nagbibigay ng NFC functionality. · Nagsisilbing tulay ang NFC JNI sa pagitan ng mga klase ng Java at Native. · Ang NFC ay isang module ng application framework na nagbibigay-daan sa pag-access sa mga functionality ng NFC. · Ang MW source code ay pareho para sa PN7160 at PN7220, ngunit may ilang mga limitasyon.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 5 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
Ipinapakita sa talahanayan 2 ang mga hindi sinusuportahang feature ng bawat NFC controller.
Talahanayan 2. Mga hindi sinusuportahang feature NFC controller PN7160
PN7220
Mga hindi sinusuportahang feature
· EMVCo MW stack · SMCU · CT feature
· NFCEE_NDEF
Tandaan: Mula sa Android 14 hanggang P2P, ay hindi rin sinusuportahan sa PN7160.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 6 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
4 Kernel driver
Upang magtatag ng koneksyon sa PN7220 o PN7160, ginagamit ng Android stack ang nxpnfc kernel driver. Ito ay matatagpuan sa ref.[4].
4.1 Mga detalye ng driver
Sinusuportahan ng PN7220 ang pisikal na interface ng I2C, habang sinusuportahan ng PN7160 ang pisikal na interface ng I2C o SPI. Kapag na-install sa kernel, ang driver ay nakalantad sa pamamagitan ng device node sa /dev/nxpnfc. Tandaan: Gumagamit ang PN7160 at PN7220 ng dalawang magkaibang driver, kailangan ang pagpili ng tamang driver batay sa uri ng chip.
4.2 Pagkuha ng PN7160 driver source code
Kopyahin ang nfcandroid_platform_drivers/drivers/pn7160/nfc driver repository sa kernel directory, palitan ang umiiral na pagpapatupad. Sumangguni sa ref.[4] para sa kernel files.
$rm -rf drivers/nfc $git clone “https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git” -b
br_ar_15_comm_infra_dev
Nagtatapos ito sa mga driver ng folder/nfc na naglalaman ng mga sumusunod files: · README.md: imbakan ng impormasyon · Gumawafile: driver heading makefile · Kconfig: pagsasaayos ng driver file · Lisensya: mga tuntunin sa paglilisensya sa pagmamaneho · nfc subfolder na naglalaman ng:
commoc.c: generic na pagpapatupad ng driver common.h: generic na driver interface definition i2c_drv.c: i2c specific driver implementation i2c_drv.h: i2c specific driver interface definition spi_drv.c: spi specific driver implementation spi_drv.h: spi specific driver interface definition Gawinfile: gumawafile kasama yan sa gawafile ng driver Kbuild => build file Kconfig => pagsasaayos ng driver file
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 7 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
4.3 Pagkuha ng PN7220 driver source code
Kopyahin ang nfcandroid_platform_drivers/drivers/pn7220cs/nfc (single-host use case) o nfcandroid_platform_ drivers/drivers/pn7220cms/nfc (dual-host use case) sa kernel directory drivers/nfc, palitan ang kasalukuyang driver. Sumangguni sa ref.[4] para sa kernel files.
$rm -rf drivers/nfc $git clone “https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git” -b
br_ar_15_comm_infra_dev
Kasunod ng utos na ito, ang folder drivers/nfc ay naglalaman ng sumusunod files: · README.md: imbakan ng impormasyon · Gumawafile: driver heading makefile · Kconfig: pagsasaayos ng driver file · Lisensya: mga tuntunin sa paglilisensya sa pagmamaneho · nfc subfolder na naglalaman ng:
commoc.c: generic na pagpapatupad ng driver common.h: generic na driver interface definition i2c_drv.c: i2c specific driver implementation i2c_drv.h: i2c specific driver interface definition Gawinfile: gumawafile kasama yan sa gawafile ng driver Kbuild => build file Kconfig => pagsasaayos ng driver file
4.4 Pagbuo ng driver
Responsable ang devicetree sa pagdaragdag ng driver sa kernel at pag-load nito sa boot ng device.
Pagkatapos i-upgrade ang detalye ng devicetree, dapat na muling itayo ang devicetree na nauugnay sa platform. Inirerekomenda ng NXP ang paggamit ng kernel na bersyon 5.10 dahil nagbibigay ito ng komprehensibong pagpapatunay.
Upang mabuo ang driver, dapat gawin ang mga sumusunod na hakbang:
1. Kunin ang kernel driver 2. Kunin ang source code para sa driver 3. Baguhin ang devicetree definition, na kakaiba sa device na ginagamit. 4. Buuin ang driver:
a. Sa pamamagitan ng menuconfig procedure, idagdag ang target na driver sa build.
Matapos muling itayo ang nakumpletong kernel, ang driver ay isasama sa imahe ng kernel. Ang lahat ng mga bagong kernel na imahe ay dapat makopya sa AOSP build.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 8 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
5 AOSP adaptation
Nagdaragdag ang NXP ng mga pagbabago sa AOSP code. Nangangahulugan ito na ang AOSP code ay ginagamit bilang isang pundasyon, ngunit pinalawig para sa mga tampok na partikular sa NXP. ref.[5] ay ang kasalukuyang AOSP tag ginagamit ng NXP. Pagkatapos makuha ang build ng AOSP, dapat palitan ang umiiral na AOSP code, at dapat ilapat ang ilang patch.
Tandaan: Maaaring gumamit ng ibang bersyon ng AOSP code, ngunit kailangang magsagawa ng mga karagdagang pagbabago.
5.1 AOSP build
1. Kumuha ng AOSP source code.
$ repo init -u https://android.googlesource.com/platform/manifest -b android-15.0.0_r1 (tingnan ang Seksyon 2 para sa mga paglabas ng code)
$ repo sync
Tandaan: Dapat na naka-install ang repo tool sa system. Sumangguni sa ref.[6] para sa mga tagubilin. 2. Bumuo ng source code.
$cd Android_AROOT $source build/envsetup.sh $lunch select_target #target ay DH na gusto naming gamitin para sa example: evk_8mn-userdebug $make -j
3. Kopyahin ang lahat ng NXP repository sa target na lokasyon.
Talahanayan 3.Sangay para sa partikular na bersyon ng Android na bersyon ng Android
Android 15
Branch br_ar_15_comm_infra_dev
Tandaan: Habang nag-clone, mahalagang piliin ang tamang sangay.
Talahanayan 4. I-clone ang mga repositoryo ng AOSP Repos
NXP GitHub Repos
“$ANDROID_ROOT”/packages/ https://github.com/nxp-nfc-infra/nxp_nci_hal_nfc/tree/br_ar_15_comm_infra_dev apps/Nfc
“$ANDROID_ROOT”/system/nfc >https://github.com/nxp-nfc-infra/nxp_nci_hal_libnfc-nci/tree/br_ar_15_comm_infra_dev
“$ANDROID_ROOT”/hardware/ https://github.com/nxp-nfc-infra/nfcandroid_nfc_hidlimpl/tree/br_ar_15_comm_infra_dev nxp/nfc
“$ANDROID_ROOT”/vendor/nxp/ https://github.com/nxp-nfc-infra/nfcandroid_frameworks/tree/br_ar_15_comm_infra_dev frameworks
“$ANDROID_ROOT”/hardware/ https://github.com/nxp-nfc-infra/nfcandroid_emvco_aidlimpl/tree/
nxp/emvco
br_ar_15_comm_infra_dev
“$ANDROID_ROOT”
https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/tree/ br_ar_15_comm_infra_dev
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 9 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
Talahanayan 5. I-clone ang mga repositoryo para sa mga application ng pagsubok at suporta sa TDA
Folder sa GitHub
AOSP Repos
NXP GitHub
Sinusuportahan ang IC
test_apps/SMCU_Switch
“$ANDROID_ROOT”/ packages/apps/
https://github.com/ nxp-nfc-infra/ nfcandroid_infra_test_apps
PN7220
test_apps/EMVCoMode SwitchApp
“$ANDROID_ROOT”/ packages/apps/Nfc/
https://github.com/ nxp-nfc-infra/ nfcandroid_infra_test_apps
PN7220
test_apps/Cockpit
Hindi na applicable. Gamitin Hindi na naaangkop. Gamitin Hindi na naaangkop. Gamitin
Cockpit tool mula sa Quick start Cockpit tool mula sa Quick start Cockpit tool mula sa Quick start
gabay
gabay
gabay
test_apps/SelfTest
“$ANDROID_ROOT”/ hardware/nxp/nfc/
https://github.com/ nxp-nfc-infra/ nfcandroid_infra_test_apps
PN7220
test_apps/SelfTest_pn7160 “$ANDROID_ROOT”/ hardware/nxp/nfc/
https://github.com/ nxp-nfc-infra/ nfcandroid_infra_test_apps
PN7160
test_apps/load_unload
“$ANDROID_ROOT”/ hardware/nxp/nfc/
https://github.com/ nxp-nfc-infra/ nfcandroid_infra_test_apps
PN7220
test_apps/SelfTestAidl
“$ANDROID_ROOT”/ hardware/nxp/nfc/
https://github.com/ nxp-nfc-infra/ nfcandroid_infra_test_apps
PN7220
nfc_tda
“$ANDROID_ROOT”/system/ https://github.com/
PN7220
nxp-nfc-infra/
nfcandroid_infra_comm_libs
emvco_tda
“$ANDROID_ROOT”/ hardware/nxp/emvco/
https://github.com/
PN7220
nxp-nfc-infra/
nfcandroid_infra_comm_libs
emvco_tda_test
“$ANDROID_ROOT”/ hardware/nxp/emvco/
https://github.com/
PN7220
nxp-nfc-infra/
nfcandroid_infra_comm_libs
NfcTdaTestApp
“$ANDROID_ROOT”/ packages/apps/Nfc/
https://github.com/
PN7220
nxp-nfc-infra/
nfcandroid_infra_comm_libs
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 10 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
4. Maglagay ng mga patch.
Talahanayan 6. Maglagay ng mga patch
Lokasyon para mag-apply
Patch para ilapat
Lokasyon ng patch
“$ANDROID_ROOT”/build/ AROOT_build_bazel.
bazel/
patch
https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_15_comm_infra_dev/build_cfg/build_pf_patches/
“$ANDROID_ROOT”/build/ AROOT_build_make.
bitawan/
patch
https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_15_comm_infra_dev/build_cfg/build_pf_patches/
“$ANDROID_ROOT”/ external/libchrome/
AROOT_build_soong. patch
https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_15_comm_infra_dev/build_cfg/build_pf_patches/
“$ANDROID_ROOT”/ frameworks/base/
AROOT_frameworks_ base.patch
https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_15_comm_infra_dev/build_cfg/build_pf_patches/
“$ANDROID_ROOT”/ system/logging/
AROOT_system_logging. https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/
patch
tree/br_ar_15_comm_infra_dev/build_cfg/build_pf_patches/
Tandaan: Suriin ang output pagkatapos ilapat ang patch, kung may naobserbahang isyu sa panahon ng pag-patching. 5. Magdagdag ng mga aklatan ng FW. Sumangguni sa ref.[8] para sa FW. Tandaan: Hindi sapilitan. Maaaring palaging ma-update ang FW. Para sa PN7160:
$git clone https://github.com/NXP/nfc-NXPNFCC_FW.git $cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/64-bit/libpn7160_fw.so AROOT/vendor/ nxp/7160/firmware/lib64/_libwpn7160 .so $cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/32-bit/libpn7160_fw.so AROOT/vendor/ nxp/7160/firmware/lib/libpn7160_fw.so
Para sa PN7220:
$git clone https://github.com/NXP/nfc-NXPNFCC_FW.git $cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/64-bit/libpn7220_64bit.so AROOT/vendor/nxp/ pn7220/libwpn/lib64_xx .kaya
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 11 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
6. Pagdaragdag ng NFC sa build Sa device.mk makefile (para sa example, device/brand/platform/device.mk), isama ang partikular na gawafiles:
$(tawagan ang inherit-product, vendor/nxp/nfc/device-nfc.mk)
Sa BoardConfig.mk gumawafile (para sa example, device/brand/platform/BoardConfig.mk), magsama ng isang partikular na gawafile:
-isama ang vendor/nxp/nfc/BoardConfigNfc.mk
7. Pagdaragdag ng DTA application
$git clone https://github.com/NXPNFCProject/NXPAndroidDTA.git $cd NXPAndroidDTA $git checkout br_ar_new_dta_arch $cp -r NXPAndroidDTA /vendor/nxp/ #Maaaring i-clone ito ng user sa vendor/nxp/ NXPAndroidDTA nang direkta $ /vendor/nxp/NXPAndroidDTA$ mm -j
8. Bumuo ng AOSP na may mga pagbabago:
$cd framework/base $mm $cd ../.. $cd vendor/nxp/frameworks $mm #after this one, com.nxp.emvco.jar at com.nxp.nfc.jar ay dapat nasa inside out/ target/ produkto/xxxx/system/framwework/ $cd ../../.. $cd hardware/nxp/nfc $mm $cd ../../.. $make -j
Ngayon, i-flash ang device gamit ang mga bagong larawan sa Android.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 12 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
5.2 Android NFC application at library sa mga target na device
Pagkatapos ng build, dapat na mai-install ang mga nilikhang library sa target na device. Tinutukoy ng mga application at library ng Android NFC sa mga target na device ang lokasyon ng proyekto, ang kaukulang library, at ang target na lokasyon ng device kung saan mai-install.
Tandaan: Ang mga binary ng EMVCo ay naaangkop lamang para sa PN7220.
Talahanayan 7.Inipon files na may target ng device
Lokasyon ng proyekto
Pinagsama-sama Files
“$ANDROID_ROOT”/ packages/apps/Nfc
NfcNci.odex NfcNci.vdex lib/NfcNci.apk oat/libnfc_nci_jni.so
“$ANDROID_ROOT”/ system/nfc “$ANDROID_ROOT”/ system/nfc_tda” “$ANDROID_ROOT”/ hardware/nxp/nfc
“$ANDROID_ROOT/ hardware/interfaces/nfc”
“$ANDROID_ROOT”/ vendor/nxp/frameworks “$ANDROID_ROOT”/ hardware/nxp/emvco
“$ANDROID_ROOT/ hardware/nxp/emvco_tda”
libnfc_nci.so
nfc_tda.so
nfc_nci_nxp_pn72xx.so android.hardware.nfc-service.nxp nfc-service-nxp.rc android.hardware.nfc@1.0.so android.hardware.nfc@1.1.so android.hardware.nfc@1.2.so vendor.nxp.nxpnfc_aidl-V2-ndk.nx.sofc_nxpdl.
android.hardware.nfc-V1-ndk.so android.hardware.nfc@1.0.so android.hardware.nfc@1.1.so android.hardware.nfc@1.2.so android.hardware.nfc@1.0.so android.hardware .nfc@1.1.so android.hardware.nfc@1.2.so
com.nxp.emvco.jar (PN7220) com.nxp.nfc.jar
emvco_poller.so (PN7220) vendor.nxp.emvco-V1-ndk.so vendor.nxp.emvco-V2-ndk.so vendor.nxp.emvco-V2-ndk.so vendor.nxp.emvco-service vendor.nxp. emvco-service.rc
emvco_tda.so
Mga komento
Lokasyon sa target na device
/system/app/NfcNci/ oat/arm64/ /system/app/NfcNci/ oat/arm64/ /system/app/NfcNci/ /system/lib64/
/system/lib64/
Naaangkop lamang para sa tampok na CT /system/lib64/.
/vendor/lib64 /vendor/bin/hw/ /vendor/bin/init /system/lib64/ /system/lib64/ /system/lib64/ /vendor/lib64/ /vendor/lib64/
/system/ib64/ /system/lib64/ /system/lib64/ /system/lib64/ /vendor/lib64/ /vendor/lib64/ /vendor/lib64/
/system/framework /system/framework
/vendor/lib64/ /system/lib64/ /system/lib64/ /vendor/lib64/ /vendor/bin/hw/ /vendor/etc/init/
Naaangkop lamang para sa tampok na CT /vendor/lib64/.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 13 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
5.3 I-block ang pagmamapa
Pagma-map sa pangalan ng block mula sa Seksyon 1 upang i-target ang lokasyon sa AOSP code.
Talahanayan 8. Lokasyon ng patch sa NFC Stack Block name NFC HAL at EMVCo HAL NFC Stack EMVCo L1 Data Exchange Layer = EMVCo Stack LibNfc-Nci NFC JNI NFC Service NFC Framework EMVCo Framework
Lokasyon sa AOSP code hardware/interfaces/ hardware/nxp/nfc/ hardware/nxp/emvco/ system/nfc/ packages/apps/nfc/ packages/apps/nfc/ frameworks/base/ vendor/nxp/frameworks/
5.4 EMVCo API
Ang PN7220 MW stack ay nagpapalawak ng AOSP code na may EMVCo MW stack. Inilalarawan ng seksyong ito ang mga EMVCo API.
Tandaan: Ang mga API ay matatawag lamang kapag gumagamit ng PN7220 IC. Kung tatawagan ito gamit ang PN7160 IC, hindi gagana ang API.
EMVCo Profile Pagtuklas. Maaaring gamitin ang mga API na iyon sa contact at contactless profiles.
· registerEMVCoEventListener() ndk::ScopedAStatus registerEMVCoEventListener ( const std::shared_ptr< INxpEmvcoClientCallback > & in_clientCallback, bool * in_aidl_return )
Paglalarawan: Irehistro ang function ng callback ng EMVCo upang matanggap ang mga kaganapan mula sa isang device ng tagapakinig Tandaan: Ang function na ito ay dapat na bola bago mag-invoke ng anumang iba pang api. Mga Parameter:
[in] *in_clientCallback: may EMVCo client HAL callback [in] *in_aidl_return: nagsasaad ng status ng rehistro bilang kapalit sa tumatawag Nagbabalik ng true ang boolean, kung ang tagumpay at nagbabalik ng false, kung nabigong magrehistro · getCurrentDiscoveryMode() ndk::ScopedAStatus
getCurrentDiscoveryMode(::aidl::vendor::nxp::emvco::NxpDiscoveryMode * _aidl_return)
Paglalarawan: ibinabalik ang kasalukuyang aktibong profile uri. Nagbabalik
NxpDiscoveryMode – NFC/EMVCo/Hindi Kilala
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 14 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
· onNfcStateChange() ndk::ScopedAStatus onNfcStateChange(NxpNfcState in_nfcState)
Paglalarawan: na-update ang estado ng NFC sa EMVCo HAL. Mga Parameter:
[in] in_nfcState: tumutukoy sa NFC state Returns:
walang bisa · magrehistroNFCStateChangeCallback()
ndk::ScopedAStatus registerNFCStateChangeCallback ( const std::shared_ptr< ::aidl::vendor::nxp::emvco::INxpNfcStateChangeRequestCallback > & in_nfcStateChangeRequestCallback,
bool * _aidl_return )
Paglalarawan: Magrehistro ng function ng NFC callback upang matanggap ang mga kaganapan mula sa isang listener device. Tandaan: Ang function na ito ay dapat tumawag bago mag-invoke ng anumang iba pang api. Mga Parameter:
[sa] in_nfcStateChangeCallback: INxpNfcStateChangeRequestCallback ang function ng callback ng event na ipapasa ng tumatawag. Dapat itong ipatupad upang i-ON/OFF ang NFC batay sa kahilingang natanggap.
Ibinabalik: ang boolean ay nagbabalik ng true, kung tagumpay at nagbabalik ng false, kung nabigong magrehistro. · setByteConfig()
ndk::ScopedAStatus setByteConfig ( ::aidl::vendor::nxp::emvco::NxpConfigType in_type, int32_t in_length, int8_t in_value, ::aidl::vendor::nxp::emvco::NxpConfig_State
)
· setEMVCoMode()
ndk::ScopedAStatus setEMVCoMode ( int8_t in_disc_mask, bool in_isStartEMVCo
)
Paglalarawan: Sinisimulan ang EMVCo mode gamit ang Device-Controller. Kapag naitatag na ang Channel Data ng Application, maaaring ipadala ng Application simulan ang EMVCo mode gamit ang Device-Controller.
Mga Parameter: [in] in_disc_mask EMVCo: ang mga teknolohiya ng botohan ay na-configure sa pamamagitan ng parameter na ito [in]in_isStartEMVCo: tumutukoy upang simulan o ihinto ang EMVCo mode
Ibinalik: walang bisa
· setLed()
ndk::ScopedAStatus setLed ( ::aidl::vendor::nxp::emvco::NxpLedControl in_ledControl, ::aidl::vendor::nxp::emvco::NxpEmvcoStatus * emvco_status
)
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 15 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
Para sa Contact EMVCo, ang mga sumusunod na API ay maaaring gamitin sa itaas ng mga nauna.
· malapitTDA()
ndk::ScopedAStatus closeTDA ( int8_t in_tdaID, bool in_standBy )
Paglalarawan: Isinasara ang smart card na konektado sa TDA Parameters:
[sa] tdaID: id ng tda slot na isasara Mga pagbubukod:
EMVCO_STATUS_INVALID_PARAMETER, kung ibinigay ang tdaID ay hindi wasto EMVCO_STATUS_FEATURE_NOT_SUPPORTED kapag ang feature ng contact card ay hindi suportado. Ibinalik: walang bisa
· discoverTDA()
ndk::ScopedAStatus discoverTDA ( std::vector<::aidl::vendor::nxp::emvco::NxpEmvcoTDAInfo > * emvcoTDAInfo )
Paglalarawan: ibinibigay ng discoverTDA ang lahat ng detalye ng smart card na konektado sa TDA Parameters:
[in]*in_clientCallback: nagbibigay ng EMVCo state at TDA state bilang callback Exceptions:
EMVCO_STATUS_FEATURE_NOT_SUPPORTED kapag hindi suportado ang feature ng contact card. Ibinabalik:
Ibinabalik ng NxpEmvcoTDAInfo[] ang lahat ng smart card na konektado sa TDA. Ang wastong emvcoTDAInfo ay matatanggap lamang kapag ang status ay EMVCO_STATUS_OK
· openTDA()
ndk::ScopedAStatus openTDA ( int8_t in_tdaID, bool in_standBy, int8_t * out_connID )
Paglalarawan: binubuksan ang smart card na konektado sa TDA Parameters:
[sa]tdaID: tda id ng smart card na natanggap sa pamamagitan ng DiscoverTDA Exceptions:
EMVCO_STATUS_INVALID_PARAMETER, kung ibinigay ang tdaID ay in-valid EMVCO_STATUS_FEATURE_NOT_SUPPORTED kapag ang feature ng contact card ay hindi suportado. Ibinabalik: ibinabalik ng byte ang connection id ng smart card. natanggap lang ang valid connection id kapag ang status ay
EMVCO_STATUS_OK
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 16 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
· registerEMVCoCTListener()
ndk::ScopedAStatus registerEMVCoCTListener ( const std::shared_ptr<::aidl::vendor::nxp::emvco::INxpEmvcoTDACallback > & in_in_clientCallback,
bool * _aidl_return )
Paglalarawan: nirerehistro ang EMVCoCT callback sa EMVCo stack Parameter:
[in]*in_in_clientCallback: nagbibigay ng EMVCo state at TDA state bilang callback Returns:
walang bisa
· transceive()
ndk::ScopedAStatus transceive ( const std::vector< uint8_t > & in_cmd_data, std::vector< uint8_t > * out_rsp_data )
Paglalarawan: nagpapadala ng data ng application gamit ang Device-Controller at tumatanggap ng data ng tugon mula sa controller
Tandaan: dapat idagdag ang connection id ng TDA bilang bahagi ng header ng NCI. Mga Parameter:
[in]in_cmd_data: Application command data buffer Exceptions:
EMVCO_STATUS_INVALID_PARAMETER, kung ang ibinigay na connection id ay hindi wasto EMVCO_STATUS_FEATURE_NOT_SUPPORTED kapag ang feature ng contact card ay hindi suportado. Mga Pagbabalik: Natanggap ang APDU ng tugon mula sa controller. valid Response APDU na natatanggap lamang kapag ang status ay
EMVCO_STATUS_OK
Para sa EMVCo contactless, maaaring tawagan ang mga sumusunod na API:
· registerEMVCoEventListener()
ndk::ScopedAStatus registerEMVCoEventListener ( const std::shared_ptr< INxpEmvcoClientCallback > & in_clientCallback,
bool * _aidl_return )
Paglalarawan: Magrehistro ng EMVCo callback function upang matanggap ang mga kaganapan mula sa isang listener device. Tandaan: Ang function na ito ay dapat tumawag bago mag-invoke ng anumang iba pang api. Mga Parameter:
[in]*in_clientCallback: may EMVCo client HAL callback [in]*in_aidl_return: nagsasaad ng status ng rehistro bilang pagbabalik sa caller Returns: ang boolean ay nagbabalik ng true, kung nagtagumpay at nagbabalik ng false, kung nabigong magparehistro
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 17 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
· setEMVCoMode()
ndk::ScopedAStatus setEMVCoMode ( int8_t in_config, bool in_isStartEMVCo )
Paglalarawan: Sinisimulan ang EMVCo mode gamit ang Device-Controller. Kapag naitatag na ang Channel Data ng Application, maaaring ipadala ng Application simulan ang EMVCo mode gamit ang Device-Controller.
Mga Parameter: [in]in_config: EMVCo polling technologies ay na-configure sa pamamagitan ng parameter na ito [in]in_isStartEMVCo: tumutukoy upang simulan o ihinto ang EMVCo mode
Ibinalik: walang bisa
· stopRFDisovery()
ndk::ScopedAStatus stopRFDisovery ( ::aidl::vendor::nxp::emvco::NxpDeactivationType in_deactivationType,
::aidl::vendor::nxp::emvco::NxpEmvcoStatus * emvco_status )
Paglalarawan: ihihinto ang field ng RF at lumipat sa tinukoy na estado ng pag-deactivate. Mga Parameter:
[in]in_deactivationType: tumutukoy sa magiging estado pagkatapos ng RF deactivation Returns:
Ibinabalik ng NxpEmvcoStatus ang EMVCO_STATUS_OK kung matagumpay na naproseso ang command at ibinabalik ang EMVCO_STATUS_FAILED, kung hindi naproseso ang command dahil sa in-valid na estado. Naka-ON dapat ang EMVCo mode para matawag ang API na ito
· transceive()
ndk::ScopedAStatus transceive ( const std::vector< uint8_t > & in_data, int32_t * _aidl_return )
Paglalarawan: magpadala ng data ng application gamit ang Device-Controller. Tandaan: Kung sakaling mabigo ang pagpapadala ng data, ang Application ay muling mag-invoke ng open() bago gamitin ang API na ito. Mga Parameter:
[in]in_data: Nagbabalik ang buffer ng data ng application:
NxpEmvcoStatus na nagpapahiwatig ng katayuan ng pagpapatupad
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 18 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
5.5 Configuration files PN7160
Para sa PN7160, mayroong dalawang magkaibang configuration files. 1. libnfc-nci.conf 2. libnfc-nxp.conf
Tandaan: Configuration fileAng mga ibinigay ng NXP ay exampmga nauugnay sa NFC controller demo board. Ang mga ito files ay dapat na pinagtibay ayon sa target na pagsasama.
Configuration files ay dapat ilagay sa target na lokasyon (tingnan ang Talahanayan 9).
Talahanayan 9. Mga lokasyon ng pagsasaayos files Pangalan ng pagsasaayos file libnfc-nci.conf libnfc-nxp.conf
Lokasyon sa system ng device/etc vendor/etc
Upang makakuha ng higit pang impormasyon sa pagsasaayos files, tingnan ang ref.[9].
5.6 Configuration files PN7220
Para sa PN7220, mayroong limang magkakaibang configuration files.
1. libemvco-nxp.conf 2. libnfc-nci.conf 3. libnfc-nxp.conf 4. libnfc-nxp-eeprom.conf 5. libnfc-nxp-rfExt.conf
Tandaan: Configuration fileAng mga ibinigay ng NXP ay exampmga nauugnay sa NFC controller demo board. Ang mga ito files ay dapat na pinagtibay ayon sa target na pagsasama.
Configuration files ay kailangang ilagay sa target na lokasyon (tingnan ang Talahanayan 10).
Talahanayan 10. Mga lokasyon ng pagsasaayos files Pangalan ng pagsasaayos file libemvco-nxp.conf libnfc-nci.conf libnfc-nxp.conf libnfc-nxp-eeprom.conf libnfc-nxprfExt.conf
Lokasyon sa device vendor/etc system/etc vendor/etc vendor/etc vendor/etc
Upang makakuha ng higit pang impormasyon sa pagsasaayos files, tingnan ang ref.[9].
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 19 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
5.7 Aplikasyon ng DTA
Upang payagan ang pagsubok sa sertipikasyon ng NFC Forum, isang application ng pagsubok sa device ang ibinigay. Binubuo ito ng ilang bahagi sa iba't ibang mga layer ng Android, na dapat gawin at isama sa larawan ng Android. Upang itulak ang DTA application, ang mga sumusunod na hakbang ay dapat isagawa: 1. Kopyahin ang DTA apk sa isang lokasyon:
$cp -rf “out/target/product/evk_8mm/vendor/app/NXPDTA/NXPDATA.apk” /DTAPN7220
2. I-install ang apk: adb install NXPDTA.apk
Pagkatapos i-flash ang target, dapat na naroroon ang DTA application sa listahan ng mga naka-install na application. Sumangguni sa ref.[7] para sa isang detalyadong paglalarawan kung paano gamitin ang application.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 20 / 29
NXP Semiconductor
6 Mga pagdadaglat
Talahanayan 11.Mga pagdadaglat
Acronym
Paglalarawan
APDU
unit ng data ng protocol ng aplikasyon
AOSP
Android Open Source Project
DH
host ng device
HAL
layer ng abstraction ng hardware
FW
firmware
I2C
Inter-Integrated Circuit
LPCD
mas mababang powered card detection
NCI
Interface ng controller ng NFC
NFC
komunikasyong malapit sa larangan
MW
middleware
PLL
phase-lock ang loop
P2P
peer to peer
RF
dalas ng radyo
SDA
serial data
SMCU
secure na microcontroller
SW
software
AN14608
PN7160/PN7220 Android 15 porting guide
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 21 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
7 Mga Sanggunian
[1] GitHub repository PN7160 at PN7220 Common MW (link) [2] Web pahina PN7160 NFC Plug and Play Controller na may Pinagsamang Firmware at NCI Interface (link) [3] Web page PN7220 EMV L1 Sumusunod sa NFC Controller na may NCI Interface na Sumusuporta sa EMV at NFC
Forum Applications (link) [4] GitHub repository PN7160 at PN7220 kernel driver (link) [5] Resources AOSP r2 tag (link) [6] Mga tool sa pagkontrol ng Source Source (link) [7] Gabay sa gumagamit UG10068 PN7220 Gabay sa mabilisang pagsisimula (link) [8] GitHub repository PN7160 at PN7220 FW lokasyon (link) [9] Application note AN14431 PN7160/PN7220 configuration files (link)
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 22 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
8 Tandaan tungkol sa source code sa dokumento
ExampAng code na ipinapakita sa dokumentong ito ay may sumusunod na copyright at lisensya ng BSD-3-Clause:
Copyright 2025 NXP Redistribution at paggamit sa source at binary forms, mayroon man o walang pagbabago, ay pinahihintulutan sa kondisyon na ang mga sumusunod na kundisyon ay natutugunan:
1. Ang mga pamamahagi ng code ng mapagkukunan ay dapat panatilihin ang paunawa sa copyright, ang listahang ito ng mga kundisyon at ang sumusunod na disclaimer.
2. Ang mga muling pamamahagi sa binary form ay dapat na kopyahin ang nasa itaas na abiso sa copyright, ang listahang ito ng mga kundisyon at ang sumusunod na disclaimer sa dokumentasyon at/o iba pang mga materyales ay dapat ibigay kasama ng pamamahagi.
3. Ni ang pangalan ng may-ari ng copyright o ang mga pangalan ng mga nag-ambag nito ay maaaring gamitin upang i-endorso o i-promote ang mga produktong nagmula sa software na ito nang walang tiyak na paunang nakasulat na pahintulot.
ANG SOFTWARE NA ITO AY IBINIBIGAY NG MGA NAGHAWA NG COPYRIGHT AT MGA CONTRIBUTOR "AS IS" AT ANUMANG TAHAS O IPINAHIWATIG NA WARRANTY, KASAMA, NGUNIT HINDI LIMITADO SA, ANG MGA IPINAHIWATIG NA WARRANTY NG KALIDAD AT KAANGKUPAN PARA SA ISANG PARTIKULAR NA LAYUNIN. KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT ANANG MANANAGOT ANG NAGHAWAK NG COPYRIGHT O MGA CONTRIBUTOR PARA SA ANUMANG DIREKTA, DI DIREKTA, NAGSASAMA, ESPESYAL, HALIMBAWA, O KINAHIHINUNGANG MGA PINSALA (KASAMA, PERO HINDI LIMITADO SA, PAGBIBIGAY NG KAPALIT NA KALANDAAN, MGA SERBISYO; D, MGA SERBISYO; D. O BUSINESS INTERRUPTION) GAANO MAN ANG SANHI AT SA ANUMANG TEORYA NG PANANAGUTAN, KUNG SA KONTRATA MAN, MAHIGPIT NA PANANAGUTAN, O TORT (KASAMA ANG PAGPAPABAYA O IBA PA) NA NAGMULA SA ANUMANG PARAAN NG PAGGAMIT NG SOFTWARE NA ITO, KAHIT NA NABIBIGAY.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 23 / 29
NXP Semiconductor
9 Kasaysayan ng rebisyon
Talahanayan 12.Revision history Document ID
AN14608 v.1.0
Petsa ng paglabas 14 Abril 2025
AN14608
PN7160/PN7220 Android 15 porting guide
Paglalarawan · Paunang bersyon
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 24 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
Legal na impormasyon
Mga Kahulugan
Draft — Ang isang draft na status sa isang dokumento ay nagpapahiwatig na ang nilalaman ay nasa ilalim pa rin ng panloob na review at napapailalim sa pormal na pag-apruba, na maaaring magresulta sa mga pagbabago o pagdaragdag. Ang NXP Semiconductor ay hindi nagbibigay ng anumang mga representasyon o warranty tungkol sa katumpakan o pagkakumpleto ng impormasyong kasama sa isang draft na bersyon ng isang dokumento at walang pananagutan para sa mga kahihinatnan ng paggamit ng naturang impormasyon.
Mga Disclaimer
Limitadong warranty at pananagutan — Ang impormasyon sa dokumentong ito ay pinaniniwalaang tumpak at maaasahan. Gayunpaman, ang NXP Semiconductor ay hindi nagbibigay ng anumang mga representasyon o warranty, ipinahayag o ipinahiwatig, tungkol sa katumpakan o pagkakumpleto ng naturang impormasyon at walang pananagutan para sa mga kahihinatnan ng paggamit ng naturang impormasyon. Ang NXP Semiconductor ay walang pananagutan para sa nilalaman sa dokumentong ito kung ibinigay ng isang mapagkukunan ng impormasyon sa labas ng NXP Semiconductor. Sa anumang pagkakataon ay mananagot ang NXP Semiconductors para sa anumang hindi direkta, incidental, punitive, espesyal o kinahinatnang pinsala (kabilang ang – walang limitasyon ang mga nawalang kita, nawalang ipon, pagkagambala sa negosyo, mga gastos na may kaugnayan sa pagtanggal o pagpapalit ng anumang mga produkto o rework charges) man o hindi ang mga naturang pinsala ay batay sa tort (kabilang ang kapabayaan), warranty, paglabag sa kontrata o anumang iba pang legal na teorya. Sa kabila ng anumang pinsala na maaaring makuha ng customer sa anumang dahilan, ang pinagsama-samang at pinagsama-samang pananagutan ng NXP Semiconductor sa customer para sa mga produktong inilarawan dito ay dapat na limitado alinsunod sa Mga Tuntunin at kundisyon ng komersyal na pagbebenta ng NXP Semiconductors.
Karapatang gumawa ng mga pagbabago — Inilalaan ng NXP Semiconductor ang karapatang gumawa ng mga pagbabago sa impormasyong nai-publish sa dokumentong ito, kasama ang walang limitasyong mga detalye at paglalarawan ng produkto, anumang oras at walang abiso. Pinapalitan at pinapalitan ng dokumentong ito ang lahat ng impormasyong ibinigay bago ang paglalathala nito.
Kaangkupan para sa paggamit — Ang mga produkto ng NXP Semiconductors ay hindi idinisenyo, awtorisado o ginagarantiyahan na angkop para gamitin sa life support, life-critical o safety-critical system o equipment, o sa mga application kung saan ang pagkabigo o malfunction ng isang produkto ng NXP Semiconductors ay maaaring makatwirang inaasahan na magresulta sa personal na pinsala, kamatayan o matinding pag-aari o pinsala sa kapaligiran. Ang NXP Semiconductor at ang mga supplier nito ay hindi tumatanggap ng pananagutan para sa pagsasama at/o paggamit ng mga produkto ng NXP Semiconductor sa naturang kagamitan o mga aplikasyon at samakatuwid ang nasabing pagsasama at/o paggamit ay nasa sariling peligro ng customer.
Mga Aplikasyon — Ang mga application na inilalarawan dito para sa alinman sa mga produktong ito ay para sa mga layuning paglalarawan lamang. Ang NXP Semiconductor ay hindi gumagawa ng representasyon o warranty na ang mga naturang application ay magiging angkop para sa tinukoy na paggamit nang walang karagdagang pagsubok o pagbabago. Responsable ang mga customer para sa disenyo at pagpapatakbo ng kanilang mga application at produkto gamit ang mga produkto ng NXP Semiconductors, at walang pananagutan ang NXP Semiconductor para sa anumang tulong sa mga application o disenyo ng produkto ng customer. Nag-iisang responsibilidad ng customer na tukuyin kung ang produkto ng NXP Semiconductors ay angkop at akma para sa mga aplikasyon at produktong pinlano ng customer, gayundin para sa nakaplanong aplikasyon at paggamit ng (mga) customer ng third party. Dapat magbigay ang mga customer ng naaangkop na disenyo at mga pananggalang sa pagpapatakbo upang mabawasan ang mga panganib na nauugnay sa kanilang mga aplikasyon at produkto. Ang NXP Semiconductor ay hindi tumatanggap ng anumang pananagutan na may kaugnayan sa anumang default, pinsala, gastos o problema na nakabatay sa anumang kahinaan o default sa mga aplikasyon o produkto ng customer, o sa aplikasyon o paggamit ng (mga) customer ng third party. Responsable ang Customer sa paggawa ng lahat ng kinakailangang pagsubok para sa mga application at produkto ng customer gamit ang mga produkto ng NXP Semiconductors upang maiwasan ang default ng mga application at mga produkto o ng application o paggamit ng (mga) customer ng third party ng customer. Ang NXP ay hindi tumatanggap ng anumang pananagutan sa bagay na ito.
Mga tuntunin at kundisyon ng komersyal na pagbebenta — Ang mga produkto ng NXP Semiconductors ay ibinebenta napapailalim sa pangkalahatang mga tuntunin at kundisyon ng komersyal na pagbebenta, tulad ng inilathala sa https://www.nxp.com/profile/terms, maliban kung napagkasunduan sa isang wastong nakasulat na indibidwal na kasunduan. Kung sakaling ang isang indibidwal na kasunduan ay natapos lamang ang mga tuntunin at kundisyon ng kani-kanilang kasunduan ang dapat ilapat. Ang NXP Semiconductors ay tahasang tumututol sa paglalapat ng mga pangkalahatang tuntunin at kundisyon ng customer patungkol sa pagbili ng mga produkto ng NXP Semiconductors ng customer.
Kontrol sa pag-export — Ang dokumentong ito pati na rin ang (mga) item na inilalarawan dito ay maaaring sumailalim sa mga regulasyon ng kontrol sa pag-export. Maaaring mangailangan ng paunang pahintulot ang pag-export mula sa mga karampatang awtoridad.
Kaangkupan para sa paggamit sa mga produktong hindi kwalipikadong automotive — Maliban kung ang dokumentong ito ay malinaw na nagsasaad na ang partikular na produktong NXP Semiconductors na ito ay automotive qualified, ang produkto ay hindi angkop para sa automotive na paggamit. Hindi ito qualified o nasubok alinsunod sa automotive testing o application requirements. Ang NXP Semiconductor ay hindi tumatanggap ng pananagutan para sa pagsasama at/o paggamit ng mga hindi automotive na kwalipikadong produkto sa automotive na kagamitan o mga application. Kung sakaling gamitin ng customer ang produkto para sa pagdidisenyo at paggamit sa mga automotive na application sa automotive na mga detalye at pamantayan, ang customer (a) ay dapat gumamit ng produkto nang walang NXP Semiconductor' warranty ng produkto para sa mga naturang automotive na application, paggamit at mga detalye, at ( b) sa tuwing gagamitin ng customer ang produkto para sa mga automotive na application na lampas sa mga detalye ng NXP Semiconductor ang naturang paggamit ay nasa sariling peligro lamang ng customer, at (c) ganap na binabayaran ng customer ang NXP Semiconductor para sa anumang pananagutan, pinsala o nabigong paghahabol sa produkto na nagreresulta mula sa disenyo at paggamit ng customer ng ang produkto para sa mga automotive application na lampas sa karaniwang warranty ng NXP Semiconductor at mga detalye ng produkto ng NXP Semiconductor.
Mga publikasyong HTML — Isang bersyon ng HTML, kung magagamit, ng dokumentong ito ay ibinigay bilang paggalang. Ang tiyak na impormasyon ay nakapaloob sa naaangkop na dokumento sa format na PDF. Kung mayroong pagkakaiba sa pagitan ng HTML na dokumento at PDF na dokumento, ang PDF na dokumento ay may priyoridad.
Mga Pagsasalin — Ang isang hindi Ingles (naisalin) na bersyon ng isang dokumento, kasama ang legal na impormasyon sa dokumentong iyon, ay para sa sanggunian lamang. Ang Ingles na bersyon ay mananaig sa kaso ng anumang pagkakaiba sa pagitan ng isinalin at Ingles na bersyon.
Seguridad — Nauunawaan ng Customer na ang lahat ng produkto ng NXP ay maaaring sumailalim sa hindi natukoy na mga kahinaan o maaaring suportahan ang mga itinatag na pamantayan sa seguridad o mga detalye na may alam na mga limitasyon. Responsable ang Customer para sa disenyo at pagpapatakbo ng mga application at produkto nito sa kabuuan ng kanilang mga lifecycle upang mabawasan ang epekto ng mga kahinaang ito sa mga application at produkto ng customer. Ang responsibilidad ng customer ay umaabot din sa iba pang bukas at/o pagmamay-ari na teknolohiya na sinusuportahan ng mga produkto ng NXP para gamitin sa mga aplikasyon ng customer. Ang NXP ay hindi tumatanggap ng pananagutan para sa anumang kahinaan. Dapat na regular na suriin ng customer ang mga update sa seguridad mula sa NXP at mag-follow up nang naaangkop. Ang customer ay dapat pumili ng mga produkto na may mga tampok na panseguridad na pinakamahusay na nakakatugon sa mga panuntunan, regulasyon, at pamantayan ng nilalayon na aplikasyon at gagawa ng mga pinakahuling desisyon sa disenyo patungkol sa mga produkto nito at tanging responsable para sa pagsunod sa lahat ng legal, regulasyon, at mga kinakailangan na nauugnay sa seguridad tungkol sa mga produkto nito, anuman ang ng anumang impormasyon o suporta na maaaring ibigay ng NXP. Ang NXP ay mayroong Product Security Incident Response Team (PSIRT) (maaabot sa PSIRT@nxp.com) na namamahala sa pagsisiyasat, pag-uulat, at pagpapalabas ng solusyon sa mga kahinaan sa seguridad ng mga produkto ng NXP.
NXP BV — Ang NXP BV ay hindi isang operating company at hindi ito namamahagi o nagbebenta ng mga produkto.
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 25 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
Mga lisensya
Pagbili ng mga NXP IC na may teknolohiyang NFC — Pagbili ng isang NXP Semiconductors IC na sumusunod sa isa sa mga pamantayan ng Near Field Communication (NFC) na ISO/IEC 18092 at ISO/IEC 21481 ay hindi naghahatid ng ipinahiwatig na lisensya sa ilalim ng anumang karapatan sa patent na nilalabag ng pagpapatupad ng alinman sa mga pamantayang iyon. Ang pagbili ng NXP Semiconductors IC ay hindi kasama ang isang lisensya sa anumang NXP patent (o iba pang IP right) na sumasaklaw sa mga kumbinasyon ng mga produktong iyon sa iba pang mga produkto, hardware man o software.
Mga trademark
Paunawa: Ang lahat ng na-refer na brand, pangalan ng produkto, pangalan ng serbisyo, at trademark ay pag-aari ng kani-kanilang mga may-ari. NXP — wordmark at logo ay mga trademark ng NXP BV I2C-bus — logo ay isang trademark ng NXP BV
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 26 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
Mga mesa
Tab. 1. Tab. 2. Tab. 3. Tab. 4. Tab. 5.
Tab. 6.
GitHub tags paliwanag ………………………3 Mga hindi sinusuportahang feature ………………………………….6 Branch para sa partikular na bersyon ng Android …………………….9 Clone repository …………………………………………… 9 Clone repository para sa mga pansubok na application at suporta sa TDA ……………………………………………. 10 Maglagay ng mga patch ……………………………………………..11
Tab. 7. Tab. 8. Tab. 9. Tab. 10. Tab. 11. Tab. 12.
Pinagsama-sama files na may target ng device ………………………13 Lokasyon ng patch sa NFC Stack ……………………… 14 Mga lokasyon ng configuration files ……………………19 Mga lokasyon ng pagsasaayos files ………………………19 Mga pagdadaglat ……………………………………………21 Kasaysayan ng rebisyon ……………………………………………..24
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 27 / 29
NXP Semiconductor
AN14608
PN7160/PN7220 Android 15 porting guide
Mga figure
Fig. 1. PN7220 Android NFC stack ……………………………… 4 Fig. 2. PN7160 Android MW stack ……………………………….5
AN14608
Tala ng aplikasyon
Ang lahat ng impormasyong ibinigay sa dokumentong ito ay napapailalim sa mga legal na disclaimer.
Rev. 1.0 — 14 Abril 2025
© 2025 NXP BV Lahat ng karapatan ay nakalaan.
Feedback sa dokumento 28 / 29
NXP Semiconductor
Mga nilalaman
1
Panimula ……………………………………………………… 2
2
Mahalagang paunawa ……………………………………………..3
3
Android MW stack …………………………………. 4
4
Kernel driver ……………………………………………. 7
4.1
Mga detalye ng driver ……………………………………………7
4.2
Pagkuha ng PN7160 driver source code ………….7
4.3
Pagkuha ng PN7220 driver source code ………….8
4.4
Pagbuo ng driver …………………………………………….8
5
AOSP adaptation …………………………………………… 9
5.1
AOSP build …………………………………………….. 9
5.2
Naka-on ang mga Android NFC application at library
ang mga target na aparato ………………………………….. 13
5.3
Block mapping ……………………………………………. 14
5.4
EMVCo API …………………………………………….. 14
5.5
Configuration files PN7160 ……………………… 19
5.6
Configuration files PN7220 ……………………… 19
5.7
Aplikasyon ng DTA…………………………………………20
6
Mga pagdadaglat ……………………………………………. 21
7
Mga Sanggunian ……………………………………………22
8
Tandaan tungkol sa source code sa
dokumento ……………………………………………..23
9
Kasaysayan ng rebisyon ……………………………………………24
Legal na impormasyon ………………………………….25
AN14608
PN7160/PN7220 Android 15 porting guide
Mangyaring magkaroon ng kamalayan na ang mahahalagang paunawa tungkol sa dokumentong ito at ang (mga) produkto na inilarawan dito, ay kasama sa seksyong 'Legal na impormasyon'.
© 2025 NXP BV
Para sa karagdagang impormasyon, mangyaring bisitahin ang: https://www.nxp.com
Lahat ng karapatan ay nakalaan.
Feedback sa dokumento Petsa ng paglabas: 14 Abril 2025 Tagatukoy ng dokumento: AN14608
Mga Dokumento / Mga Mapagkukunan
![]() |
NXP AN14608 Based NFC Controllers [pdf] Gabay sa Gumagamit PN7160, PN7220, AN14608 Based NFC Controllers, AN14608, Based NFC Controllers, NFC Controllers |
