artf238478-PN80T-PN553-GEN_MW-Routing-table-update-f
diff --git a/halimpl/pn54x/configs/NXP_ESE_Features.h b/halimpl/pn54x/configs/NXP_ESE_Features.h
index 5c6400f..026e336 100755
--- a/halimpl/pn54x/configs/NXP_ESE_Features.h
+++ b/halimpl/pn54x/configs/NXP_ESE_Features.h
@@ -52,7 +52,7 @@
     #define NXP_WIRED_MODE_STANDBY                FALSE
     //dual mode prio scheme
     #define NXP_ESE_DUAL_MODE_PRIO_SCHEME         NXP_ESE_WIRED_MODE_TIMEOUT
-     //Reset scheme
+    //Reset scheme
     #define NXP_ESE_RESET_METHOD                  FALSE
     #define NXP_ESE_ETSI_READER_ENABLE            TRUE
     #define NXP_ESE_SVDD_SYNC                     TRUE
@@ -103,16 +103,18 @@
     #define NXP_ESE_RESET_METHOD                  FALSE
     #define NXP_ESE_ETSI_READER_ENABLE            FALSE
     #define NXP_ESE_SVDD_SYNC                     FALSE
+    #define NXP_ESE_DWP_SPI_SYNC_ENABLE           FALSE
     #define NXP_LEGACY_APDU_GATE                  FALSE
     #define NXP_NFCC_ESE_UICC_CONCURRENT_ACCESS_PROTECTION   FALSE
     #define NXP_ESE_DUAL_MODE_PRIO_SCHEME         NXP_ESE_WIRED_MODE_TIMEOUT
     #define NXP_ESE_JCOP_DWNLD_PROTECTION         FALSE
     #define NXP_UICC_HANDLE_CLEAR_ALL_PIPES       FALSE
     #define NFC_NXP_ESE_ETSI12_PROP_INIT          FALSE
+    #define NFC_NXP_GP_CONTINOUS_PROCESSING       FALSE
 #elif(NFC_NXP_CHIP_TYPE == PN553)
     #define NFC_NXP_TRIPLE_MODE_PROTECTION        FALSE
     #define NXP_ESE_FELICA_CLT                    FALSE
-    #define NXP_ESE_WIRED_MODE_PRIO               FALSE    //eSE wired mode prio over UICC wired mode
+    #define NXP_ESE_WIRED_MODE_PRIO               FALSE   // eSE wired mode prio over UICC wired mode
     #define NXP_ESE_UICC_EXCLUSIVE_WIRED_MODE     FALSE   // UICC exclusive wired mode
     //reset scheme
     #define NXP_ESE_RESET_METHOD                  FALSE
@@ -124,10 +126,12 @@
     #define NXP_ESE_SVDD_SYNC                     FALSE
     #define NXP_LEGACY_APDU_GATE                  FALSE
     #define NXP_NFCC_ESE_UICC_CONCURRENT_ACCESS_PROTECTION   FALSE
+    #define NXP_ESE_DWP_SPI_SYNC_ENABLE           FALSE
     #define NXP_ESE_DUAL_MODE_PRIO_SCHEME         NXP_ESE_WIRED_MODE_TIMEOUT
     #define NXP_ESE_JCOP_DWNLD_PROTECTION         FALSE
     #define NXP_UICC_HANDLE_CLEAR_ALL_PIPES       FALSE
     #define NFC_NXP_ESE_ETSI12_PROP_INIT          TRUE
+    #define NFC_NXP_GP_CONTINOUS_PROCESSING       FALSE
 #endif
 
 #endif /*End of #if(NFC_NXP_ESE == TRUE)*/
diff --git a/halimpl/pn54x/configs/NXP_NFCC_Features.h b/halimpl/pn54x/configs/NXP_NFCC_Features.h
index 7cdde4f..7792c73 100755
--- a/halimpl/pn54x/configs/NXP_NFCC_Features.h
+++ b/halimpl/pn54x/configs/NXP_NFCC_Features.h
@@ -38,7 +38,13 @@
 #define NXP_HW_ANTENNA_LOOP4_SELF_TEST          FALSE
 #define NXP_NFCEE_REMOVED_NTF_RECOVERY          TRUE
 #define NXP_NFCC_FORCE_FW_DOWNLOAD              TRUE
- #define NXP_UICC_CREATE_CONNECTIVITY_PIPE       TRUE
+#define NXP_UICC_CREATE_CONNECTIVITY_PIPE       TRUE
+#if(NFC_NXP_ESE == TRUE)
+#define NXP_NFCC_SPI_FW_DOWNLOAD_SYNC           TRUE
+#define NFA_EE_MAX_EE_SUPPORTED                 4
+#else
+#define NFA_EE_MAX_EE_SUPPORTED                 3
+#endif
 #elif(NFC_NXP_CHIP_TYPE == PN551)
 #define NXP_NFCC_I2C_READ_WRITE_IMPROVEMENT     TRUE
 #define NXP_NFCC_AID_MATCHING_PLATFORM_CONFIG   TRUE
@@ -51,7 +57,12 @@
 #define NXP_HW_ANTENNA_LOOP4_SELF_TEST          TRUE
 #define NXP_NFCEE_REMOVED_NTF_RECOVERY          TRUE
 #define NXP_NFCC_FORCE_FW_DOWNLOAD              FALSE
- #define NXP_UICC_CREATE_CONNECTIVITY_PIPE      FALSE
+#define NXP_UICC_CREATE_CONNECTIVITY_PIPE       FALSE
+#if(NFC_NXP_ESE == TRUE)
+#define NFA_EE_MAX_EE_SUPPORTED                 3
+#else
+#define NFA_EE_MAX_EE_SUPPORTED                 2
+#endif
 #elif(NFC_NXP_CHIP_TYPE == PN548C2)
 #define NXP_NFCC_I2C_READ_WRITE_IMPROVEMENT     TRUE
 #define NXP_NFCC_AID_MATCHING_PLATFORM_CONFIG   TRUE
@@ -64,6 +75,12 @@
 #define NXP_HW_ANTENNA_LOOP4_SELF_TEST          TRUE
 #define NXP_NFCEE_REMOVED_NTF_RECOVERY          TRUE
 #define NXP_NFCC_FORCE_FW_DOWNLOAD              FALSE
+#define NXP_UICC_CREATE_CONNECTIVITY_PIPE       FALSE
+#if(NFC_NXP_ESE == TRUE)
+#define NFA_EE_MAX_EE_SUPPORTED                 3
+#else
+#define NFA_EE_MAX_EE_SUPPORTED                 2
+#endif
 #elif(NFC_NXP_CHIP_TYPE  == PN547C2)
 #define NXP_NFCC_I2C_READ_WRITE_IMPROVEMENT     FALSE
 #define NXP_NFCC_AID_MATCHING_PLATFORM_CONFIG   TRUE
@@ -72,7 +89,11 @@
 #define NXP_HW_ANTENNA_LOOP4_SELF_TEST          TRUE
 #define NXP_NFCEE_REMOVED_NTF_RECOVERY          TRUE
 #define NXP_NFCC_FORCE_FW_DOWNLOAD              FALSE
- #define NXP_UICC_CREATE_CONNECTIVITY_PIPE      FALSE
+#define NXP_UICC_CREATE_CONNECTIVITY_PIPE       FALSE
+#if(NFC_NXP_ESE == TRUE)
+#define NFA_EE_MAX_EE_SUPPORTED                 3
+#else
+#define NFA_EE_MAX_EE_SUPPORTED                 2
 #endif
-
+#endif
 #endif                          /* end of #ifndef NXP_NFCC_FEATURES_H */
diff --git a/src/include/NXP_ESE_Features.h b/src/include/NXP_ESE_Features.h
index a7ad5e1..765a20b 100755
--- a/src/include/NXP_ESE_Features.h
+++ b/src/include/NXP_ESE_Features.h
@@ -52,16 +52,17 @@
     #define NXP_WIRED_MODE_STANDBY                FALSE
     //dual mode prio scheme
     #define NXP_ESE_DUAL_MODE_PRIO_SCHEME         NXP_ESE_WIRED_MODE_TIMEOUT
-     //Reset scheme
+    //Reset scheme
     #define NXP_ESE_RESET_METHOD                  FALSE
     #define NXP_ESE_ETSI_READER_ENABLE            TRUE
     #define NXP_ESE_SVDD_SYNC                     TRUE
-    #define NXP_ESE_DWP_SPI_SYNC_ENABLE           TRUE
     #define NXP_LEGACY_APDU_GATE                  TRUE
     #define NXP_NFCC_ESE_UICC_CONCURRENT_ACCESS_PROTECTION   TRUE
     #define NXP_ESE_JCOP_DWNLD_PROTECTION         FALSE
     #define NXP_UICC_HANDLE_CLEAR_ALL_PIPES       FALSE
     #define NFC_NXP_GP_CONTINOUS_PROCESSING       FALSE
+    #define NXP_ESE_DWP_SPI_SYNC_ENABLE           TRUE
+    #define NFC_NXP_ESE_ETSI12_PROP_INIT          FALSE
 #elif(NFC_NXP_CHIP_TYPE == PN553)
     #define NFC_NXP_TRIPLE_MODE_PROTECTION        FALSE
     #define NXP_ESE_FELICA_CLT                    TRUE
@@ -69,7 +70,7 @@
     #define NXP_ESE_UICC_EXCLUSIVE_WIRED_MODE     FALSE    // UICC exclusive wired mode
     //dual mode prio scheme
     #define NXP_ESE_DUAL_MODE_PRIO_SCHEME         NXP_ESE_WIRED_MODE_RESUME
-    //reset scheme
+    //Reset scheme
     #define NXP_ESE_RESET_METHOD                  TRUE
     #define NXP_ESE_POWER_MODE                    TRUE
     #define NXP_ESE_P73_ISO_RST                   TRUE
@@ -78,12 +79,13 @@
     #define NXP_WIRED_MODE_STANDBY_PROP           FALSE
     #define NXP_ESE_ETSI_READER_ENABLE            TRUE
     #define NXP_ESE_SVDD_SYNC                     TRUE
-    #define NXP_ESE_DWP_SPI_SYNC_ENABLE           TRUE
     #define NXP_LEGACY_APDU_GATE                  FALSE
     #define NXP_NFCC_ESE_UICC_CONCURRENT_ACCESS_PROTECTION   FALSE
     #define NXP_ESE_JCOP_DWNLD_PROTECTION         TRUE
     #define NXP_UICC_HANDLE_CLEAR_ALL_PIPES       TRUE
     #define NFC_NXP_GP_CONTINOUS_PROCESSING       FALSE
+    #define NXP_ESE_DWP_SPI_SYNC_ENABLE           TRUE
+    #define NFC_NXP_ESE_ETSI12_PROP_INIT          TRUE
 #endif
 
 #else /*Else of #if(NFC_NXP_ESE == TRUE)*/
@@ -107,12 +109,14 @@
     #define NXP_ESE_DUAL_MODE_PRIO_SCHEME         NXP_ESE_WIRED_MODE_TIMEOUT
     #define NXP_ESE_JCOP_DWNLD_PROTECTION         FALSE
     #define NXP_UICC_HANDLE_CLEAR_ALL_PIPES       FALSE
+    #define NFC_NXP_ESE_ETSI12_PROP_INIT          FALSE
+    #define NFC_NXP_GP_CONTINOUS_PROCESSING       FALSE
 #elif(NFC_NXP_CHIP_TYPE == PN553)
     #define NFC_NXP_TRIPLE_MODE_PROTECTION        FALSE
     #define NXP_ESE_FELICA_CLT                    FALSE
-    #define NXP_ESE_WIRED_MODE_PRIO               FALSE    //eSE wired mode prio over UICC wired mode
+    #define NXP_ESE_WIRED_MODE_PRIO               FALSE   // eSE wired mode prio over UICC wired mode
     #define NXP_ESE_UICC_EXCLUSIVE_WIRED_MODE     FALSE   // UICC exclusive wired mode
-    //reset scheme
+    //Reset scheme
     #define NXP_ESE_RESET_METHOD                  FALSE
     #define NXP_ESE_POWER_MODE                    FALSE
     #define NXP_ESE_P73_ISO_RST                   FALSE
@@ -126,6 +130,8 @@
     #define NXP_ESE_DUAL_MODE_PRIO_SCHEME         NXP_ESE_WIRED_MODE_TIMEOUT
     #define NXP_ESE_JCOP_DWNLD_PROTECTION         FALSE
     #define NXP_UICC_HANDLE_CLEAR_ALL_PIPES       FALSE
+    #define NFC_NXP_ESE_ETSI12_PROP_INIT          TRUE
+    #define NFC_NXP_GP_CONTINOUS_PROCESSING       FALSE
 #endif
 
 #endif /*End of #if(NFC_NXP_ESE == TRUE)*/
diff --git a/src/include/NXP_NFCC_Features.h b/src/include/NXP_NFCC_Features.h
index c716404..7792c73 100755
--- a/src/include/NXP_NFCC_Features.h
+++ b/src/include/NXP_NFCC_Features.h
@@ -34,6 +34,7 @@
 #define NXP_NFCC_ROUTING_BLOCK_BIT              TRUE
 #define NFC_NXP_STAT_DUAL_UICC_EXT_SWITCH       FALSE
 #define NFC_NXP_STAT_DUAL_UICC_WO_EXT_SWITCH    TRUE
+#define NXP_NFCC_SPI_FW_DOWNLOAD_SYNC           TRUE
 #define NXP_HW_ANTENNA_LOOP4_SELF_TEST          FALSE
 #define NXP_NFCEE_REMOVED_NTF_RECOVERY          TRUE
 #define NXP_NFCC_FORCE_FW_DOWNLOAD              TRUE
diff --git a/src/include/NXP_Platform_Features.h b/src/include/NXP_Platform_Features.h
index 99ae7c4..a68b974 100755
--- a/src/include/NXP_Platform_Features.h
+++ b/src/include/NXP_Platform_Features.h
@@ -14,15 +14,27 @@
  * limitations under the License.
  */
 
+
 /*
- * NXP NFCC features macros definitions
+ * NXP Platform specific features macros definitions
  */
 
 #ifndef NXP_PLATFORM_FEATURES_H
 #define NXP_PLATFORM_FEATURES_H
 
 #if(NFC_NXP_CHIP_TYPE == PN553)
-// Define the platform specific macros
-
+#undef  NXP_NFCC_RESET_RSP_LEN
+#define NXP_NFCC_RESET_RSP_LEN       (0x10U)
 #endif
+
+#if(NFC_NXP_CHIP_TYPE == PN551)
+#undef  NXP_NFCC_RESET_RSP_LEN
+#define NXP_NFCC_RESET_RSP_LEN       (0x11U)
+#endif
+
+#if(NFC_NXP_CHIP_TYPE == PN548C2)
+#undef  NXP_NFCC_RESET_RSP_LEN
+#define NXP_NFCC_RESET_RSP_LEN       (0x11U)
+#endif
+
 #endif                          /* end of #ifndef NXP_PLATFORM_FEATURES_H */