[SINGLE_BINARY] : Single binary Implementation
diff --git a/halimpl/pn54x/dnld/phDnldNfc.c b/halimpl/pn54x/dnld/phDnldNfc.c
index 748e77d..87ba9b5 100644
--- a/halimpl/pn54x/dnld/phDnldNfc.c
+++ b/halimpl/pn54x/dnld/phDnldNfc.c
@@ -831,10 +831,10 @@
phDnldNfc_SetHwDevHandle();
if ((nfcFL.chipType != pn547C2) && (gRecFWDwnld == true)) {
wStatus =
- phDnldNfc_LoadRecoveryFW(PLATFORM_LIB_PATH,
+ phDnldNfc_LoadRecoveryFW(nfcFL.nfcMwFL._PLATFORM_LIB_PATH,
&pImageInfo, &ImageInfoLen);
} else {
- wStatus = phDnldNfc_LoadFW(PLATFORM_LIB_PATH,
+ wStatus = phDnldNfc_LoadFW(nfcFL.nfcMwFL._PLATFORM_LIB_PATH,
&pImageInfo, &ImageInfoLen);
}
if ((pImageInfo == NULL) || (ImageInfoLen == 0)) {
@@ -891,10 +891,10 @@
/* load the PKU image library */
if ((nfcFL.chipType != pn547C2) && (gRecFWDwnld == true)) {
wStatus =
- phDnldNfc_LoadRecoveryFW(PKU_LIB_PATH,
+ phDnldNfc_LoadRecoveryFW(nfcFL.nfcMwFL._PKU_LIB_PATH,
&pImageInfo, &ImageInfoLen);
} else {
- wStatus = phDnldNfc_LoadFW(PKU_LIB_PATH,
+ wStatus = phDnldNfc_LoadFW(nfcFL.nfcMwFL._PKU_LIB_PATH,
&pImageInfo, &ImageInfoLen);
}
if ((pImageInfo == NULL) || (ImageInfoLen == 0)) {
diff --git a/halimpl/pn54x/dnld/phNxpNciHal_Dnld.c b/halimpl/pn54x/dnld/phNxpNciHal_Dnld.c
index 2e9b30e..bfdbde9 100644
--- a/halimpl/pn54x/dnld/phNxpNciHal_Dnld.c
+++ b/halimpl/pn54x/dnld/phNxpNciHal_Dnld.c
@@ -177,12 +177,20 @@
NFCSTATUS (*seq_handler[])(void* pContext, NFCSTATUS status, void* pInfo));
/* Array of pointers to start fw download seq */
-static NFCSTATUS (*phNxpNciHal_dwnld_seqhandler[])(void* pContext,
+static NFCSTATUS (*phNxpNciHal_dwnld_seqhandler_stat[])(void* pContext,
NFCSTATUS status,
void* pInfo) = {
-#if (NFC_NXP_CHIP_TYPE == PN547C2)
phNxpNciHal_fw_dnld_normal, phNxpNciHal_fw_dnld_normal,
-#endif
+ phNxpNciHal_fw_dnld_get_sessn_state, phNxpNciHal_fw_dnld_get_version,
+ phNxpNciHal_fw_dnld_log_read, phNxpNciHal_fw_dnld_write,
+ phNxpNciHal_fw_dnld_get_sessn_state, phNxpNciHal_fw_dnld_get_version,
+ phNxpNciHal_fw_dnld_log, phNxpNciHal_fw_dnld_chk_integrity, NULL};
+
+/* Array of pointers to start fw download seq */
+static NFCSTATUS (*phNxpNciHal_dwnld_seqhandler_common[])(void* pContext,
+ NFCSTATUS status,
+ void* pInfo) = {
+ phNxpNciHal_fw_dnld_normal, phNxpNciHal_fw_dnld_normal,
phNxpNciHal_fw_dnld_get_sessn_state, phNxpNciHal_fw_dnld_get_version,
phNxpNciHal_fw_dnld_log_read, phNxpNciHal_fw_dnld_write,
phNxpNciHal_fw_dnld_get_sessn_state, phNxpNciHal_fw_dnld_get_version,
@@ -1606,7 +1614,11 @@
(gphNxpNciHal_fw_IoctlCtx.bSendNciCmd) = false;
/* Perform the download sequence ... after successful recover attempt */
- wStatus = phNxpNciHal_fw_seq_handler(phNxpNciHal_dwnld_seqhandler);
+ if(nfcFL.chipType == pn547C2) {
+ wStatus = phNxpNciHal_fw_seq_handler(phNxpNciHal_dwnld_seqhandler_stat);
+ } else {
+ wStatus = phNxpNciHal_fw_seq_handler(phNxpNciHal_dwnld_seqhandler_common);
+ }
status = phNxpNciHal_fw_dnld_complete(pContext, wStatus, &pInfo);
if (NFCSTATUS_SUCCESS == status) {
@@ -1728,7 +1740,11 @@
phNxpNciHal_fw_seq_handler(phNxpNciHal_dummy_rec_dwnld_seqhandler);
} else
{
- status = phNxpNciHal_fw_seq_handler(phNxpNciHal_dwnld_seqhandler);
+ if(nfcFL.chipType == pn547C2) {
+ status = phNxpNciHal_fw_seq_handler(phNxpNciHal_dwnld_seqhandler_stat);
+ } else {
+ status = phNxpNciHal_fw_seq_handler(phNxpNciHal_dwnld_seqhandler_common);
+ }
}
} else {
NXPLOG_FWDNLD_E("phDnldNfc_InitImgInfo: FAILED");
diff --git a/src/nfa/dm/nfa_dm_act.c b/src/nfa/dm/nfa_dm_act.c
index 8ff39ff..2abecb1 100644
--- a/src/nfa/dm/nfa_dm_act.c
+++ b/src/nfa/dm/nfa_dm_act.c
@@ -338,7 +338,7 @@
switch (event) {
case NFC_ENABLE_REVT: /* 0 Enable event */
-
+ nfa_ee_max_ee_cfg = nfcFL.nfccFL._NFA_EE_MAX_EE_SUPPORTED;
/* NFC stack enabled. Enable nfa sub-systems */
if (p_data->enable.status == NFC_STATUS_OK) {
if (nfa_ee_max_ee_cfg != 0) {