diff options
Diffstat (limited to 'FreeRTOS-Plus/Source/WolfSSL/wolfcrypt/src/port/ti/ti-ccm.c')
-rw-r--r-- | FreeRTOS-Plus/Source/WolfSSL/wolfcrypt/src/port/ti/ti-ccm.c | 62 |
1 files changed, 37 insertions, 25 deletions
diff --git a/FreeRTOS-Plus/Source/WolfSSL/wolfcrypt/src/port/ti/ti-ccm.c b/FreeRTOS-Plus/Source/WolfSSL/wolfcrypt/src/port/ti/ti-ccm.c index 09705cfb8..5c0051e03 100644 --- a/FreeRTOS-Plus/Source/WolfSSL/wolfcrypt/src/port/ti/ti-ccm.c +++ b/FreeRTOS-Plus/Source/WolfSSL/wolfcrypt/src/port/ti/ti-ccm.c @@ -1,8 +1,8 @@ /* port/ti/ti_ccm.c * - * Copyright (C) 2006-2015 wolfSSL Inc. + * Copyright (C) 2006-2020 wolfSSL Inc. * - * This file is part of wolfSSL. (formerly known as CyaSSL) + * This file is part of wolfSSL. * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,9 +16,10 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA */ + #ifdef HAVE_CONFIG_H #include <config.h> #endif @@ -27,56 +28,67 @@ #if defined(WOLFSSL_TI_CRYPT) || defined(WOLFSSL_TI_HASH) - +#include "wolfssl/wolfcrypt/port/ti/ti-ccm.h" #include <stdbool.h> #include <stdint.h> +#ifndef TI_DUMMY_BUILD #include "driverlib/sysctl.h" #include "driverlib/rom_map.h" #include "driverlib/rom.h" #ifndef SINGLE_THREADED #include <wolfssl/wolfcrypt/wc_port.h> - static wolfSSL_Mutex TI_CCM_Mutex ; + static wolfSSL_Mutex TI_CCM_Mutex; #endif +#endif /* TI_DUMMY_BUILD */ #define TIMEOUT 500000 -#define WAIT(stat) { volatile int i ; for(i=0; i<TIMEOUT; i++)if(stat)break ; if(i==TIMEOUT)return(false) ; } +#define WAIT(stat) { volatile int i; for(i=0; i<TIMEOUT; i++)if(stat)break; if(i==TIMEOUT)return(false); } -static bool ccm_init = false ; -bool wolfSSL_TI_CCMInit(void) +static bool ccm_init = false; +int wolfSSL_TI_CCMInit(void) { - if(ccm_init)return true ; - ccm_init = true ; + if (ccm_init) + return true; + ccm_init = true; +#ifndef TI_DUMMY_BUILD SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480), 120000000); - - if(!ROM_SysCtlPeripheralPresent(SYSCTL_PERIPH_CCM0)) - return false ; - + + if (!ROM_SysCtlPeripheralPresent(SYSCTL_PERIPH_CCM0)) + return false; + ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_CCM0); - WAIT(ROM_SysCtlPeripheralReady(SYSCTL_PERIPH_CCM0)) ; + WAIT(ROM_SysCtlPeripheralReady(SYSCTL_PERIPH_CCM0)); ROM_SysCtlPeripheralReset(SYSCTL_PERIPH_CCM0); - WAIT(ROM_SysCtlPeripheralReady(SYSCTL_PERIPH_CCM0)) ; - + WAIT(ROM_SysCtlPeripheralReady(SYSCTL_PERIPH_CCM0)); + #ifndef SINGLE_THREADED - InitMutex(&TI_CCM_Mutex) ; + if (wc_InitMutex(&TI_CCM_Mutex)) + return false; #endif +#endif /* !TI_DUMMY_BUILD */ - return true ; + return true; } #ifndef SINGLE_THREADED -void wolfSSL_TI_lockCCM() { - LockMutex(&TI_CCM_Mutex) ; +void wolfSSL_TI_lockCCM(void) +{ +#ifndef TI_DUMMY_BUILD + wc_LockMutex(&TI_CCM_Mutex); +#endif } -void wolfSSL_TI_unlockCCM() { - UnLockMutex(&TI_CCM_Mutex) ; -} +void wolfSSL_TI_unlockCCM(void){ +#ifndef TI_DUMMY_BUILD + wc_UnLockMutex(&TI_CCM_Mutex); #endif +} +#endif /* !SINGLE_THREADED */ -#endif +#endif /* WOLFSSL_TI_CRYPT || WOLFSSL_TI_HASH */ |