Porting PN7160 to Android 14 on i.MX8M Nano board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Porting PN7160 to Android 14 on i.MX8M Nano board

Porting PN7160 to Android 14 on i.MX8M Nano board

Recently NXP released a combined NCI stack for both PN7160 and Pn7220. The newest Android 14 porting guide AN14430 brings the two (PN7160 and PN7220) together.   The pros are it is easy to maintain, and faster integration and switching between products.  The cons are when you are using PN7160, you will see for APIs for PN7220, including EMVCo and TDA API. When you are using PN7220 also APIs for PN7160 can be seen (card emulation on PN7160).  This article is a step-by-step guide on how to build AOSP for PN7160 with the new combined NCI stack.

 

 1  Hardware setup

 

i.MX 8M Nano Evaluation Kit | NXP Semiconductors

8mn.jpg 

OM27160| Development Kits for PN7160 Plug’n Play NFC Controller | NXP Semiconductors

 

7160.jpg

 

The connection between i.MX8M Nano and PN7160 OM29110ARD-B

i.MX8M Nano EVK

pin

PN7160

 OM29110ARD-B

3.3V

J1003-1

VDD(3.3v)

J1-4

5V

J1003-2

VBAT (5v)

J1-5 

SDA.1

J1003-3

SDA

J2-2

SCL.1

J1003-5

SCL

J2-1

GPIO.25

J1003-37

IRQ

J2-10

GPIO.28

J1003-38

REQ

J4-2

GND

J1003-39

GND

J1-6

GPIO.29

J1003-40

VEN

J4-1

 

 

2    Get AOSP for i.MX Nano

Follow Android porting guide.

https://www.nxp.com/docs/en/user-guide/ANDROID_USERS_GUIDE.pdf

.2.1  Download i.MX Android BSP (Android14.0.0_1.2.0) from below link.

 Android OS for i.MX Applications Processors | NXP Semiconductors

 
danielchen_23-1738394964705.png

 

You will get the package imx-android-14.0.0_1.2.0.tar.gz

 

 .2.2 Decompressing android BSP

# tar -xvzf imx-android-1c4.0.0_1.2.0.tar.gz

 When decompression is done, imx-android-14.0.0_1.2.0 subdirectory is created, in the folder, we can find imx_android_setup.sh, which is script for downloading android source code and commands for patching i.MX android bsp to AOSP.

 

.2.3 Downloading Android source code

# source ./imx-android-14.0.0_1.2.0/imx_android_setup.sh

 The folder structure after AOSP downloading complete.

 

danielchen_24-1738395033337.png

 

 

 3     AOSP Adaptation

NXP adds modifications to the AOSP code. Next, we add them step by step according to AN14430, move the content of them into correct folder in AOSP code base.

 

danielchen_1-1732538499804.png

 

.3.1  nxp_nci_hal_nfc

#git clone "https://github.com/nxp-nfc-infra/nxp_nci_hal_nfc.git"

#cd nxp_nci_hal_nfc

#git checkout br_ar_14_comm_infra_dev

#cp -rf *  ../android_build/packages/apps/Nfc/

#cd ..

danielchen_9-1738393932366.png

 

 

.3.2 nxp_nci_hal_libnfc-nci

#git clone "https://github.com/nxp-nfc-infra/nxp_nci_hal_libnfc-nci.git"

#cd nxp_nci_hal_libnfc-nci

#git checkout br_ar_14_comm_infra_dev

#cp -rf *  ../android_build/system/nfc/

#cd ..

danielchen_10-1738393932389.png

 

 

.3.3 nfcandroid_nfc_hidlimpl

#git clone "https://github.com/nxp-nfc-infra/nfcandroid_nfc_hidlimpl.git"

#cd nfcandroid_nfc_hidlimpl

#git checkout br_ar_14_comm_infra_dev

#cp -rf *  ../android_build/hardware/nxp/nfc

#cd ..

 

danielchen_11-1738393932410.png

 

 

.3.4 nfcandroid_frameworks

#git clone "https://github.com/nxp-nfc-infra/nfcandroid_frameworks.git"

#cd nfcandroid_frameworks

#git checkout br_ar_14_comm_infra_dev

#mkdir ../android_build/vendor/nxp/frameworks

#cp -rf * ../android_build/vendor/nxp/frameworks

#cd ..

danielchen_12-1738393932434.png

 

 

.3.5 nfcandroid_emvco_aidlimpl

#git clone "https://github.com/nxp-nfc-infra/nfcandroid_emvco_aidlimpl.git"

#cd nfcandroid_emvco_aidlimpl

#git checkout br_ar_14_comm_infra_dev

#mkdir  ../android_build/hardware/nxp/emvco

#cp -rf *  ../android_build/hardware/nxp/emvco

#cd ..

danielchen_13-1738393932472.png

 

 

.3.6   nfcandroid_platform_reference

#git clone "https://github.com/nxp-nfc-infra/nfcandroid_platform_reference.git"

#cd nfcandroid_platform_reference

#git checkout br_ar_14_comm_infra_dev

#cp -rf vendor/nxp/*   ../android_build/vendor/nxp/

#cd ..

danielchen_14-1738393932494.png

 

 

.3.7 nfcandroid_infra_test_apps

# git clone https://github.com/nxp-nfc-infra/nfcandroid_infra_test_apps.git

# cd nfcandroid_infra_test_apps/

# git checkout br_ar_14_comm_infra_dev

# cd test_apps/

# cp -rf SMCU_Switch/  ../../android_build/packages/apps/

# cp -rf EMVCoModeSwitchApp/  ../../android_build/packages/apps/Nfc/

# cd ../..

danielchen_15-1738393932522.png

 

 

.3.8  nfcandroid_infra_comm_libs

#git clone "https://github.com/nxp-nfc-infra/nfcandroid_infra_comm_libs.git"

#cd nfcandroid_infra_comm_libs

#git checkout br_ar_14_comm_infra_dev

#cp -rf nfc_tda/  ../android_build/system/

#cp -rf emvco_tda/ emvco_tda_test/  ../android_build/hardware/nxp/emvco/

#cp -rf NfcTdaTestApp/  ../android_build/packages/apps/Nfc/

#cd ..

danielchen_16-1738393932548.png

 

 

After AOSP adaptation, folder is like below.

danielchen_17-1738393932554.png

 

 

 

 4   Apply AOSP patches

please see AN14430, page10

 danielchen_2-1732538683728.png

# patch -p1 <  ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_build_bazel.patch

#patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_build_make.patch

# patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_build_soong.patch

# patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_frameworks_base.patch

#patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_frameworks_native.patch

#patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_frameworks_proto_logging.patch

#patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_system_logging.patch

#patch -p1 < ../../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_packages_modules_Bluetooth.patch

danielchen_4-1732538759932.png

 

 5    Adding the driver support.

.5.1  get nfcandroid_platform_drivers from github

#git clone "https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git"

#cd nfcandroid_platform_drivers

#git checkout br_ar_14_comm_infra_dev

#cd ..

danielchen_22-1738394453607.png

 

.5.2Create a folder named pn7160 under android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc

 

danielchen_5-1732538861565.png

 

Copy below kernel drivers file from “nfcandroid_platform_drivers/drivers/pn7160/nfc/nfc “ into  “android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc/pn7160/”

Common.c  common.h   i2c_drv.c  i2c_drv.h spi_drv.h  spi_drv.c  Makefile  Kconfig

Result of copying:

danielchen_6-1732538987249.png

 

 

.5.3 Modify makefile

Replace Makefile default code with following code,  only add i2c for simplifying.

 

danielchen_7-1732539043196.png

 

 Now we need to add pn7160 Makefile and Kconfig to main Makefile and Kconfig

 

danielchen_8-1732539089136.png

 

Makefile

 

danielchen_9-1732539136098.png

 

Kconfig

 

danielchen_10-1732539167244.png

 

6   Adding device tree

Device tree is important since we need to tell our controller which pins we want to use for communication (this is always different between host controllers)

The device tree need to be added into:

“vendor/nxp-opensource/kernel_imx/arch/arm64/boot/dts/freescale”

Create file with name “imx8mn-evk-pn7160.dts”, open the file and add following lines:

 

danielchen_11-1732539249939.png

 

 

Next task is to add .dts file into Makefile in the following location:

. vendor/nxp-opensource/kernel_imx/arch/arm64/boot/dts/freescale

Open Makefile and add:

danielchen_12-1732539303166.png

 

Final step is to add NXP_NCI_I2C as module in following file:

. vendor/nxp-opensource/kernel_imx/arch/arm64/configs/imx8mn_gki.fragment

Open imx8mn_gki.fragment and add:

 

danielchen_13-1732539339523.png

 

7    Add device specific changes

         The location of the device specific changes in under folder

           . device/nxp/imx8m/evk_8mn

7.1 BoardConfig.mk

 danielchen_14-1732539411816.png

  danielchen_15-1732539466661.png

 danielchen_16-1732539510369.png

 

7.2 ShareBoardConfig.mk

danielchen_17-1732539566160.png

 

danielchen_19-1732539662019.png

 

 7.3 compatibility_matrix.xml

danielchen_20-1732539715434.png

 

 7.4 device_framework_matrix.xml

 

danielchen_21-1732539759365.png

 

 7.5 evk_8mn.mk

Add .mk files to specific device.mk and some product package directly to device.mk file so everything is build together with Android.

 danielchen_22-1732539833373.png

danielchen_23-1732539859881.png

 

 

7.6 init.rc

 

danielchen_24-1732539894988.png

 

 

7.7manifest.xml

danielchen_25-1732539940498.png

 

 

7.8 ueventd.nxp.rc

       Add permissions for drivers

 danielchen_26-1732540013940.png

 

 8    Additional change in compatibility matrix

Put changes into hardware/interfaces/compatibility_matrices

Compatibility_matrix_8.xml

 

danielchen_27-1732540098909.png

 

 9    add changes into NXP mk files

. android_build/vendor/nxp/nfc/device-nfc.mk

 

danielchen_28-1732540184997.png

 

 

danielchen_29-1732540215144.png

 

 .android_build/vendor/nxp/emvco/device-emvco.mk

 danielchen_30-1732540257962.png

 10    Build Android

First , the source build/envsetup.sh command is executed to import shell functions that are defined in ${MY_ANDROID}/build/envsetup.sh.

Then, the lunch evk_8mn-userdebug command is executed to set up the build configuration.

#source build/envsetup.sh

#lunch evk_8mn-userdebug

 

  Possible build failures

danielchen_31-1732540449014.png

 

This error resulted from the incompatibility of file Kconfig, please use dos2unix command to fix it.

danielchen_32-1732540505205.png

 

 For some other redefine issues, please do the following.

Go into file hardware/nxp/nfc/snxx/

Name Android.bp to _Android.bp

Go into hardware/nxp/nfc/snxx/halimpl/power-tracker/

Name Android.bp to _Android.bp

Go into file hardware/nxp/secure_element/snxxx/aidl/

Name Android.bp to _Android.bp

Remove : pn8xx from hardware/nxp/

Remove : frameworks/base/core/res/res/values/config.xml.orig

 

11   Download build and flash images

 

Go into “android_build/out/target/product/evk_8mn” and download all files without folders .

When downloaded, open following two files and add:

.in fastboot_imx_flashall.bat

 danielchen_34-1732540724837.png

.in uuu_imx_android_flash.bat

 danielchen_35-1732540776703.png

Change switches on i.MX8M Nano

danielchen_36-1732540836787.png

.    Flashing Android: when flashing Android images

.    Running Android:  when images are flashed, put switches to Running Android and Android OS will start.

 

Flash images

.  Put i.MX8 to “Flash Android”

.  Open a PowerShell as admin in the location where download images are

.  Running following command

.  ./uuu_imx_android_flash.bat -f imx8mn -a -d pn7160

danielchen_37-1732540883865.png

 

12  Firmware update

 

Download the FW from Github

Open terminal at the FW location

Run the following commands

 

  • • adb push libpn7160_fw.so vendor/lib64/libpn7160_fw.so (for 64-bit version) and adb

                 push libpn7160_fw.so vendor/lib/libpn7160_fw.so (for 32-bit version)

  • • adb shell svc nfc disable
  • • adb shell svc nfc enable

  

danielchen_38-1732540976369.png

 

 

References:

 

PN7160/PN7220 – Android 14 porting guide

UG10156 : Android User’s Guide

 Build Andriod image for PN7160 on i.MX8M Nano:  Andraz


 

Labels (1)
%3CLINGO-SUB%20id%3D%22lingo-sub-2001159%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3EPorting%20PN7160%20to%20Android%2014%20on%20i.MX8M%20Nano%20board%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2001159%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3E%0A%3CP%3ERecently%20NXP%20released%20a%20combined%20NCI%20stack%20for%20both%20PN7160%20and%20Pn7220.%20The%20newest%20Android%2014%20porting%20guide%20AN14430%20brings%20the%20two%20(PN7160%20and%20PN7220)%20together.%26nbsp%3B%20%26nbsp%3BThe%20pros%20are%20it%20is%20easy%20to%20maintain%2C%20and%20faster%20integration%20and%20switching%20between%20products.%26nbsp%3B%20The%20cons%20are%20when%20you%20are%20using%20PN7160%2C%20you%20will%20see%20for%20APIs%20for%20PN7220%2C%20including%20EMVCo%20and%20TDA%20API.%20When%20you%20are%20using%20PN7220%20also%20APIs%20for%20PN7160%20can%20be%20seen%20(card%20emulation%20on%20PN7160).%26nbsp%3B%20This%20article%20is%20a%20step-by-step%20guide%20on%20how%20to%20build%20AOSP%20for%20PN7160%20with%20the%20new%20combined%20NCI%20stack.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E%26nbsp%3B%3CSTRONG%3E1%20%26nbsp%3BHardware%20setup%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CDIV%20id%3D%22tinyMceEditordanielchen_0%22%20class%3D%22mceNonEditable%20lia-copypaste-placeholder%22%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdesign%2Fdesign-center%2Fdevelopment-boards-and-designs%2F8MNANOD4-EVK%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ei.MX%208M%20Nano%20Evaluation%20Kit%20%7C%20NXP%20Semiconductors%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%228mn.jpg%22%20style%3D%22width%3A%20529px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%228mn.jpg%22%20style%3D%22width%3A%20529px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322088i71DE1C2D4DD72CDA%2Fimage-dimensions%2F529x556%3Fv%3Dv2%22%20width%3D%22529%22%20height%3D%22556%22%20role%3D%22button%22%20title%3D%228mn.jpg%22%20alt%3D%228mn.jpg%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdesign%2Fdesign-center%2Fdevelopment-boards-and-designs%2FPN7160-EVK%3F_gl%3D1*1pn6c8u*_ga*MTQxMTg4MTM1NC4xNzIyNjU2NDY4*_ga_WM5LE0KMSH*MTczODI0NjU5MS43NTMuMS4xNzM4MjQ4NDE2LjAuMC4w%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EOM27160%7C%20Development%20Kits%20for%20PN7160%20Plug%E2%80%99n%20Play%20NFC%20Controller%20%7C%20NXP%20Semiconductors%3C%2FA%3E%3C%2FP%3E%0A%3CDIV%20id%3D%22tinyMceEditordanielchen_8%22%20class%3D%22mceNonEditable%20lia-copypaste-placeholder%22%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%227160.jpg%22%20style%3D%22width%3A%20423px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%227160.jpg%22%20style%3D%22width%3A%20423px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322089i379108F5E37EE431%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%227160.jpg%22%20alt%3D%227160.jpg%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EThe%20connection%20between%20i.MX8M%20Nano%20and%20PN7160%20OM29110ARD-B%3C%2FP%3E%0A%3CTABLE%3E%0A%3CTBODY%3E%0A%3CTR%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3Ei.MX8M%20Nano%20EVK%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3Epin%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EPN7160%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3E%26nbsp%3BOM29110ARD-B%3C%2FP%3E%0A%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3E3.3V%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1003-1%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EVDD(3.3v)%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1-4%3C%2FP%3E%0A%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3E5V%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1003-2%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EVBAT%20(5v)%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1-5%26nbsp%3B%3C%2FP%3E%0A%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3ESDA.1%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1003-3%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3ESDA%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ2-2%3C%2FP%3E%0A%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3ESCL.1%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1003-5%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3ESCL%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ2-1%3C%2FP%3E%0A%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EGPIO.25%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1003-37%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EIRQ%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ2-10%3C%2FP%3E%0A%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EGPIO.28%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1003-38%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EREQ%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ4-2%3C%2FP%3E%0A%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EGND%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1003-39%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EGND%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1-6%3C%2FP%3E%0A%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EGPIO.29%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ1003-40%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EVEN%3C%2FP%3E%0A%3C%2FTD%3E%0A%3CTD%20width%3D%22156%22%3E%0A%3CP%3EJ4-1%3C%2FP%3E%0A%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3C%2FTBODY%3E%0A%3C%2FTABLE%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E%3CSTRONG%3E2%26nbsp%3B%20%26nbsp%3B%20Get%20AOSP%20for%20i.MX%20Nano%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3EFollow%20Android%20porting%20guide.%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fuser-guide%2FANDROID_USERS_GUIDE.pdf%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fuser-guide%2FANDROID_USERS_GUIDE.pdf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E.2.1%26nbsp%3B%20Download%20i.MX%20Android%20BSP%20(Android14.0.0_1.2.0)%20from%20below%20link.%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdesign%2Fdesign-center%2Fsoftware%2Fembedded-software%2Fi-mx-software%2Fandroid-os-for-i-mx-applications-processors%3AIMXANDROID%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EAndroid%20OS%20for%20i.MX%20Applications%20Processors%20%7C%20NXP%20Semiconductors%3C%2FA%3E%3C%2FP%3E%0A%3CDIV%20id%3D%22tinyMceEditordanielchen_6%22%20class%3D%22mceNonEditable%20lia-copypaste-placeholder%22%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_23-1738394964705.png%22%20style%3D%22width%3A%20588px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_23-1738394964705.png%22%20style%3D%22width%3A%20588px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322107i9384A28C358E83DE%2Fimage-dimensions%2F588x115%3Fv%3Dv2%22%20width%3D%22588%22%20height%3D%22115%22%20role%3D%22button%22%20title%3D%22danielchen_23-1738394964705.png%22%20alt%3D%22danielchen_23-1738394964705.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3EYou%20will%20get%20the%20package%20imx-android-14.0.0_1.2.0.tar.gz%3C%2FP%3E%0A%3CDIV%20id%3D%22tinyMceEditordanielchen_7%22%20class%3D%22mceNonEditable%20lia-copypaste-placeholder%22%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E.2.2%20Decompressing%20android%20BSP%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%23%20tar%20-xvzf%20imx-android-1c4.0.0_1.2.0.tar.gz%3C%2FP%3E%0A%3CP%3E%26nbsp%3BWhen%20decompression%20is%20done%2C%20imx-android-14.0.0_1.2.0%20subdirectory%20is%20created%2C%20in%20the%20folder%2C%20we%20can%20find%20imx_android_setup.sh%2C%20which%20is%20script%20for%20downloading%20android%20source%20code%20and%20commands%20for%20patching%20i.MX%20android%20bsp%20to%20AOSP.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E.2.3%20Downloading%20Android%20source%20code%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%23%20source%20.%2Fimx-android-14.0.0_1.2.0%2Fimx_android_setup.sh%3C%2FP%3E%0A%3CP%3E%26nbsp%3BThe%20folder%20structure%20after%20AOSP%20downloading%20complete.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_24-1738395033337.png%22%20style%3D%22width%3A%20673px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_24-1738395033337.png%22%20style%3D%22width%3A%20673px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322108i4FBFBB45B88902D0%2Fimage-dimensions%2F673x34%3Fv%3Dv2%22%20width%3D%22673%22%20height%3D%2234%22%20role%3D%22button%22%20title%3D%22danielchen_24-1738395033337.png%22%20alt%3D%22danielchen_24-1738395033337.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20color%3D%22%23000000%22%3E%3CFONT%20size%3D%226%22%3E%3CSTRONG%3E%26nbsp%3B3%3CFONT%20size%3D%226%22%3E%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FFONT%3E%3CSPAN%3E%26nbsp%3BAOSP%20Adaptation%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3ENXP%20adds%20modifications%20to%20the%20AOSP%20code.%20Next%2C%20we%20add%20them%20step%20by%20step%20according%20to%20AN14430%2C%20move%20the%20content%20of%20them%20into%20correct%20folder%20in%20AOSP%20code%20base.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_1-1732538499804.png%22%20style%3D%22width%3A%20697px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_1-1732538499804.png%22%20style%3D%22width%3A%20697px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312332i9B1090E10C4F0555%2Fimage-dimensions%2F697x244%3Fv%3Dv2%22%20width%3D%22697%22%20height%3D%22244%22%20role%3D%22button%22%20title%3D%22danielchen_1-1732538499804.png%22%20alt%3D%22danielchen_1-1732538499804.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E.3.1%26nbsp%3B%20nxp_nci_hal_nfc%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%23git%20clone%20%22%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnxp_nci_hal_nfc.git%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnxp_nci_hal_nfc.git%3C%2FA%3E%22%3C%2FP%3E%0A%3CP%3E%23cd%20nxp_nci_hal_nfc%3C%2FP%3E%0A%3CP%3E%23git%20checkout%20br_ar_14_comm_infra_dev%3C%2FP%3E%0A%3CP%3E%23cp%20-rf%20*%26nbsp%3B%20..%2Fandroid_build%2Fpackages%2Fapps%2FNfc%2F%3C%2FP%3E%0A%3CP%3E%23cd%20..%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_9-1738393932366.png%22%20style%3D%22width%3A%20652px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_9-1738393932366.png%22%20style%3D%22width%3A%20652px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322093i5459C15870327A79%2Fimage-dimensions%2F652x184%3Fv%3Dv2%22%20width%3D%22652%22%20height%3D%22184%22%20role%3D%22button%22%20title%3D%22danielchen_9-1738393932366.png%22%20alt%3D%22danielchen_9-1738393932366.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E.3.2%20nxp_nci_hal_libnfc-nci%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%23git%20clone%20%22%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnxp_nci_hal_libnfc-nci.git%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnxp_nci_hal_libnfc-nci.git%3C%2FA%3E%22%3C%2FP%3E%0A%3CP%3E%23cd%20nxp_nci_hal_libnfc-nci%3C%2FP%3E%0A%3CP%3E%23git%20checkout%20br_ar_14_comm_infra_dev%3C%2FP%3E%0A%3CP%3E%23cp%20-rf%20*%26nbsp%3B%20..%2Fandroid_build%2Fsystem%2Fnfc%2F%3C%2FP%3E%0A%3CP%3E%23cd%20..%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_10-1738393932389.png%22%20style%3D%22width%3A%20679px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_10-1738393932389.png%22%20style%3D%22width%3A%20679px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322094iC7E82276BC066118%2Fimage-dimensions%2F679x180%3Fv%3Dv2%22%20width%3D%22679%22%20height%3D%22180%22%20role%3D%22button%22%20title%3D%22danielchen_10-1738393932389.png%22%20alt%3D%22danielchen_10-1738393932389.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E.3.3%20nfcandroid_nfc_hidlimpl%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%23git%20clone%20%22%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_nfc_hidlimpl.git%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_nfc_hidlimpl.git%3C%2FA%3E%22%3C%2FP%3E%0A%3CP%3E%23cd%20nfcandroid_nfc_hidlimpl%3C%2FP%3E%0A%3CP%3E%23git%20checkout%20br_ar_14_comm_infra_dev%3C%2FP%3E%0A%3CP%3E%23cp%20-rf%20*%26nbsp%3B%20..%2Fandroid_build%2Fhardware%2Fnxp%2Fnfc%3C%2FP%3E%0A%3CP%3E%23cd%20..%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_11-1738393932410.png%22%20style%3D%22width%3A%20665px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_11-1738393932410.png%22%20style%3D%22width%3A%20665px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322095i7C617A3742113E77%2Fimage-dimensions%2F665x178%3Fv%3Dv2%22%20width%3D%22665%22%20height%3D%22178%22%20role%3D%22button%22%20title%3D%22danielchen_11-1738393932410.png%22%20alt%3D%22danielchen_11-1738393932410.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E.3.4%20nfcandroid_frameworks%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%23git%20clone%20%22%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_frameworks.git%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_frameworks.git%3C%2FA%3E%22%3C%2FP%3E%0A%3CP%3E%23cd%20nfcandroid_frameworks%3C%2FP%3E%0A%3CP%3E%23git%20checkout%20br_ar_14_comm_infra_dev%3C%2FP%3E%0A%3CP%3E%23mkdir%20..%2Fandroid_build%2Fvendor%2Fnxp%2Fframeworks%3C%2FP%3E%0A%3CP%3E%23cp%20-rf%20*%20..%2Fandroid_build%2Fvendor%2Fnxp%2Fframeworks%3C%2FP%3E%0A%3CP%3E%23cd%20..%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_12-1738393932434.png%22%20style%3D%22width%3A%20693px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_12-1738393932434.png%22%20style%3D%22width%3A%20693px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322096iE3A0ED25F7E7C5EC%2Fimage-dimensions%2F693x208%3Fv%3Dv2%22%20width%3D%22693%22%20height%3D%22208%22%20role%3D%22button%22%20title%3D%22danielchen_12-1738393932434.png%22%20alt%3D%22danielchen_12-1738393932434.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E.3.5%20nfcandroid_emvco_aidlimpl%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%23git%20clone%20%22%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_emvco_aidlimpl.git%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_emvco_aidlimpl.git%3C%2FA%3E%22%3C%2FP%3E%0A%3CP%3E%23cd%20nfcandroid_emvco_aidlimpl%3C%2FP%3E%0A%3CP%3E%23git%20checkout%20br_ar_14_comm_infra_dev%3C%2FP%3E%0A%3CP%3E%23mkdir%26nbsp%3B%20..%2Fandroid_build%2Fhardware%2Fnxp%2Femvco%3C%2FP%3E%0A%3CP%3E%23cp%20-rf%20*%26nbsp%3B%20..%2Fandroid_build%2Fhardware%2Fnxp%2Femvco%3C%2FP%3E%0A%3CP%3E%23cd%20..%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_13-1738393932472.png%22%20style%3D%22width%3A%20616px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_13-1738393932472.png%22%20style%3D%22width%3A%20616px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322098iA6626683791EBE33%2Fimage-dimensions%2F616x244%3Fv%3Dv2%22%20width%3D%22616%22%20height%3D%22244%22%20role%3D%22button%22%20title%3D%22danielchen_13-1738393932472.png%22%20alt%3D%22danielchen_13-1738393932472.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E.3.6%26nbsp%3B%26nbsp%3B%20nfcandroid_platform_reference%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%23git%20clone%20%22%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_platform_reference.git%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_platform_reference.git%3C%2FA%3E%22%3C%2FP%3E%0A%3CP%3E%23cd%20nfcandroid_platform_reference%3C%2FP%3E%0A%3CP%3E%23git%20checkout%20br_ar_14_comm_infra_dev%3C%2FP%3E%0A%3CP%3E%23cp%20-rf%20vendor%2Fnxp%2F*%26nbsp%3B%26nbsp%3B%20..%2Fandroid_build%2Fvendor%2Fnxp%2F%3C%2FP%3E%0A%3CP%3E%23cd%20..%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_14-1738393932494.png%22%20style%3D%22width%3A%20666px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_14-1738393932494.png%22%20style%3D%22width%3A%20666px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322097i1BBBCA8E6FF55B46%2Fimage-dimensions%2F666x167%3Fv%3Dv2%22%20width%3D%22666%22%20height%3D%22167%22%20role%3D%22button%22%20title%3D%22danielchen_14-1738393932494.png%22%20alt%3D%22danielchen_14-1738393932494.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E.3.7%20nfcandroid_infra_test_apps%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%23%20git%20clone%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_infra_test_apps.git%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_infra_test_apps.git%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%23%20cd%20nfcandroid_infra_test_apps%2F%3C%2FP%3E%0A%3CP%3E%23%20git%20checkout%20br_ar_14_comm_infra_dev%3C%2FP%3E%0A%3CP%3E%23%20cd%20test_apps%2F%3C%2FP%3E%0A%3CP%3E%23%20cp%20-rf%20SMCU_Switch%2F%26nbsp%3B%20..%2F..%2Fandroid_build%2Fpackages%2Fapps%2F%3C%2FP%3E%0A%3CP%3E%23%20cp%20-rf%20EMVCoModeSwitchApp%2F%26nbsp%3B%20..%2F..%2Fandroid_build%2Fpackages%2Fapps%2FNfc%2F%3C%2FP%3E%0A%3CP%3E%23%20cd%20..%2F..%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_15-1738393932522.png%22%20style%3D%22width%3A%20673px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_15-1738393932522.png%22%20style%3D%22width%3A%20673px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322100i0007F14948778402%2Fimage-dimensions%2F673x148%3Fv%3Dv2%22%20width%3D%22673%22%20height%3D%22148%22%20role%3D%22button%22%20title%3D%22danielchen_15-1738393932522.png%22%20alt%3D%22danielchen_15-1738393932522.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E.3.8%26nbsp%3B%20nfcandroid_infra_comm_libs%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%23git%20clone%20%22%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_infra_comm_libs.git%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_infra_comm_libs.git%3C%2FA%3E%22%3C%2FP%3E%0A%3CP%3E%23cd%20nfcandroid_infra_comm_libs%3C%2FP%3E%0A%3CP%3E%23git%20checkout%20br_ar_14_comm_infra_dev%3C%2FP%3E%0A%3CP%3E%23cp%20-rf%20nfc_tda%2F%26nbsp%3B%20..%2Fandroid_build%2Fsystem%2F%3C%2FP%3E%0A%3CP%3E%23cp%20-rf%20emvco_tda%2F%20emvco_tda_test%2F%26nbsp%3B%20..%2Fandroid_build%2Fhardware%2Fnxp%2Femvco%2F%3C%2FP%3E%0A%3CP%3E%23cp%20-rf%20NfcTdaTestApp%2F%26nbsp%3B%20..%2Fandroid_build%2Fpackages%2Fapps%2FNfc%2F%3C%2FP%3E%0A%3CP%3E%23cd%20..%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_16-1738393932548.png%22%20style%3D%22width%3A%20673px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_16-1738393932548.png%22%20style%3D%22width%3A%20673px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322101iA42FD82B1403FB49%2Fimage-dimensions%2F673x165%3Fv%3Dv2%22%20width%3D%22673%22%20height%3D%22165%22%20role%3D%22button%22%20title%3D%22danielchen_16-1738393932548.png%22%20alt%3D%22danielchen_16-1738393932548.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3EAfter%20AOSP%20adaptation%2C%20folder%20is%20like%20below.%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_17-1738393932554.png%22%20style%3D%22width%3A%20681px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_17-1738393932554.png%22%20style%3D%22width%3A%20681px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322099i0403D066CAC73BA9%2Fimage-dimensions%2F681x26%3Fv%3Dv2%22%20width%3D%22681%22%20height%3D%2226%22%20role%3D%22button%22%20title%3D%22danielchen_17-1738393932554.png%22%20alt%3D%22danielchen_17-1738393932554.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B%3CFONT%20size%3D%226%22%3E%3CSTRONG%3E4%26nbsp%3B%20%26nbsp%3BApply%20AOSP%20patches%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3Eplease%20see%20AN14430%2C%20page10%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_2-1732538683728.png%22%20style%3D%22width%3A%20712px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_2-1732538683728.png%22%20style%3D%22width%3A%20712px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312333iA21A2E0D49F34ED5%2Fimage-dimensions%2F712x379%3Fv%3Dv2%22%20width%3D%22712%22%20height%3D%22379%22%20role%3D%22button%22%20title%3D%22danielchen_2-1732538683728.png%22%20alt%3D%22danielchen_2-1732538683728.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%23%20patch%20-p1%20%26lt%3B%20%26nbsp%3B..%2F..%2F..%2Fnfcandroid_platform_reference%2Fbuild_cfg%2Fbuild_pf_patches%2FAROOT_build_bazel.patch%3C%2FP%3E%0A%3CP%3E%23patch%20-p1%20%26lt%3B%20..%2F..%2F..%2Fnfcandroid_platform_reference%2Fbuild_cfg%2Fbuild_pf_patches%2FAROOT_build_make.patch%3C%2FP%3E%0A%3CP%3E%23%20patch%20-p1%20%26lt%3B%20..%2F..%2F..%2Fnfcandroid_platform_reference%2Fbuild_cfg%2Fbuild_pf_patches%2FAROOT_build_soong.patch%3C%2FP%3E%0A%3CP%3E%23%20patch%20-p1%20%26lt%3B%20..%2F..%2F..%2Fnfcandroid_platform_reference%2Fbuild_cfg%2Fbuild_pf_patches%2FAROOT_frameworks_base.patch%3C%2FP%3E%0A%3CP%3E%23patch%20-p1%20%26lt%3B%20..%2F..%2F..%2Fnfcandroid_platform_reference%2Fbuild_cfg%2Fbuild_pf_patches%2FAROOT_frameworks_native.patch%3C%2FP%3E%0A%3CP%3E%23patch%20-p1%20%26lt%3B%20..%2F..%2F..%2Fnfcandroid_platform_reference%2Fbuild_cfg%2Fbuild_pf_patches%2FAROOT_frameworks_proto_logging.patch%3C%2FP%3E%0A%3CP%3E%23patch%20-p1%20%26lt%3B%20..%2F..%2F..%2Fnfcandroid_platform_reference%2Fbuild_cfg%2Fbuild_pf_patches%2FAROOT_system_logging.patch%3C%2FP%3E%0A%3CP%3E%23patch%20-p1%20%26lt%3B%20..%2F..%2F..%2F..%2Fnfcandroid_platform_reference%2Fbuild_cfg%2Fbuild_pf_patches%2FAROOT_packages_modules_Bluetooth.patch%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_4-1732538759932.png%22%20style%3D%22width%3A%20709px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_4-1732538759932.png%22%20style%3D%22width%3A%20709px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312335i4A613BBE75E4E67B%2Fimage-dimensions%2F709x312%3Fv%3Dv2%22%20width%3D%22709%22%20height%3D%22312%22%20role%3D%22button%22%20title%3D%22danielchen_4-1732538759932.png%22%20alt%3D%22danielchen_4-1732538759932.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B%3CFONT%20size%3D%226%22%3E%3CSTRONG%3E5%3CFONT%20size%3D%226%22%3E%26nbsp%3B%3C%2FFONT%3E%20%26nbsp%3B%20Adding%20the%20driver%20support.%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E.5.1%26nbsp%3B%20get%20nfcandroid_platform_drivers%20from%20github%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%23git%20clone%20%22%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_platform_drivers.git%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-nfc-infra%2Fnfcandroid_platform_drivers.git%3C%2FA%3E%22%3C%2FP%3E%0A%3CP%3E%23cd%20nfcandroid_platform_drivers%3C%2FP%3E%0A%3CP%3E%23git%20checkout%20br_ar_14_comm_infra_dev%3C%2FP%3E%0A%3CP%3E%23cd%20..%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_22-1738394453607.png%22%20style%3D%22width%3A%20694px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_22-1738394453607.png%22%20style%3D%22width%3A%20694px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F322106iA9899EDB3CDD12A8%2Fimage-dimensions%2F694x167%3Fv%3Dv2%22%20width%3D%22694%22%20height%3D%22167%22%20role%3D%22button%22%20title%3D%22danielchen_22-1738394453607.png%22%20alt%3D%22danielchen_22-1738394453607.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%225%22%3E%3CSTRONG%3E.5.2Create%20a%20folder%20named%20pn7160%20under%20android_build%2Fvendor%2Fnxp-opensource%2Fkernel_imx%2Fdrivers%2Fnfc%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_5-1732538861565.png%22%20style%3D%22width%3A%20711px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_5-1732538861565.png%22%20style%3D%22width%3A%20711px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312336i400984069BB5A728%2Fimage-dimensions%2F711x54%3Fv%3Dv2%22%20width%3D%22711%22%20height%3D%2254%22%20role%3D%22button%22%20title%3D%22danielchen_5-1732538861565.png%22%20alt%3D%22danielchen_5-1732538861565.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3ECopy%20below%20kernel%20drivers%20file%20from%20%E2%80%9Cnfcandroid_platform_drivers%2Fdrivers%2Fpn7160%2Fnfc%2Fnfc%20%E2%80%9C%20into%26nbsp%3B%20%E2%80%9Candroid_build%2Fvendor%2Fnxp-opensource%2Fkernel_imx%2Fdrivers%2Fnfc%2Fpn7160%2F%E2%80%9D%3C%2FP%3E%0A%3CP%3ECommon.c%26nbsp%3B%20common.h%26nbsp%3B%26nbsp%3B%20i2c_drv.c%26nbsp%3B%20i2c_drv.h%20spi_drv.h%26nbsp%3B%20spi_drv.c%26nbsp%3B%20Makefile%26nbsp%3B%20Kconfig%3C%2FP%3E%0A%3CP%3EResult%20of%20copying%3A%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_6-1732538987249.png%22%20style%3D%22width%3A%20705px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_6-1732538987249.png%22%20style%3D%22width%3A%20705px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312338i1BD5A81E529FCA95%2Fimage-dimensions%2F705x131%3Fv%3Dv2%22%20width%3D%22705%22%20height%3D%22131%22%20role%3D%22button%22%20title%3D%22danielchen_6-1732538987249.png%22%20alt%3D%22danielchen_6-1732538987249.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E.5.3%20Modify%20makefile%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3EReplace%20Makefile%20default%20code%20with%20following%20code%2C%26nbsp%3B%20only%20add%20i2c%20for%20simplifying.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_7-1732539043196.png%22%20style%3D%22width%3A%20572px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_7-1732539043196.png%22%20style%3D%22width%3A%20572px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312339i71435EB50B80FA2C%2Fimage-dimensions%2F572x86%3Fv%3Dv2%22%20width%3D%22572%22%20height%3D%2286%22%20role%3D%22button%22%20title%3D%22danielchen_7-1732539043196.png%22%20alt%3D%22danielchen_7-1732539043196.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3BNow%20we%20need%20to%20add%20pn7160%20Makefile%20and%20Kconfig%20to%20main%20Makefile%20and%20Kconfig%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_8-1732539089136.png%22%20style%3D%22width%3A%20648px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_8-1732539089136.png%22%20style%3D%22width%3A%20648px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312340i34F018793C83BF1B%2Fimage-dimensions%2F648x268%3Fv%3Dv2%22%20width%3D%22648%22%20height%3D%22268%22%20role%3D%22button%22%20title%3D%22danielchen_8-1732539089136.png%22%20alt%3D%22danielchen_8-1732539089136.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3EMakefile%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_9-1732539136098.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_9-1732539136098.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312341iB0C0C5478294E89E%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22danielchen_9-1732539136098.png%22%20alt%3D%22danielchen_9-1732539136098.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3EKconfig%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_10-1732539167244.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_10-1732539167244.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312342iCFCF8A0FAF485839%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22danielchen_10-1732539167244.png%22%20alt%3D%22danielchen_10-1732539167244.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%226%22%3E6%26nbsp%3B%20%26nbsp%3BAdding%20device%20tree%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3EDevice%20tree%20is%20important%20since%20we%20need%20to%20tell%20our%20controller%20which%20pins%20we%20want%20to%20use%20for%20communication%20(this%20is%20always%20different%20between%20host%20controllers)%3C%2FP%3E%0A%3CP%3EThe%20device%20tree%20need%20to%20be%20added%20into%3A%3C%2FP%3E%0A%3CP%3E%E2%80%9Cvendor%2Fnxp-opensource%2Fkernel_imx%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%E2%80%9D%3C%2FP%3E%0A%3CP%3ECreate%20file%20with%20name%20%E2%80%9Cimx8mn-evk-pn7160.dts%E2%80%9D%2C%20open%20the%20file%20and%20add%20following%20lines%3A%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_11-1732539249939.png%22%20style%3D%22width%3A%20661px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_11-1732539249939.png%22%20style%3D%22width%3A%20661px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312343i432BB27199149076%2Fimage-dimensions%2F661x519%3Fv%3Dv2%22%20width%3D%22661%22%20height%3D%22519%22%20role%3D%22button%22%20title%3D%22danielchen_11-1732539249939.png%22%20alt%3D%22danielchen_11-1732539249939.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3ENext%20task%20is%20to%20add%20.dts%20file%20into%20Makefile%20in%20the%20following%20location%3A%3C%2FP%3E%0A%3CP%3E.%20vendor%2Fnxp-opensource%2Fkernel_imx%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%3C%2FP%3E%0A%3CP%3EOpen%20Makefile%20and%20add%3A%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_12-1732539303166.png%22%20style%3D%22width%3A%20686px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_12-1732539303166.png%22%20style%3D%22width%3A%20686px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312344iB70D06BB6A02F72D%2Fimage-dimensions%2F686x84%3Fv%3Dv2%22%20width%3D%22686%22%20height%3D%2284%22%20role%3D%22button%22%20title%3D%22danielchen_12-1732539303166.png%22%20alt%3D%22danielchen_12-1732539303166.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3EFinal%20step%20is%20to%20add%20NXP_NCI_I2C%20as%20module%20in%20following%20file%3A%3C%2FP%3E%0A%3CP%3E.%20vendor%2Fnxp-opensource%2Fkernel_imx%2Farch%2Farm64%2Fconfigs%2Fimx8mn_gki.fragment%3C%2FP%3E%0A%3CP%3EOpen%20imx8mn_gki.fragment%20and%20add%3A%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_13-1732539339523.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_13-1732539339523.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312345iCE617EEB874902B7%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22danielchen_13-1732539339523.png%22%20alt%3D%22danielchen_13-1732539339523.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E%3CSTRONG%3E7%26nbsp%3B%20%26nbsp%3B%20Add%20device%20specific%20changes%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20The%20location%20of%20the%20device%20specific%20changes%20in%20under%20folder%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20.%20device%2Fnxp%2Fimx8m%2Fevk_8mn%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E7.1%20BoardConfig.mk%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_14-1732539411816.png%22%20style%3D%22width%3A%20677px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_14-1732539411816.png%22%20style%3D%22width%3A%20677px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312346i298C8B6736F57389%2Fimage-dimensions%2F677x258%3Fv%3Dv2%22%20width%3D%22677%22%20height%3D%22258%22%20role%3D%22button%22%20title%3D%22danielchen_14-1732539411816.png%22%20alt%3D%22danielchen_14-1732539411816.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_15-1732539466661.png%22%20style%3D%22width%3A%20679px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_15-1732539466661.png%22%20style%3D%22width%3A%20679px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312347iBEBBB9E62A2903CC%2Fimage-dimensions%2F679x241%3Fv%3Dv2%22%20width%3D%22679%22%20height%3D%22241%22%20role%3D%22button%22%20title%3D%22danielchen_15-1732539466661.png%22%20alt%3D%22danielchen_15-1732539466661.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_16-1732539510369.png%22%20style%3D%22width%3A%20683px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_16-1732539510369.png%22%20style%3D%22width%3A%20683px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312348i69370E94B5168E6C%2Fimage-dimensions%2F683x234%3Fv%3Dv2%22%20width%3D%22683%22%20height%3D%22234%22%20role%3D%22button%22%20title%3D%22danielchen_16-1732539510369.png%22%20alt%3D%22danielchen_16-1732539510369.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E7.2%20ShareBoardConfig.mk%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_17-1732539566160.png%22%20style%3D%22width%3A%20683px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_17-1732539566160.png%22%20style%3D%22width%3A%20683px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312349i9C692840190AAAD0%2Fimage-dimensions%2F683x547%3Fv%3Dv2%22%20width%3D%22683%22%20height%3D%22547%22%20role%3D%22button%22%20title%3D%22danielchen_17-1732539566160.png%22%20alt%3D%22danielchen_17-1732539566160.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_19-1732539662019.png%22%20style%3D%22width%3A%20676px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_19-1732539662019.png%22%20style%3D%22width%3A%20676px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312351i8301F394EB74C7CC%2Fimage-dimensions%2F676x201%3Fv%3Dv2%22%20width%3D%22676%22%20height%3D%22201%22%20role%3D%22button%22%20title%3D%22danielchen_19-1732539662019.png%22%20alt%3D%22danielchen_19-1732539662019.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E7.3%20compatibility_matrix.xml%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_20-1732539715434.png%22%20style%3D%22width%3A%20552px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_20-1732539715434.png%22%20style%3D%22width%3A%20552px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312352i6B89DFCAD25BE176%2Fimage-dimensions%2F552x287%3Fv%3Dv2%22%20width%3D%22552%22%20height%3D%22287%22%20role%3D%22button%22%20title%3D%22danielchen_20-1732539715434.png%22%20alt%3D%22danielchen_20-1732539715434.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E7.4%20device_framework_matrix.xml%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_21-1732539759365.png%22%20style%3D%22width%3A%20650px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_21-1732539759365.png%22%20style%3D%22width%3A%20650px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312353i378A69A149585213%2Fimage-dimensions%2F650x778%3Fv%3Dv2%22%20width%3D%22650%22%20height%3D%22778%22%20role%3D%22button%22%20title%3D%22danielchen_21-1732539759365.png%22%20alt%3D%22danielchen_21-1732539759365.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E7.5%20evk_8mn.mk%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3EAdd%20.mk%20files%20to%20specific%20device.mk%20and%20some%20product%20package%20directly%20to%20device.mk%20file%20so%20everything%20is%20build%20together%20with%20Android.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_22-1732539833373.png%22%20style%3D%22width%3A%20645px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_22-1732539833373.png%22%20style%3D%22width%3A%20645px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312354i3755BA2CE5C9252C%2Fimage-dimensions%2F645x171%3Fv%3Dv2%22%20width%3D%22645%22%20height%3D%22171%22%20role%3D%22button%22%20title%3D%22danielchen_22-1732539833373.png%22%20alt%3D%22danielchen_22-1732539833373.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_23-1732539859881.png%22%20style%3D%22width%3A%20647px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_23-1732539859881.png%22%20style%3D%22width%3A%20647px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312355iF689A2CEF90BA2AA%2Fimage-dimensions%2F647x321%3Fv%3Dv2%22%20width%3D%22647%22%20height%3D%22321%22%20role%3D%22button%22%20title%3D%22danielchen_23-1732539859881.png%22%20alt%3D%22danielchen_23-1732539859881.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E7.6%20init.rc%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_24-1732539894988.png%22%20style%3D%22width%3A%20641px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_24-1732539894988.png%22%20style%3D%22width%3A%20641px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312356i53AF9021B1836CB1%2Fimage-dimensions%2F641x209%3Fv%3Dv2%22%20width%3D%22641%22%20height%3D%22209%22%20role%3D%22button%22%20title%3D%22danielchen_24-1732539894988.png%22%20alt%3D%22danielchen_24-1732539894988.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%225%22%3E7.7manifest.xml%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_25-1732539940498.png%22%20style%3D%22width%3A%20661px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_25-1732539940498.png%22%20style%3D%22width%3A%20661px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312357i55BA9A0555F495B2%2Fimage-dimensions%2F661x170%3Fv%3Dv2%22%20width%3D%22661%22%20height%3D%22170%22%20role%3D%22button%22%20title%3D%22danielchen_25-1732539940498.png%22%20alt%3D%22danielchen_25-1732539940498.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%225%22%3E%3CSTRONG%3E7.8%20ueventd.nxp.rc%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BAdd%20permissions%20for%20drivers%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_26-1732540013940.png%22%20style%3D%22width%3A%20563px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_26-1732540013940.png%22%20style%3D%22width%3A%20563px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312358iED9BE776AA73DB12%2Fimage-dimensions%2F563x135%3Fv%3Dv2%22%20width%3D%22563%22%20height%3D%22135%22%20role%3D%22button%22%20title%3D%22danielchen_26-1732540013940.png%22%20alt%3D%22danielchen_26-1732540013940.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B%3CSTRONG%3E%3CFONT%20size%3D%226%22%3E8%26nbsp%3B%20%26nbsp%3B%20Additional%20change%20in%20compatibility%20matrix%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3EPut%20changes%20into%20hardware%2Finterfaces%2Fcompatibility_matrices%3C%2FP%3E%0A%3CP%3ECompatibility_matrix_8.xml%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_27-1732540098909.png%22%20style%3D%22width%3A%20620px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_27-1732540098909.png%22%20style%3D%22width%3A%20620px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312359i253D6D46B29E3CEB%2Fimage-dimensions%2F620x734%3Fv%3Dv2%22%20width%3D%22620%22%20height%3D%22734%22%20role%3D%22button%22%20title%3D%22danielchen_27-1732540098909.png%22%20alt%3D%22danielchen_27-1732540098909.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%226%22%3E%26nbsp%3B9%26nbsp%3B%20%26nbsp%3B%20add%20changes%20into%20NXP%20mk%20files%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E.%20android_build%2Fvendor%2Fnxp%2Fnfc%2Fdevice-nfc.mk%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_28-1732540184997.png%22%20style%3D%22width%3A%20469px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_28-1732540184997.png%22%20style%3D%22width%3A%20469px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312360i1F16A390602E7B81%2Fimage-dimensions%2F469x273%3Fv%3Dv2%22%20width%3D%22469%22%20height%3D%22273%22%20role%3D%22button%22%20title%3D%22danielchen_28-1732540184997.png%22%20alt%3D%22danielchen_28-1732540184997.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_29-1732540215144.png%22%20style%3D%22width%3A%20467px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_29-1732540215144.png%22%20style%3D%22width%3A%20467px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312361i725449562ED47870%2Fimage-dimensions%2F467x188%3Fv%3Dv2%22%20width%3D%22467%22%20height%3D%22188%22%20role%3D%22button%22%20title%3D%22danielchen_29-1732540215144.png%22%20alt%3D%22danielchen_29-1732540215144.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B.android_build%2Fvendor%2Fnxp%2Femvco%2Fdevice-emvco.mk%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_30-1732540257962.png%22%20style%3D%22width%3A%20466px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_30-1732540257962.png%22%20style%3D%22width%3A%20466px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312362iBC4080720C577DD3%2Fimage-dimensions%2F466x126%3Fv%3Dv2%22%20width%3D%22466%22%20height%3D%22126%22%20role%3D%22button%22%20title%3D%22danielchen_30-1732540257962.png%22%20alt%3D%22danielchen_30-1732540257962.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3CFONT%20size%3D%226%22%3E%26nbsp%3B10%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%20%26nbsp%3B%20Build%20Android%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3EFirst%20%2C%20the%20source%20build%2Fenvsetup.sh%20command%20is%20executed%20to%20import%20shell%20functions%20that%20are%20defined%20in%20%24%7BMY_ANDROID%7D%2Fbuild%2Fenvsetup.sh.%3C%2FP%3E%0A%3CP%3EThen%2C%20the%20lunch%20evk_8mn-userdebug%20command%20is%20executed%20to%20set%20up%20the%20build%20configuration.%3C%2FP%3E%0A%3CP%3E%23source%20build%2Fenvsetup.sh%3C%2FP%3E%0A%3CP%3E%23lunch%20evk_8mn-userdebug%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%224%22%3E%26nbsp%3B%26nbsp%3BPossible%20build%20failures%3C%2FFONT%3E%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_31-1732540449014.png%22%20style%3D%22width%3A%20645px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_31-1732540449014.png%22%20style%3D%22width%3A%20645px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312363iCB5AC4D85A98DAD8%2Fimage-dimensions%2F645x319%3Fv%3Dv2%22%20width%3D%22645%22%20height%3D%22319%22%20role%3D%22button%22%20title%3D%22danielchen_31-1732540449014.png%22%20alt%3D%22danielchen_31-1732540449014.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3EThis%20error%20resulted%20from%20the%20incompatibility%20of%20file%20Kconfig%2C%20please%20use%20dos2unix%20command%20to%20fix%20it.%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_32-1732540505205.png%22%20style%3D%22width%3A%20709px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_32-1732540505205.png%22%20style%3D%22width%3A%20709px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312364i6AA1679E7E805D20%2Fimage-dimensions%2F709x48%3Fv%3Dv2%22%20width%3D%22709%22%20height%3D%2248%22%20role%3D%22button%22%20title%3D%22danielchen_32-1732540505205.png%22%20alt%3D%22danielchen_32-1732540505205.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3BFor%20some%20other%20redefine%20issues%2C%20please%20do%20the%20following.%3C%2FP%3E%0A%3CP%3EGo%20into%20file%20hardware%2Fnxp%2Fnfc%2Fsnxx%2F%3C%2FP%3E%0A%3CP%3EName%20Android.bp%20to%20_Android.bp%3C%2FP%3E%0A%3CP%3EGo%20into%20hardware%2Fnxp%2Fnfc%2Fsnxx%2Fhalimpl%2Fpower-tracker%2F%3C%2FP%3E%0A%3CP%3EName%20Android.bp%20to%20_Android.bp%3C%2FP%3E%0A%3CP%3EGo%20into%20file%20hardware%2Fnxp%2Fsecure_element%2Fsnxxx%2Faidl%2F%3C%2FP%3E%0A%3CP%3EName%20Android.bp%20to%20_Android.bp%3C%2FP%3E%0A%3CP%3ERemove%20%3A%20pn8xx%20from%20hardware%2Fnxp%2F%3C%2FP%3E%0A%3CP%3ERemove%20%3A%20frameworks%2Fbase%2Fcore%2Fres%2Fres%2Fvalues%2Fconfig.xml.orig%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E%3CSTRONG%3E11%26nbsp%3B%20%26nbsp%3BDownload%20build%20and%20flash%20images%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EGo%20into%20%E2%80%9Candroid_build%2Fout%2Ftarget%2Fproduct%2Fevk_8mn%E2%80%9D%20and%20download%20all%20files%20without%20folders%20.%3C%2FP%3E%0A%3CP%3EWhen%20downloaded%2C%20open%20following%20two%20files%20and%20add%3A%3C%2FP%3E%0A%3CP%3E.in%20fastboot_imx_flashall.bat%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_34-1732540724837.png%22%20style%3D%22width%3A%20709px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_34-1732540724837.png%22%20style%3D%22width%3A%20709px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312366i300A07F472C08CA9%2Fimage-dimensions%2F709x39%3Fv%3Dv2%22%20width%3D%22709%22%20height%3D%2239%22%20role%3D%22button%22%20title%3D%22danielchen_34-1732540724837.png%22%20alt%3D%22danielchen_34-1732540724837.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E.in%20uuu_imx_android_flash.bat%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_35-1732540776703.png%22%20style%3D%22width%3A%20893px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_35-1732540776703.png%22%20style%3D%22width%3A%20893px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312367iA75BBE06F5044221%2Fimage-dimensions%2F893x50%3Fv%3Dv2%22%20width%3D%22893%22%20height%3D%2250%22%20role%3D%22button%22%20title%3D%22danielchen_35-1732540776703.png%22%20alt%3D%22danielchen_35-1732540776703.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EChange%20switches%20on%20i.MX8M%20Nano%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_36-1732540836787.png%22%20style%3D%22width%3A%20529px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_36-1732540836787.png%22%20style%3D%22width%3A%20529px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312368i1E5C127F63E61671%2Fimage-dimensions%2F529x180%3Fv%3Dv2%22%20width%3D%22529%22%20height%3D%22180%22%20role%3D%22button%22%20title%3D%22danielchen_36-1732540836787.png%22%20alt%3D%22danielchen_36-1732540836787.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CP%3E.%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Flashing%20Android%3A%20when%20flashing%20Android%20images%3C%2FP%3E%0A%3CP%3E.%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Running%20Android%3A%26nbsp%3B%20when%20images%20are%20flashed%2C%20put%20switches%20to%20Running%20Android%20and%20Android%20OS%20will%20start.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EFlash%20images%3C%2FP%3E%0A%3CP%3E.%26nbsp%3B%20Put%20i.MX8%20to%20%E2%80%9CFlash%20Android%E2%80%9D%3C%2FP%3E%0A%3CP%3E.%26nbsp%3B%20Open%20a%20PowerShell%20as%20admin%20in%20the%20location%20where%20download%20images%20are%3C%2FP%3E%0A%3CP%3E.%26nbsp%3B%20Running%20following%20command%3C%2FP%3E%0A%3CP%3E.%26nbsp%3B%20.%2Fuuu_imx_android_flash.bat%20-f%20imx8mn%20-a%20-d%20pn7160%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_37-1732540883865.png%22%20style%3D%22width%3A%20688px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_37-1732540883865.png%22%20style%3D%22width%3A%20688px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312370iEC7E83A9D2EAE7AC%2Fimage-dimensions%2F688x288%3Fv%3Dv2%22%20width%3D%22688%22%20height%3D%22288%22%20role%3D%22button%22%20title%3D%22danielchen_37-1732540883865.png%22%20alt%3D%22danielchen_37-1732540883865.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CFONT%20size%3D%226%22%3E%3CSTRONG%3E12%26nbsp%3B%20Firmware%20update%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EDownload%20the%20FW%20from%20Github%3C%2FP%3E%0A%3CP%3EOpen%20terminal%20at%20the%20FW%20location%3C%2FP%3E%0A%3CP%3ERun%20the%20following%20commands%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CUL%3E%0A%3CLI%3E%E2%80%A2%20adb%20push%20libpn7160_fw.so%20vendor%2Flib64%2Flibpn7160_fw.so%20(for%2064-bit%20version)%20and%20adb%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20push%20libpn7160_fw.so%20vendor%2Flib%2Flibpn7160_fw.so%20(for%2032-bit%20version)%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%E2%80%A2%20adb%20shell%20svc%20nfc%20disable%3C%2FLI%3E%0A%3CLI%3E%E2%80%A2%20adb%20shell%20svc%20nfc%20enable%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_38-1732540976369.png%22%20style%3D%22width%3A%20686px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_38-1732540976369.png%22%20style%3D%22width%3A%20686px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F312373iEBE84DC63EE9B75E%2Fimage-dimensions%2F686x268%3Fv%3Dv2%22%20width%3D%22686%22%20height%3D%22268%22%20role%3D%22button%22%20title%3D%22danielchen_38-1732540976369.png%22%20alt%3D%22danielchen_38-1732540976369.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CP%3EReferences%3A%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com.cn%2Fdocs%2Fen%2Fapplication-note%2FAN14430.pdf%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EPN7160%2FPN7220%20%E2%80%93%20Android%2014%20porting%20guide%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EUG10156%20%3A%20Android%20User%E2%80%99s%20Guide%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3EBuild%20Andriod%20image%20for%20PN7160%20on%20i.MX8M%20Nano%3A%26nbsp%3B%20Andraz%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-2001159%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3E%3CP%3Ethis%20is%20a%20step%20by%20step%20guider%20to%20port%20PN7160%20to%20Android%2014%20on%20i.MX%208M%20Nano%20board%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2001159%22%20slang%3D%22en-US%22%20mode%3D%22UPDATE%22%3E%3CLINGO-LABEL%3ENFC%20Controller%20Solutions%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
100% helpful (2/2)
Version history
Last update:
‎08-11-2025 05:32 PM
Updated by: