mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Fri Aug 14 13:15:17 2015 +0100
Revision:
610:813dcc80987e
Parent:
573:ad23fe03a082
Synchronized with git revision 6d84db41c6833e0b9b024741eb0616a5f62d5599

Full URL: https://github.com/mbedmicro/mbed/commit/6d84db41c6833e0b9b024741eb0616a5f62d5599/

DISCO_F746NG - Improvements

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 573:ad23fe03a082 1 /**
mbed_official 573:ad23fe03a082 2 ******************************************************************************
mbed_official 573:ad23fe03a082 3 * @file stm32f7xx_hal_cryp.h
mbed_official 573:ad23fe03a082 4 * @author MCD Application Team
mbed_official 610:813dcc80987e 5 * @version V1.0.1
mbed_official 610:813dcc80987e 6 * @date 25-June-2015
mbed_official 573:ad23fe03a082 7 * @brief Header file of CRYP HAL module.
mbed_official 573:ad23fe03a082 8 ******************************************************************************
mbed_official 573:ad23fe03a082 9 * @attention
mbed_official 573:ad23fe03a082 10 *
mbed_official 573:ad23fe03a082 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 573:ad23fe03a082 12 *
mbed_official 573:ad23fe03a082 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 573:ad23fe03a082 14 * are permitted provided that the following conditions are met:
mbed_official 573:ad23fe03a082 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 573:ad23fe03a082 16 * this list of conditions and the following disclaimer.
mbed_official 573:ad23fe03a082 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 573:ad23fe03a082 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 573:ad23fe03a082 19 * and/or other materials provided with the distribution.
mbed_official 573:ad23fe03a082 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 573:ad23fe03a082 21 * may be used to endorse or promote products derived from this software
mbed_official 573:ad23fe03a082 22 * without specific prior written permission.
mbed_official 573:ad23fe03a082 23 *
mbed_official 573:ad23fe03a082 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 573:ad23fe03a082 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 573:ad23fe03a082 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 573:ad23fe03a082 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 573:ad23fe03a082 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 573:ad23fe03a082 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 573:ad23fe03a082 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 573:ad23fe03a082 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 573:ad23fe03a082 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 573:ad23fe03a082 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 573:ad23fe03a082 34 *
mbed_official 573:ad23fe03a082 35 ******************************************************************************
mbed_official 573:ad23fe03a082 36 */
mbed_official 573:ad23fe03a082 37
mbed_official 573:ad23fe03a082 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 573:ad23fe03a082 39 #ifndef __STM32F7xx_HAL_CRYP_H
mbed_official 573:ad23fe03a082 40 #define __STM32F7xx_HAL_CRYP_H
mbed_official 573:ad23fe03a082 41
mbed_official 573:ad23fe03a082 42 #ifdef __cplusplus
mbed_official 573:ad23fe03a082 43 extern "C" {
mbed_official 573:ad23fe03a082 44 #endif
mbed_official 573:ad23fe03a082 45
mbed_official 573:ad23fe03a082 46 #if defined(STM32F756xx)
mbed_official 573:ad23fe03a082 47 /* Includes ------------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 48 #include "stm32f7xx_hal_def.h"
mbed_official 573:ad23fe03a082 49
mbed_official 573:ad23fe03a082 50 /** @addtogroup STM32F7xx_HAL_Driver
mbed_official 573:ad23fe03a082 51 * @{
mbed_official 573:ad23fe03a082 52 */
mbed_official 573:ad23fe03a082 53
mbed_official 573:ad23fe03a082 54 /** @addtogroup CRYP
mbed_official 573:ad23fe03a082 55 * @{
mbed_official 573:ad23fe03a082 56 */
mbed_official 573:ad23fe03a082 57
mbed_official 573:ad23fe03a082 58 /* Exported types ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 59
mbed_official 573:ad23fe03a082 60 /** @defgroup CRYP_Exported_Types CRYP Exported Types
mbed_official 573:ad23fe03a082 61 * @{
mbed_official 573:ad23fe03a082 62 */
mbed_official 573:ad23fe03a082 63
mbed_official 573:ad23fe03a082 64 /** @defgroup CRYP_Exported_Types_Group1 CRYP Configuration Structure definition
mbed_official 573:ad23fe03a082 65 * @{
mbed_official 573:ad23fe03a082 66 */
mbed_official 573:ad23fe03a082 67
mbed_official 573:ad23fe03a082 68 typedef struct
mbed_official 573:ad23fe03a082 69 {
mbed_official 573:ad23fe03a082 70 uint32_t DataType; /*!< 32-bit data, 16-bit data, 8-bit data or 1-bit string.
mbed_official 610:813dcc80987e 71 This parameter can be a value of @ref CRYP_Data_Type */
mbed_official 573:ad23fe03a082 72
mbed_official 573:ad23fe03a082 73 uint32_t KeySize; /*!< Used only in AES mode only : 128, 192 or 256 bit key length.
mbed_official 610:813dcc80987e 74 This parameter can be a value of @ref CRYP_Key_Size */
mbed_official 573:ad23fe03a082 75
mbed_official 573:ad23fe03a082 76 uint8_t* pKey; /*!< The key used for encryption/decryption */
mbed_official 573:ad23fe03a082 77
mbed_official 573:ad23fe03a082 78 uint8_t* pInitVect; /*!< The initialization vector used also as initialization
mbed_official 573:ad23fe03a082 79 counter in CTR mode */
mbed_official 573:ad23fe03a082 80
mbed_official 573:ad23fe03a082 81 uint8_t IVSize; /*!< The size of initialization vector.
mbed_official 573:ad23fe03a082 82 This parameter (called nonce size in CCM) is used only
mbed_official 573:ad23fe03a082 83 in AES-128/192/256 encryption/decryption CCM mode */
mbed_official 573:ad23fe03a082 84
mbed_official 573:ad23fe03a082 85 uint8_t TagSize; /*!< The size of returned authentication TAG.
mbed_official 573:ad23fe03a082 86 This parameter is used only in AES-128/192/256
mbed_official 573:ad23fe03a082 87 encryption/decryption CCM mode */
mbed_official 573:ad23fe03a082 88
mbed_official 573:ad23fe03a082 89 uint8_t* Header; /*!< The header used in GCM and CCM modes */
mbed_official 573:ad23fe03a082 90
mbed_official 573:ad23fe03a082 91 uint32_t HeaderSize; /*!< The size of header buffer in bytes */
mbed_official 573:ad23fe03a082 92
mbed_official 573:ad23fe03a082 93 uint8_t* pScratch; /*!< Scratch buffer used to append the header. It's size must be equal to header size + 21 bytes.
mbed_official 573:ad23fe03a082 94 This parameter is used only in AES-128/192/256 encryption/decryption CCM mode */
mbed_official 573:ad23fe03a082 95 }CRYP_InitTypeDef;
mbed_official 573:ad23fe03a082 96
mbed_official 573:ad23fe03a082 97 /**
mbed_official 573:ad23fe03a082 98 * @}
mbed_official 573:ad23fe03a082 99 */
mbed_official 573:ad23fe03a082 100
mbed_official 573:ad23fe03a082 101 /** @defgroup CRYP_Exported_Types_Group2 CRYP State structures definition
mbed_official 573:ad23fe03a082 102 * @{
mbed_official 573:ad23fe03a082 103 */
mbed_official 573:ad23fe03a082 104
mbed_official 573:ad23fe03a082 105
mbed_official 573:ad23fe03a082 106 typedef enum
mbed_official 573:ad23fe03a082 107 {
mbed_official 573:ad23fe03a082 108 HAL_CRYP_STATE_RESET = 0x00, /*!< CRYP not yet initialized or disabled */
mbed_official 573:ad23fe03a082 109 HAL_CRYP_STATE_READY = 0x01, /*!< CRYP initialized and ready for use */
mbed_official 573:ad23fe03a082 110 HAL_CRYP_STATE_BUSY = 0x02, /*!< CRYP internal processing is ongoing */
mbed_official 573:ad23fe03a082 111 HAL_CRYP_STATE_TIMEOUT = 0x03, /*!< CRYP timeout state */
mbed_official 573:ad23fe03a082 112 HAL_CRYP_STATE_ERROR = 0x04 /*!< CRYP error state */
mbed_official 573:ad23fe03a082 113 }HAL_CRYP_STATETypeDef;
mbed_official 573:ad23fe03a082 114
mbed_official 573:ad23fe03a082 115 /**
mbed_official 573:ad23fe03a082 116 * @}
mbed_official 573:ad23fe03a082 117 */
mbed_official 573:ad23fe03a082 118
mbed_official 573:ad23fe03a082 119 /** @defgroup CRYP_Exported_Types_Group3 CRYP phase structures definition
mbed_official 573:ad23fe03a082 120 * @{
mbed_official 573:ad23fe03a082 121 */
mbed_official 573:ad23fe03a082 122
mbed_official 573:ad23fe03a082 123
mbed_official 573:ad23fe03a082 124 typedef enum
mbed_official 573:ad23fe03a082 125 {
mbed_official 573:ad23fe03a082 126 HAL_CRYP_PHASE_READY = 0x01, /*!< CRYP peripheral is ready for initialization. */
mbed_official 573:ad23fe03a082 127 HAL_CRYP_PHASE_PROCESS = 0x02, /*!< CRYP peripheral is in processing phase */
mbed_official 573:ad23fe03a082 128 HAL_CRYP_PHASE_FINAL = 0x03 /*!< CRYP peripheral is in final phase
mbed_official 573:ad23fe03a082 129 This is relevant only with CCM and GCM modes */
mbed_official 573:ad23fe03a082 130 }HAL_PhaseTypeDef;
mbed_official 573:ad23fe03a082 131
mbed_official 573:ad23fe03a082 132 /**
mbed_official 573:ad23fe03a082 133 * @}
mbed_official 573:ad23fe03a082 134 */
mbed_official 573:ad23fe03a082 135
mbed_official 573:ad23fe03a082 136 /** @defgroup CRYP_Exported_Types_Group4 CRYP handle Structure definition
mbed_official 573:ad23fe03a082 137 * @{
mbed_official 573:ad23fe03a082 138 */
mbed_official 573:ad23fe03a082 139
mbed_official 573:ad23fe03a082 140 typedef struct
mbed_official 573:ad23fe03a082 141 {
mbed_official 573:ad23fe03a082 142 CRYP_TypeDef *Instance; /*!< CRYP registers base address */
mbed_official 573:ad23fe03a082 143
mbed_official 573:ad23fe03a082 144 CRYP_InitTypeDef Init; /*!< CRYP required parameters */
mbed_official 573:ad23fe03a082 145
mbed_official 573:ad23fe03a082 146 uint8_t *pCrypInBuffPtr; /*!< Pointer to CRYP processing (encryption, decryption,...) buffer */
mbed_official 573:ad23fe03a082 147
mbed_official 573:ad23fe03a082 148 uint8_t *pCrypOutBuffPtr; /*!< Pointer to CRYP processing (encryption, decryption,...) buffer */
mbed_official 573:ad23fe03a082 149
mbed_official 573:ad23fe03a082 150 __IO uint16_t CrypInCount; /*!< Counter of inputed data */
mbed_official 573:ad23fe03a082 151
mbed_official 573:ad23fe03a082 152 __IO uint16_t CrypOutCount; /*!< Counter of output data */
mbed_official 573:ad23fe03a082 153
mbed_official 573:ad23fe03a082 154 HAL_StatusTypeDef Status; /*!< CRYP peripheral status */
mbed_official 573:ad23fe03a082 155
mbed_official 573:ad23fe03a082 156 HAL_PhaseTypeDef Phase; /*!< CRYP peripheral phase */
mbed_official 573:ad23fe03a082 157
mbed_official 573:ad23fe03a082 158 DMA_HandleTypeDef *hdmain; /*!< CRYP In DMA handle parameters */
mbed_official 573:ad23fe03a082 159
mbed_official 573:ad23fe03a082 160 DMA_HandleTypeDef *hdmaout; /*!< CRYP Out DMA handle parameters */
mbed_official 573:ad23fe03a082 161
mbed_official 573:ad23fe03a082 162 HAL_LockTypeDef Lock; /*!< CRYP locking object */
mbed_official 573:ad23fe03a082 163
mbed_official 573:ad23fe03a082 164 __IO HAL_CRYP_STATETypeDef State; /*!< CRYP peripheral state */
mbed_official 573:ad23fe03a082 165 }CRYP_HandleTypeDef;
mbed_official 573:ad23fe03a082 166
mbed_official 573:ad23fe03a082 167 /**
mbed_official 573:ad23fe03a082 168 * @}
mbed_official 573:ad23fe03a082 169 */
mbed_official 573:ad23fe03a082 170
mbed_official 573:ad23fe03a082 171 /**
mbed_official 573:ad23fe03a082 172 * @}
mbed_official 573:ad23fe03a082 173 */
mbed_official 573:ad23fe03a082 174
mbed_official 573:ad23fe03a082 175 /* Exported constants --------------------------------------------------------*/
mbed_official 573:ad23fe03a082 176 /** @defgroup CRYP_Exported_Constants CRYP Exported Constants
mbed_official 573:ad23fe03a082 177 * @{
mbed_official 573:ad23fe03a082 178 */
mbed_official 573:ad23fe03a082 179
mbed_official 610:813dcc80987e 180 /** @defgroup CRYP_Key_Size CRYP Key Size
mbed_official 573:ad23fe03a082 181 * @{
mbed_official 573:ad23fe03a082 182 */
mbed_official 573:ad23fe03a082 183 #define CRYP_KEYSIZE_128B ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 184 #define CRYP_KEYSIZE_192B CRYP_CR_KEYSIZE_0
mbed_official 573:ad23fe03a082 185 #define CRYP_KEYSIZE_256B CRYP_CR_KEYSIZE_1
mbed_official 573:ad23fe03a082 186 /**
mbed_official 573:ad23fe03a082 187 * @}
mbed_official 573:ad23fe03a082 188 */
mbed_official 573:ad23fe03a082 189
mbed_official 610:813dcc80987e 190 /** @defgroup CRYP_Data_Type CRYP Data Type
mbed_official 573:ad23fe03a082 191 * @{
mbed_official 573:ad23fe03a082 192 */
mbed_official 573:ad23fe03a082 193 #define CRYP_DATATYPE_32B ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 194 #define CRYP_DATATYPE_16B CRYP_CR_DATATYPE_0
mbed_official 573:ad23fe03a082 195 #define CRYP_DATATYPE_8B CRYP_CR_DATATYPE_1
mbed_official 573:ad23fe03a082 196 #define CRYP_DATATYPE_1B CRYP_CR_DATATYPE
mbed_official 573:ad23fe03a082 197 /**
mbed_official 573:ad23fe03a082 198 * @}
mbed_official 573:ad23fe03a082 199 */
mbed_official 573:ad23fe03a082 200
mbed_official 573:ad23fe03a082 201 /** @defgroup CRYP_Exported_Constants_Group3 CRYP CRYP_AlgoModeDirection
mbed_official 573:ad23fe03a082 202 * @{
mbed_official 573:ad23fe03a082 203 */
mbed_official 573:ad23fe03a082 204 #define CRYP_CR_ALGOMODE_DIRECTION ((uint32_t)0x0008003C)
mbed_official 573:ad23fe03a082 205 #define CRYP_CR_ALGOMODE_TDES_ECB_ENCRYPT ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 206 #define CRYP_CR_ALGOMODE_TDES_ECB_DECRYPT ((uint32_t)0x00000004)
mbed_official 573:ad23fe03a082 207 #define CRYP_CR_ALGOMODE_TDES_CBC_ENCRYPT ((uint32_t)0x00000008)
mbed_official 573:ad23fe03a082 208 #define CRYP_CR_ALGOMODE_TDES_CBC_DECRYPT ((uint32_t)0x0000000C)
mbed_official 573:ad23fe03a082 209 #define CRYP_CR_ALGOMODE_DES_ECB_ENCRYPT ((uint32_t)0x00000010)
mbed_official 573:ad23fe03a082 210 #define CRYP_CR_ALGOMODE_DES_ECB_DECRYPT ((uint32_t)0x00000014)
mbed_official 573:ad23fe03a082 211 #define CRYP_CR_ALGOMODE_DES_CBC_ENCRYPT ((uint32_t)0x00000018)
mbed_official 573:ad23fe03a082 212 #define CRYP_CR_ALGOMODE_DES_CBC_DECRYPT ((uint32_t)0x0000001C)
mbed_official 573:ad23fe03a082 213 #define CRYP_CR_ALGOMODE_AES_ECB_ENCRYPT ((uint32_t)0x00000020)
mbed_official 573:ad23fe03a082 214 #define CRYP_CR_ALGOMODE_AES_ECB_DECRYPT ((uint32_t)0x00000024)
mbed_official 573:ad23fe03a082 215 #define CRYP_CR_ALGOMODE_AES_CBC_ENCRYPT ((uint32_t)0x00000028)
mbed_official 573:ad23fe03a082 216 #define CRYP_CR_ALGOMODE_AES_CBC_DECRYPT ((uint32_t)0x0000002C)
mbed_official 573:ad23fe03a082 217 #define CRYP_CR_ALGOMODE_AES_CTR_ENCRYPT ((uint32_t)0x00000030)
mbed_official 573:ad23fe03a082 218 #define CRYP_CR_ALGOMODE_AES_CTR_DECRYPT ((uint32_t)0x00000034)
mbed_official 573:ad23fe03a082 219 /**
mbed_official 573:ad23fe03a082 220 * @}
mbed_official 573:ad23fe03a082 221 */
mbed_official 573:ad23fe03a082 222
mbed_official 573:ad23fe03a082 223 /** @defgroup CRYP_Exported_Constants_Group4 CRYP CRYP_Interrupt
mbed_official 573:ad23fe03a082 224 * @{
mbed_official 573:ad23fe03a082 225 */
mbed_official 573:ad23fe03a082 226 #define CRYP_IT_INI ((uint32_t)CRYP_IMSCR_INIM) /*!< Input FIFO Interrupt */
mbed_official 573:ad23fe03a082 227 #define CRYP_IT_OUTI ((uint32_t)CRYP_IMSCR_OUTIM) /*!< Output FIFO Interrupt */
mbed_official 573:ad23fe03a082 228 /**
mbed_official 573:ad23fe03a082 229 * @}
mbed_official 573:ad23fe03a082 230 */
mbed_official 573:ad23fe03a082 231
mbed_official 573:ad23fe03a082 232 /** @defgroup CRYP_Exported_Constants_Group5 CRYP CRYP_Flags
mbed_official 573:ad23fe03a082 233 * @{
mbed_official 573:ad23fe03a082 234 */
mbed_official 573:ad23fe03a082 235 #define CRYP_FLAG_BUSY ((uint32_t)0x00000010) /*!< The CRYP core is currently
mbed_official 573:ad23fe03a082 236 processing a block of data
mbed_official 573:ad23fe03a082 237 or a key preparation (for
mbed_official 573:ad23fe03a082 238 AES decryption). */
mbed_official 573:ad23fe03a082 239 #define CRYP_FLAG_IFEM ((uint32_t)0x00000001) /*!< Input FIFO is empty */
mbed_official 573:ad23fe03a082 240 #define CRYP_FLAG_IFNF ((uint32_t)0x00000002) /*!< Input FIFO is not Full */
mbed_official 573:ad23fe03a082 241 #define CRYP_FLAG_OFNE ((uint32_t)0x00000004) /*!< Output FIFO is not empty */
mbed_official 573:ad23fe03a082 242 #define CRYP_FLAG_OFFU ((uint32_t)0x00000008) /*!< Output FIFO is Full */
mbed_official 573:ad23fe03a082 243 #define CRYP_FLAG_OUTRIS ((uint32_t)0x01000002) /*!< Output FIFO service raw
mbed_official 573:ad23fe03a082 244 interrupt status */
mbed_official 573:ad23fe03a082 245 #define CRYP_FLAG_INRIS ((uint32_t)0x01000001) /*!< Input FIFO service raw
mbed_official 573:ad23fe03a082 246 interrupt status */
mbed_official 573:ad23fe03a082 247 /**
mbed_official 573:ad23fe03a082 248 * @}
mbed_official 573:ad23fe03a082 249 */
mbed_official 573:ad23fe03a082 250
mbed_official 573:ad23fe03a082 251 /**
mbed_official 573:ad23fe03a082 252 * @}
mbed_official 573:ad23fe03a082 253 */
mbed_official 573:ad23fe03a082 254
mbed_official 573:ad23fe03a082 255 /* Exported macro ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 256 /** @defgroup CRYP_Exported_Macros CRYP Exported Macros
mbed_official 573:ad23fe03a082 257 * @{
mbed_official 573:ad23fe03a082 258 */
mbed_official 573:ad23fe03a082 259
mbed_official 573:ad23fe03a082 260 /** @brief Reset CRYP handle state
mbed_official 573:ad23fe03a082 261 * @param __HANDLE__: specifies the CRYP handle.
mbed_official 573:ad23fe03a082 262 * @retval None
mbed_official 573:ad23fe03a082 263 */
mbed_official 573:ad23fe03a082 264 #define __HAL_CRYP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_CRYP_STATE_RESET)
mbed_official 573:ad23fe03a082 265
mbed_official 573:ad23fe03a082 266 /**
mbed_official 573:ad23fe03a082 267 * @brief Enable/Disable the CRYP peripheral.
mbed_official 573:ad23fe03a082 268 * @param __HANDLE__: specifies the CRYP handle.
mbed_official 573:ad23fe03a082 269 * @retval None
mbed_official 573:ad23fe03a082 270 */
mbed_official 573:ad23fe03a082 271 #define __HAL_CRYP_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRYP_CR_CRYPEN)
mbed_official 573:ad23fe03a082 272 #define __HAL_CRYP_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~CRYP_CR_CRYPEN)
mbed_official 573:ad23fe03a082 273
mbed_official 573:ad23fe03a082 274 /**
mbed_official 573:ad23fe03a082 275 * @brief Flush the data FIFO.
mbed_official 573:ad23fe03a082 276 * @param __HANDLE__: specifies the CRYP handle.
mbed_official 573:ad23fe03a082 277 * @retval None
mbed_official 573:ad23fe03a082 278 */
mbed_official 573:ad23fe03a082 279 #define __HAL_CRYP_FIFO_FLUSH(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRYP_CR_FFLUSH)
mbed_official 573:ad23fe03a082 280
mbed_official 573:ad23fe03a082 281 /**
mbed_official 573:ad23fe03a082 282 * @brief Set the algorithm mode: AES-ECB, AES-CBC, AES-CTR, DES-ECB, DES-CBC.
mbed_official 573:ad23fe03a082 283 * @param __HANDLE__: specifies the CRYP handle.
mbed_official 573:ad23fe03a082 284 * @param MODE: The algorithm mode.
mbed_official 573:ad23fe03a082 285 * @retval None
mbed_official 573:ad23fe03a082 286 */
mbed_official 573:ad23fe03a082 287 #define __HAL_CRYP_SET_MODE(__HANDLE__, MODE) ((__HANDLE__)->Instance->CR |= (uint32_t)(MODE))
mbed_official 573:ad23fe03a082 288
mbed_official 573:ad23fe03a082 289 /** @brief Check whether the specified CRYP flag is set or not.
mbed_official 573:ad23fe03a082 290 * @param __HANDLE__: specifies the CRYP handle.
mbed_official 573:ad23fe03a082 291 * @param __FLAG__: specifies the flag to check.
mbed_official 573:ad23fe03a082 292 * This parameter can be one of the following values:
mbed_official 573:ad23fe03a082 293 * @arg CRYP_FLAG_BUSY: The CRYP core is currently processing a block of data
mbed_official 573:ad23fe03a082 294 * or a key preparation (for AES decryption).
mbed_official 573:ad23fe03a082 295 * @arg CRYP_FLAG_IFEM: Input FIFO is empty
mbed_official 573:ad23fe03a082 296 * @arg CRYP_FLAG_IFNF: Input FIFO is not full
mbed_official 573:ad23fe03a082 297 * @arg CRYP_FLAG_INRIS: Input FIFO service raw interrupt is pending
mbed_official 573:ad23fe03a082 298 * @arg CRYP_FLAG_OFNE: Output FIFO is not empty
mbed_official 573:ad23fe03a082 299 * @arg CRYP_FLAG_OFFU: Output FIFO is full
mbed_official 573:ad23fe03a082 300 * @arg CRYP_FLAG_OUTRIS: Input FIFO service raw interrupt is pending
mbed_official 573:ad23fe03a082 301 * @retval The new state of __FLAG__ (TRUE or FALSE).
mbed_official 573:ad23fe03a082 302 */
mbed_official 573:ad23fe03a082 303
mbed_official 573:ad23fe03a082 304 #define __HAL_CRYP_GET_FLAG(__HANDLE__, __FLAG__) ((((uint8_t)((__FLAG__) >> 24)) == 0x01)?((((__HANDLE__)->Instance->RISR) & ((__FLAG__) & CRYP_FLAG_MASK)) == ((__FLAG__) & CRYP_FLAG_MASK)): \
mbed_official 573:ad23fe03a082 305 ((((__HANDLE__)->Instance->RISR) & ((__FLAG__) & CRYP_FLAG_MASK)) == ((__FLAG__) & CRYP_FLAG_MASK)))
mbed_official 573:ad23fe03a082 306
mbed_official 573:ad23fe03a082 307 /** @brief Check whether the specified CRYP interrupt is set or not.
mbed_official 573:ad23fe03a082 308 * @param __HANDLE__: specifies the CRYP handle.
mbed_official 573:ad23fe03a082 309 * @param __INTERRUPT__: specifies the interrupt to check.
mbed_official 573:ad23fe03a082 310 * This parameter can be one of the following values:
mbed_official 573:ad23fe03a082 311 * @arg CRYP_IT_INRIS: Input FIFO service raw interrupt is pending
mbed_official 573:ad23fe03a082 312 * @arg CRYP_IT_OUTRIS: Output FIFO service raw interrupt is pending
mbed_official 573:ad23fe03a082 313 * @retval The new state of __INTERRUPT__ (TRUE or FALSE).
mbed_official 573:ad23fe03a082 314 */
mbed_official 573:ad23fe03a082 315 #define __HAL_CRYP_GET_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->MISR & (__INTERRUPT__)) == (__INTERRUPT__))
mbed_official 573:ad23fe03a082 316
mbed_official 573:ad23fe03a082 317 /**
mbed_official 573:ad23fe03a082 318 * @brief Enable the CRYP interrupt.
mbed_official 573:ad23fe03a082 319 * @param __HANDLE__: specifies the CRYP handle.
mbed_official 573:ad23fe03a082 320 * @param __INTERRUPT__: CRYP Interrupt.
mbed_official 573:ad23fe03a082 321 * @retval None
mbed_official 573:ad23fe03a082 322 */
mbed_official 573:ad23fe03a082 323 #define __HAL_CRYP_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->IMSCR) |= (__INTERRUPT__))
mbed_official 573:ad23fe03a082 324
mbed_official 573:ad23fe03a082 325 /**
mbed_official 573:ad23fe03a082 326 * @brief Disable the CRYP interrupt.
mbed_official 573:ad23fe03a082 327 * @param __HANDLE__: specifies the CRYP handle.
mbed_official 573:ad23fe03a082 328 * @param __INTERRUPT__: CRYP interrupt.
mbed_official 573:ad23fe03a082 329 * @retval None
mbed_official 573:ad23fe03a082 330 */
mbed_official 573:ad23fe03a082 331 #define __HAL_CRYP_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->IMSCR) &= ~(__INTERRUPT__))
mbed_official 573:ad23fe03a082 332
mbed_official 573:ad23fe03a082 333 /**
mbed_official 573:ad23fe03a082 334 * @}
mbed_official 573:ad23fe03a082 335 */
mbed_official 573:ad23fe03a082 336
mbed_official 573:ad23fe03a082 337 /* Include CRYP HAL Extension module */
mbed_official 573:ad23fe03a082 338 #include "stm32f7xx_hal_cryp_ex.h"
mbed_official 573:ad23fe03a082 339
mbed_official 573:ad23fe03a082 340 /* Exported functions --------------------------------------------------------*/
mbed_official 573:ad23fe03a082 341 /** @defgroup CRYP_Exported_Functions CRYP Exported Functions
mbed_official 573:ad23fe03a082 342 * @{
mbed_official 573:ad23fe03a082 343 */
mbed_official 573:ad23fe03a082 344
mbed_official 573:ad23fe03a082 345 /** @addtogroup CRYP_Exported_Functions_Group1
mbed_official 573:ad23fe03a082 346 * @{
mbed_official 573:ad23fe03a082 347 */
mbed_official 573:ad23fe03a082 348 HAL_StatusTypeDef HAL_CRYP_Init(CRYP_HandleTypeDef *hcryp);
mbed_official 573:ad23fe03a082 349 HAL_StatusTypeDef HAL_CRYP_DeInit(CRYP_HandleTypeDef *hcryp);
mbed_official 573:ad23fe03a082 350 void HAL_CRYP_MspInit(CRYP_HandleTypeDef *hcryp);
mbed_official 573:ad23fe03a082 351 void HAL_CRYP_MspDeInit(CRYP_HandleTypeDef *hcryp);
mbed_official 573:ad23fe03a082 352 /**
mbed_official 573:ad23fe03a082 353 * @}
mbed_official 573:ad23fe03a082 354 */
mbed_official 573:ad23fe03a082 355
mbed_official 573:ad23fe03a082 356 /** @addtogroup CRYP_Exported_Functions_Group2
mbed_official 573:ad23fe03a082 357 * @{
mbed_official 573:ad23fe03a082 358 */
mbed_official 573:ad23fe03a082 359 /* AES encryption/decryption using polling ***********************************/
mbed_official 573:ad23fe03a082 360 HAL_StatusTypeDef HAL_CRYP_AESECB_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 361 HAL_StatusTypeDef HAL_CRYP_AESECB_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 362 HAL_StatusTypeDef HAL_CRYP_AESCBC_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 363 HAL_StatusTypeDef HAL_CRYP_AESCBC_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 364 HAL_StatusTypeDef HAL_CRYP_AESCTR_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 365 HAL_StatusTypeDef HAL_CRYP_AESCTR_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 366
mbed_official 573:ad23fe03a082 367 /* AES encryption/decryption using interrupt *********************************/
mbed_official 573:ad23fe03a082 368 HAL_StatusTypeDef HAL_CRYP_AESECB_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 369 HAL_StatusTypeDef HAL_CRYP_AESCBC_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 370 HAL_StatusTypeDef HAL_CRYP_AESCTR_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 371 HAL_StatusTypeDef HAL_CRYP_AESECB_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 372 HAL_StatusTypeDef HAL_CRYP_AESCTR_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 373 HAL_StatusTypeDef HAL_CRYP_AESCBC_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 374
mbed_official 573:ad23fe03a082 375 /* AES encryption/decryption using DMA ***************************************/
mbed_official 573:ad23fe03a082 376 HAL_StatusTypeDef HAL_CRYP_AESECB_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 377 HAL_StatusTypeDef HAL_CRYP_AESECB_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 378 HAL_StatusTypeDef HAL_CRYP_AESCBC_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 379 HAL_StatusTypeDef HAL_CRYP_AESCBC_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 380 HAL_StatusTypeDef HAL_CRYP_AESCTR_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 381 HAL_StatusTypeDef HAL_CRYP_AESCTR_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 382 /**
mbed_official 573:ad23fe03a082 383 * @}
mbed_official 573:ad23fe03a082 384 */
mbed_official 573:ad23fe03a082 385
mbed_official 573:ad23fe03a082 386 /** @addtogroup CRYP_Exported_Functions_Group3
mbed_official 573:ad23fe03a082 387 * @{
mbed_official 573:ad23fe03a082 388 */
mbed_official 573:ad23fe03a082 389 /* DES encryption/decryption using polling ***********************************/
mbed_official 573:ad23fe03a082 390 HAL_StatusTypeDef HAL_CRYP_DESECB_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 391 HAL_StatusTypeDef HAL_CRYP_DESCBC_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 392 HAL_StatusTypeDef HAL_CRYP_DESECB_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 393 HAL_StatusTypeDef HAL_CRYP_DESCBC_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 394
mbed_official 573:ad23fe03a082 395 /* DES encryption/decryption using interrupt *********************************/
mbed_official 573:ad23fe03a082 396 HAL_StatusTypeDef HAL_CRYP_DESECB_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 397 HAL_StatusTypeDef HAL_CRYP_DESECB_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 398 HAL_StatusTypeDef HAL_CRYP_DESCBC_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 399 HAL_StatusTypeDef HAL_CRYP_DESCBC_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 400
mbed_official 573:ad23fe03a082 401 /* DES encryption/decryption using DMA ***************************************/
mbed_official 573:ad23fe03a082 402 HAL_StatusTypeDef HAL_CRYP_DESECB_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 403 HAL_StatusTypeDef HAL_CRYP_DESECB_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 404 HAL_StatusTypeDef HAL_CRYP_DESCBC_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 405 HAL_StatusTypeDef HAL_CRYP_DESCBC_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 406 /**
mbed_official 573:ad23fe03a082 407 * @}
mbed_official 573:ad23fe03a082 408 */
mbed_official 573:ad23fe03a082 409
mbed_official 573:ad23fe03a082 410 /** @addtogroup CRYP_Exported_Functions_Group4
mbed_official 573:ad23fe03a082 411 * @{
mbed_official 573:ad23fe03a082 412 */
mbed_official 573:ad23fe03a082 413 /* TDES encryption/decryption using polling **********************************/
mbed_official 573:ad23fe03a082 414 HAL_StatusTypeDef HAL_CRYP_TDESECB_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 415 HAL_StatusTypeDef HAL_CRYP_TDESCBC_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 416 HAL_StatusTypeDef HAL_CRYP_TDESECB_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 417 HAL_StatusTypeDef HAL_CRYP_TDESCBC_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout);
mbed_official 573:ad23fe03a082 418
mbed_official 573:ad23fe03a082 419 /* TDES encryption/decryption using interrupt ********************************/
mbed_official 573:ad23fe03a082 420 HAL_StatusTypeDef HAL_CRYP_TDESECB_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 421 HAL_StatusTypeDef HAL_CRYP_TDESECB_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 422 HAL_StatusTypeDef HAL_CRYP_TDESCBC_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 423 HAL_StatusTypeDef HAL_CRYP_TDESCBC_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 424
mbed_official 573:ad23fe03a082 425 /* TDES encryption/decryption using DMA **************************************/
mbed_official 573:ad23fe03a082 426 HAL_StatusTypeDef HAL_CRYP_TDESECB_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 427 HAL_StatusTypeDef HAL_CRYP_TDESECB_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 428 HAL_StatusTypeDef HAL_CRYP_TDESCBC_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
mbed_official 573:ad23fe03a082 429 HAL_StatusTypeDef HAL_CRYP_TDESCBC_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
mbed_official 573:ad23fe03a082 430 /**
mbed_official 573:ad23fe03a082 431 * @}
mbed_official 573:ad23fe03a082 432 */
mbed_official 573:ad23fe03a082 433
mbed_official 573:ad23fe03a082 434 /** @addtogroup CRYP_Exported_Functions_Group5
mbed_official 573:ad23fe03a082 435 * @{
mbed_official 573:ad23fe03a082 436 */
mbed_official 573:ad23fe03a082 437 void HAL_CRYP_InCpltCallback(CRYP_HandleTypeDef *hcryp);
mbed_official 573:ad23fe03a082 438 void HAL_CRYP_OutCpltCallback(CRYP_HandleTypeDef *hcryp);
mbed_official 573:ad23fe03a082 439 void HAL_CRYP_ErrorCallback(CRYP_HandleTypeDef *hcryp);
mbed_official 573:ad23fe03a082 440 /**
mbed_official 573:ad23fe03a082 441 * @}
mbed_official 573:ad23fe03a082 442 */
mbed_official 573:ad23fe03a082 443
mbed_official 573:ad23fe03a082 444 /** @addtogroup CRYP_Exported_Functions_Group6
mbed_official 573:ad23fe03a082 445 * @{
mbed_official 573:ad23fe03a082 446 */
mbed_official 573:ad23fe03a082 447 void HAL_CRYP_IRQHandler(CRYP_HandleTypeDef *hcryp);
mbed_official 573:ad23fe03a082 448 /**
mbed_official 573:ad23fe03a082 449 * @}
mbed_official 573:ad23fe03a082 450 */
mbed_official 573:ad23fe03a082 451
mbed_official 573:ad23fe03a082 452 /** @addtogroup CRYP_Exported_Functions_Group7
mbed_official 573:ad23fe03a082 453 * @{
mbed_official 573:ad23fe03a082 454 */
mbed_official 573:ad23fe03a082 455 HAL_CRYP_STATETypeDef HAL_CRYP_GetState(CRYP_HandleTypeDef *hcryp);
mbed_official 573:ad23fe03a082 456 /**
mbed_official 573:ad23fe03a082 457 * @}
mbed_official 573:ad23fe03a082 458 */
mbed_official 573:ad23fe03a082 459
mbed_official 573:ad23fe03a082 460 /**
mbed_official 573:ad23fe03a082 461 * @}
mbed_official 573:ad23fe03a082 462 */
mbed_official 573:ad23fe03a082 463
mbed_official 573:ad23fe03a082 464 /* Private types -------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 465 /** @defgroup CRYP_Private_Types CRYP Private Types
mbed_official 573:ad23fe03a082 466 * @{
mbed_official 573:ad23fe03a082 467 */
mbed_official 573:ad23fe03a082 468
mbed_official 573:ad23fe03a082 469 /**
mbed_official 573:ad23fe03a082 470 * @}
mbed_official 573:ad23fe03a082 471 */
mbed_official 573:ad23fe03a082 472
mbed_official 573:ad23fe03a082 473 /* Private variables ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 474 /** @defgroup CRYP_Private_Variables CRYP Private Variables
mbed_official 573:ad23fe03a082 475 * @{
mbed_official 573:ad23fe03a082 476 */
mbed_official 573:ad23fe03a082 477
mbed_official 573:ad23fe03a082 478 /**
mbed_official 573:ad23fe03a082 479 * @}
mbed_official 573:ad23fe03a082 480 */
mbed_official 573:ad23fe03a082 481
mbed_official 573:ad23fe03a082 482 /* Private constants ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 483 /** @defgroup CRYP_Private_Constants CRYP Private Constants
mbed_official 573:ad23fe03a082 484 * @{
mbed_official 573:ad23fe03a082 485 */
mbed_official 573:ad23fe03a082 486 #define CRYP_FLAG_MASK ((uint32_t)0x0000001F)
mbed_official 573:ad23fe03a082 487 /**
mbed_official 573:ad23fe03a082 488 * @}
mbed_official 573:ad23fe03a082 489 */
mbed_official 573:ad23fe03a082 490
mbed_official 573:ad23fe03a082 491 /* Private macros ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 492 /** @defgroup CRYP_Private_Macros CRYP Private Macros
mbed_official 573:ad23fe03a082 493 * @{
mbed_official 573:ad23fe03a082 494 */
mbed_official 573:ad23fe03a082 495
mbed_official 573:ad23fe03a082 496 #define IS_CRYP_KEYSIZE(__KEYSIZE__) (((__KEYSIZE__) == CRYP_KEYSIZE_128B) || \
mbed_official 573:ad23fe03a082 497 ((__KEYSIZE__) == CRYP_KEYSIZE_192B) || \
mbed_official 573:ad23fe03a082 498 ((__KEYSIZE__) == CRYP_KEYSIZE_256B))
mbed_official 573:ad23fe03a082 499
mbed_official 573:ad23fe03a082 500
mbed_official 573:ad23fe03a082 501 #define IS_CRYP_DATATYPE(__DATATYPE__) (((__DATATYPE__) == CRYP_DATATYPE_32B) || \
mbed_official 573:ad23fe03a082 502 ((__DATATYPE__) == CRYP_DATATYPE_16B) || \
mbed_official 573:ad23fe03a082 503 ((__DATATYPE__) == CRYP_DATATYPE_8B) || \
mbed_official 573:ad23fe03a082 504 ((__DATATYPE__) == CRYP_DATATYPE_1B))
mbed_official 573:ad23fe03a082 505
mbed_official 573:ad23fe03a082 506
mbed_official 573:ad23fe03a082 507 /**
mbed_official 573:ad23fe03a082 508 * @}
mbed_official 573:ad23fe03a082 509 */
mbed_official 573:ad23fe03a082 510
mbed_official 573:ad23fe03a082 511 /* Private functions ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 512 /** @defgroup CRYP_Private_Functions CRYP Private Functions
mbed_official 573:ad23fe03a082 513 * @{
mbed_official 573:ad23fe03a082 514 */
mbed_official 573:ad23fe03a082 515
mbed_official 573:ad23fe03a082 516 /**
mbed_official 573:ad23fe03a082 517 * @}
mbed_official 573:ad23fe03a082 518 */
mbed_official 573:ad23fe03a082 519
mbed_official 573:ad23fe03a082 520 /**
mbed_official 573:ad23fe03a082 521 * @}
mbed_official 573:ad23fe03a082 522 */
mbed_official 573:ad23fe03a082 523
mbed_official 573:ad23fe03a082 524 #endif /* STM32F756xx */
mbed_official 573:ad23fe03a082 525
mbed_official 573:ad23fe03a082 526 /**
mbed_official 573:ad23fe03a082 527 * @}
mbed_official 573:ad23fe03a082 528 */
mbed_official 573:ad23fe03a082 529
mbed_official 573:ad23fe03a082 530 #ifdef __cplusplus
mbed_official 573:ad23fe03a082 531 }
mbed_official 573:ad23fe03a082 532 #endif
mbed_official 573:ad23fe03a082 533
mbed_official 573:ad23fe03a082 534 #endif /* __STM32F7xx_HAL_CRYP_H */
mbed_official 573:ad23fe03a082 535
mbed_official 573:ad23fe03a082 536 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/