diff options
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2024-01-25 07:56:17 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-01-25 07:56:17 +0000 |
commit | 12517449e99fd7e46f9c86913b7d95cf501d184e (patch) | |
tree | 103830989989eac6105fae06c0690e825a56887a /snxxx/libese-spi/p73/pal/spi/EseSpiTransport.cpp | |
parent | d4931f70dea845ae9cd474b2a483533d2fbc14b3 (diff) | |
parent | 7925d5f2548272d96db3fd7050546aebd649618e (diff) | |
download | secure_element-12517449e99fd7e46f9c86913b7d95cf501d184e.tar.gz |
Merge "NXP SecureElement HAL update for SNxxx" into main
Diffstat (limited to 'snxxx/libese-spi/p73/pal/spi/EseSpiTransport.cpp')
-rw-r--r-- | snxxx/libese-spi/p73/pal/spi/EseSpiTransport.cpp | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/snxxx/libese-spi/p73/pal/spi/EseSpiTransport.cpp b/snxxx/libese-spi/p73/pal/spi/EseSpiTransport.cpp index 08ddda1..fa29656 100644 --- a/snxxx/libese-spi/p73/pal/spi/EseSpiTransport.cpp +++ b/snxxx/libese-spi/p73/pal/spi/EseSpiTransport.cpp @@ -45,6 +45,7 @@ #define MAX_RETRY_CNT 10 #define HAL_NFC_SPI_DWP_SYNC 21 +#define USE_COLD_RESET 0x00 extern int omapi_status; @@ -76,6 +77,7 @@ void EseSpiTransport::Close(void* pDevHandle) { return; } +#ifdef NXP_BOOTTIME_UPDATE /******************************************************************************* ** ** Function phNxpEse_spiIoctl @@ -117,6 +119,8 @@ ESESTATUS phNxpEse_spiIoctl(uint64_t ioctlType, void* p_data) { #endif return status; } +#endif + #if (NFC_NXP_ESE_VER == JCOP_VER_4_0) /******************************************************************************* ** @@ -190,6 +194,15 @@ ESESTATUS EseSpiTransport::OpenAndConfigure(pphPalEse_Config_t pConfig) { mConfigColdResetIntf = 0x01; /* Default interface is NFC HAL */ NXP_LOG_ESE_D("mConfigColdResetIntf: Default value "); } + /* Read eSE GPIO reset config */ + if (EseConfig::hasKey(NAME_NXP_ESE_GPIO_RESET)) { + mConfigGpioReset = EseConfig::getUnsigned(NAME_NXP_ESE_GPIO_RESET); + NXP_LOG_ESE_D("mConfigGpioReset value from config file = %ld", + mConfigGpioReset); + } else { + mConfigGpioReset = USE_COLD_RESET; + NXP_LOG_ESE_D("mConfigGpioReset: Default value "); + } NXP_LOG_ESE_D("Opening port=%s\n", pConfig->pDevName); /* open port */ retry: @@ -383,20 +396,26 @@ ESESTATUS EseSpiTransport::Ioctl(phPalEse_ControlCode_t eControlCode, case phPalEse_e_ChipRst: if (GET_CHIP_OS_VERSION() != OS_VERSION_4_0) { if (level == 5) { // SPI driver communication part - if (!mConfigColdResetIntf) { /* Call the driver IOCTL */ - retioctl = - ioctl((intptr_t)pDevHandle, ESE_PERFORM_COLD_RESET, level); + if (!mConfigColdResetIntf) { // Call the driver IOCTL + unsigned int cmd = ESE_PERFORM_COLD_RESET; + if ((mConfigGpioReset == 0x01) && + ((GET_CHIP_OS_VERSION() == OS_VERSION_8_9))) { + cmd = P61_SET_PWR; + } + retioctl = ioctl((intptr_t)pDevHandle, cmd, level); if (0x00 <= retioctl) { ret = ESESTATUS_SUCCESS; } } else { -#if (NFC_NXP_ESE_VER == JCOP_VER_5_x) - // Nfc Driver communication part - pNfcAdapt.Initialize(); - ret = pNfcAdapt.resetEse(level); -#else - ret = ESESTATUS_SUCCESS; -#endif + if ((NFC_NXP_ESE_VER == JCOP_VER_5_x) && + (GET_CHIP_OS_VERSION() != OS_VERSION_8_9)) { + // Nfc Driver communication part + pNfcAdapt.Initialize(); + ret = pNfcAdapt.resetEse(level); + } else { + NXP_LOG_ESE_E("%s: Not supported", __func__); + ret = ESESTATUS_SUCCESS; + } } } else { ret = ESESTATUS_SUCCESS; |