artf241278-SPI-Module-changes-SPI-Open-failing-with
diff --git a/halimpl/pn54x/common/phNfcTypes.h b/halimpl/pn54x/common/phNfcTypes.h
index a9a1a1d..cddaab2 100644
--- a/halimpl/pn54x/common/phNfcTypes.h
+++ b/halimpl/pn54x/common/phNfcTypes.h
@@ -307,7 +307,22 @@
P61_STATE_DWNLD = 0x0800, /* NFCC fw download is in progress */
P61_STATE_SPI_PRIO = 0x1000, /*Start of p61 access by SPI on priority*/
P61_STATE_SPI_PRIO_END = 0x2000, /*End of p61 access by SPI on priority*/
+ P61_STATE_SPI_END = 0x4000,
+ P61_STATE_JCP_DWNLD = 0x8000,/* JCOP downlad in progress */
+ P61_STATE_SECURE_MODE = 0x100000, /* secure mode state*/
+ P61_STATE_SPI_SVDD_SYNC_START = 0x0001, /*ESE_VDD Low req by SPI*/
+ P61_STATE_SPI_SVDD_SYNC_END = 0x0002, /*ESE_VDD is Low by SPI*/
+ P61_STATE_DWP_SVDD_SYNC_START = 0x0004, /*ESE_VDD Low req by Nfc*/
+ P61_STATE_DWP_SVDD_SYNC_END = 0x0008 /*ESE_VDD is Low by Nfc*/
}p61_access_state_t;
+
+typedef enum jcop_dwnld_state{
+ JCP_DWNLD_IDLE = P61_STATE_JCP_DWNLD, /* jcop dwnld is not ongoing*/
+ JCP_DWNLD_INIT, /* jcop dwonload init state*/
+ JCP_DWNLD_START, /* download started */
+ JCP_SPI_DWNLD_COMPLETE, /* jcop download complete in spi interface*/
+ JCP_DWP_DWNLD_COMPLETE, /* jcop download complete */
+} jcop_dwnld_state_t;
#endif
#define UNUSED(X) (void)X;
diff --git a/halimpl/pn54x/tml/phTmlNfc.c b/halimpl/pn54x/tml/phTmlNfc.c
index bf9c98a..018ee6b 100644
--- a/halimpl/pn54x/tml/phTmlNfc.c
+++ b/halimpl/pn54x/tml/phTmlNfc.c
@@ -1019,16 +1019,16 @@
break;
}
#if(NFC_NXP_ESE == TRUE)
- case phTmlNfc_e_SetJcopDwnldEnable:
- {
- wStatus = phTmlNfc_i2c_set_Jcop_dwnld_state(gpphTmlNfc_Context->pDevHandle, 2);
- break;
- }
- case phTmlNfc_e_SetJcopDwnldDisable:
- {
- wStatus = phTmlNfc_i2c_set_Jcop_dwnld_state(gpphTmlNfc_Context->pDevHandle, 4);
- break;
- }
+ case phTmlNfc_e_SetJcopDwnldEnable:
+ {
+ wStatus = phTmlNfc_i2c_set_Jcop_dwnld_state(gpphTmlNfc_Context->pDevHandle, JCP_DWNLD_START);
+ break;
+ }
+ case phTmlNfc_e_SetJcopDwnldDisable:
+ {
+ wStatus = phTmlNfc_i2c_set_Jcop_dwnld_state(gpphTmlNfc_Context->pDevHandle, JCP_DWP_DWNLD_COMPLETE);
+ break;
+ }
case phTmlNfc_e_SetNfcServicePid:
{
wStatus = phTmlNfc_set_pid(gpphTmlNfc_Context->pDevHandle, nfc_service_pid);
diff --git a/src/nfc/include/nfc_api.h b/src/nfc/include/nfc_api.h
index c8523cc..de2239d 100755
--- a/src/nfc/include/nfc_api.h
+++ b/src/nfc/include/nfc_api.h
@@ -344,8 +344,11 @@
}tNFC_NFCEE_MODE_SET_INFO;
#if (NXP_ESE_JCOP_DWNLD_PROTECTION == TRUE)
+#define ESE_STATE_JCOP_DWNLD 0x8000 /* Depicts the state of Jcop download to be matched with P61_STATE_JCP_DWNLD
+ under p61_access_state_t inside pn553.h(NFCC driver header) */
+
typedef enum jcop_dwnld_state{
- JCP_DWNLD_IDLE, /* jcop dwnld is not ongoing*/
+ JCP_DWNLD_IDLE = ESE_STATE_JCOP_DWNLD, /* jcop dwnld is not ongoing*/
JCP_DWNLD_INIT, /* jcop dwonload init state*/
JCP_DWNLD_START, /* download started */
JCP_SPI_DWNLD_COMPLETE, /* jcop download complete in spi interface*/