summaryrefslogtreecommitdiffstats
path: root/bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h')
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h920
1 files changed, 476 insertions, 444 deletions
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h
index 16d05c5563..4747ab59fe 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_otfdec.h
@@ -1,461 +1,493 @@
-/**
- ******************************************************************************
- * @file stm32h7xx_hal_otfdec.h
- * @author MCD Application Team
- * @brief Header file of OTFDEC HAL module.
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2018 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-#ifndef __STM32H7xx_HAL_OTFDEC_H
-#define __STM32H7xx_HAL_OTFDEC_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-#if defined(OTFDEC1)
-/* Includes ------------------------------------------------------------------*/
-#include "stm32h7xx_hal_def.h"
-
-/** @addtogroup STM32H7xx_HAL_Driver
- * @{
- */
-
-/** @addtogroup OTFDEC
- * @{
- */
-
-/* Exported types ------------------------------------------------------------*/
-
-/** @defgroup OTFDEC_Exported_Types OTFDEC Exported Types
+/**
+ ******************************************************************************
+ * @file stm32h7xx_hal_otfdec.h
+ * @author MCD Application Team
+ * @brief Header file of OTFDEC HAL module.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2018 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef STM32H7xx_HAL_OTFDEC_H
+#define STM32H7xx_HAL_OTFDEC_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32h7xx_hal_def.h"
+
+/** @addtogroup STM32H7xx_HAL_Driver
+ * @{
+ */
+
+#if defined(OTFDEC1)
+
+/** @addtogroup OTFDEC
+ * @{
+ */
+
+/* Exported types ------------------------------------------------------------*/
+
+/** @defgroup OTFDEC_Exported_Types OTFDEC Exported Types
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/** @defgroup OTFDEC_Exported_Types_Group1 OTFDEC region configuration definitions
+ * @{
+ */
+
+/** @defgroup OTFDEC_Exported_Types_Group1 OTFDEC region configuration definitions
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/**
- * @brief OTFDEC region configuration structure definition
- */
-typedef struct
-{
- uint32_t Nonce[2]; /*!< OTFDEC region nonce */
-
- uint32_t StartAddress; /*!< OTFDEC region start address */
-
- uint32_t EndAddress; /*!< OTFDEC region end address */
-
- uint16_t Version; /*!< OTFDEC region firmware version */
-
-}OTFDEC_RegionConfigTypeDef;
-
-/**
- * @}
- */
-
-/** @defgroup OTFDEC_Exported_Types_Group2 OTFDEC Peripheral handle definitions
+ * @{
+ */
+
+/**
+ * @brief OTFDEC region configuration structure definition
+ */
+typedef struct
+{
+ uint32_t Nonce[2]; /*!< OTFDEC region nonce */
+
+ uint32_t StartAddress; /*!< OTFDEC region start address */
+
+ uint32_t EndAddress; /*!< OTFDEC region end address */
+
+ uint16_t Version; /*!< OTFDEC region firmware version */
+
+} OTFDEC_RegionConfigTypeDef;
+
+/**
+ * @}
+ */
+
+/** @defgroup OTFDEC_Exported_Types_Group2 OTFDEC Peripheral handle definitions
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/**
- * @brief OTFDEC states structure definition
- */
-typedef enum
-{
- HAL_OTFDEC_STATE_RESET = 0x00U, /*!< OTFDEC not yet initialized or disabled */
- HAL_OTFDEC_STATE_READY = 0x01U, /*!< OTFDEC initialized and ready for use */
- HAL_OTFDEC_STATE_BUSY = 0x02U, /*!< OTFDEC internal processing is ongoing */
-}HAL_OTFDEC_StateTypeDef;
-
-/**
- * @brief OTFDEC handle structure definition
- */
-#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
-typedef struct __OTFDEC_HandleTypeDef
-#else
-typedef struct
-#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
-{
- OTFDEC_TypeDef *Instance; /*!< OTFDEC registers base address */
-
- HAL_OTFDEC_StateTypeDef State; /*!< OTFDEC state */
-
- HAL_LockTypeDef Lock; /*!< OTFDEC locking object */
-
- __IO uint32_t ErrorCode; /*!< OTFDEC error code */
-
-#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
- void (* ErrorCallback)(struct __OTFDEC_HandleTypeDef *hotfdec); /*!< OTFDEC error callback */
-
- void (* MspInitCallback)(struct __OTFDEC_HandleTypeDef *hotfdec); /*!< OTFDEC Msp Init callback */
-
- void (* MspDeInitCallback)(struct __OTFDEC_HandleTypeDef *hotfdec); /*!< OTFDEC Msp DeInit callback */
-#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
-
-}OTFDEC_HandleTypeDef;
-
-#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
-/**
- * @brief HAL OTFDEC Callback ID enumeration definition
- */
-typedef enum
-{
- HAL_OTFDEC_ERROR_CB_ID = 0x00U, /*!< OTFDEC error callback ID */
- HAL_OTFDEC_MSPINIT_CB_ID = 0x01U, /*!< OTFDEC Msp DeInit callback ID */
- HAL_OTFDEC_MSPDEINIT_CB_ID = 0x02U /*!< OTFDEC Msp DeInit callback ID */
-} HAL_OTFDEC_CallbackIDTypeDef;
-
-/**
- * @brief HAL OTFDEC Callback pointer definition
- */
-typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< pointer to a OTFDEC callback function */
-
-#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/* Exported constants --------------------------------------------------------*/
-/** @defgroup OTFDEC_Exported_Constants OTFDEC Exported Constants
+ * @{
+ */
+
+/**
+ * @brief OTFDEC states structure definition
+ */
+typedef enum
+{
+ HAL_OTFDEC_STATE_RESET = 0x00U, /*!< OTFDEC not yet initialized or disabled */
+ HAL_OTFDEC_STATE_READY = 0x01U, /*!< OTFDEC initialized and ready for use */
+ HAL_OTFDEC_STATE_BUSY = 0x02U, /*!< OTFDEC internal processing is ongoing */
+} HAL_OTFDEC_StateTypeDef;
+
+/**
+ * @brief OTFDEC handle structure definition
+ */
+#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
+typedef struct __OTFDEC_HandleTypeDef
+#else
+typedef struct
+#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
+{
+ OTFDEC_TypeDef *Instance; /*!< OTFDEC registers base address */
+
+ HAL_OTFDEC_StateTypeDef State; /*!< OTFDEC state */
+
+ HAL_LockTypeDef Lock; /*!< OTFDEC locking object */
+
+ __IO uint32_t ErrorCode; /*!< OTFDEC error code */
+
+#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
+ void (* ErrorCallback)(struct __OTFDEC_HandleTypeDef *hotfdec); /*!< OTFDEC error callback */
+
+ void (* MspInitCallback)(struct __OTFDEC_HandleTypeDef *hotfdec); /*!< OTFDEC Msp Init callback */
+
+ void (* MspDeInitCallback)(struct __OTFDEC_HandleTypeDef *hotfdec); /*!< OTFDEC Msp DeInit callback */
+#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
+
+} OTFDEC_HandleTypeDef;
+
+#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
+/**
+ * @brief HAL OTFDEC Callback ID enumeration definition
+ */
+typedef enum
+{
+ HAL_OTFDEC_ERROR_CB_ID = 0x00U, /*!< OTFDEC error callback ID */
+ HAL_OTFDEC_MSPINIT_CB_ID = 0x01U, /*!< OTFDEC Msp DeInit callback ID */
+ HAL_OTFDEC_MSPDEINIT_CB_ID = 0x02U /*!< OTFDEC Msp DeInit callback ID */
+} HAL_OTFDEC_CallbackIDTypeDef;
+
+/**
+ * @brief HAL OTFDEC Callback pointer definition
+ */
+typedef void (*pOTFDEC_CallbackTypeDef)(OTFDEC_HandleTypeDef *hotfdec); /*!< pointer to a OTFDEC callback function */
+
+#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/* Exported constants --------------------------------------------------------*/
+/** @defgroup OTFDEC_Exported_Constants OTFDEC Exported Constants
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/** @defgroup OTFDEC_Interrupts OTFDEC Interrupts
+ * @{
+ */
+
+/** @defgroup OTFDEC_Interrupts OTFDEC Interrupts
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-#define OTFDEC_SEC_ERROR_INT (OTFDEC_IER_SEIE ) /*!< OTFDEC security error interrupt */
-#define OTFDEC_EXE_ERROR_INT ( OTFDEC_IER_XONEIE ) /*!< OTFDEC execution error interrupt */
-#define OTFDEC_KEY_ERROR_INT ( OTFDEC_IER_KEIE) /*!< OTFDEC key error interrupt */
-#define OTFDEC_SEC_EXE_ERROR_INT (OTFDEC_IER_SEIE|OTFDEC_IER_XONEIE ) /*!< OTFDEC security and execution errors interrupts */
-#define OTFDEC_SEC_KEY_ERROR_INT (OTFDEC_IER_SEIE| OTFDEC_IER_KEIE) /*!< OTFDEC security and key errors interrupts */
-#define OTFDEC_EXE_KEY_ERROR_INT ( OTFDEC_IER_XONEIE|OTFDEC_IER_KEIE) /*!< OTFDEC execution and key errors interrupts */
-#define OTFDEC_ALL_INT (OTFDEC_IER_SEIE|OTFDEC_IER_XONEIE|OTFDEC_IER_KEIE) /*!< OTFDEC all interrupts */
-/**
- * @}
- */
-
-/** @defgroup OTFDEC_Region_Enable OTFDEC Region Enable
+ * @{
+ */
+#define OTFDEC_SEC_ERROR_INT (OTFDEC_IER_SEIE ) /*!< OTFDEC security error interrupt */
+#define OTFDEC_EXE_ERROR_INT ( OTFDEC_IER_XONEIE ) /*!< OTFDEC execution error interrupt */
+#define OTFDEC_KEY_ERROR_INT ( OTFDEC_IER_KEIE) /*!< OTFDEC key error interrupt */
+#define OTFDEC_SEC_EXE_ERROR_INT (OTFDEC_IER_SEIE|OTFDEC_IER_XONEIE ) /*!< OTFDEC security and execution errors interrupts */
+#define OTFDEC_SEC_KEY_ERROR_INT (OTFDEC_IER_SEIE| OTFDEC_IER_KEIE) /*!< OTFDEC security and key errors interrupts */
+#define OTFDEC_EXE_KEY_ERROR_INT ( OTFDEC_IER_XONEIE|OTFDEC_IER_KEIE) /*!< OTFDEC execution and key errors interrupts */
+#define OTFDEC_ALL_INT (OTFDEC_IER_SEIE|OTFDEC_IER_XONEIE|OTFDEC_IER_KEIE) /*!< OTFDEC all interrupts */
+/**
+ * @}
+ */
+
+/** @defgroup OTFDEC_Region_Enable OTFDEC Region Enable
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-#define OTFDEC_REG_CONFIGR_REG_DISABLE 0x00000000U /*!< OTFDEC region encryption or on-the-fly decryption disable */
-#define OTFDEC_REG_CONFIGR_REG_ENABLE OTFDEC_REG_CONFIGR_REG_EN /*!< OTFDEC region encryption or on-the-fly decryption enable */
-/**
- * @}
- */
-
-/** @defgroup OTFDEC_Region_Configuration_Lock OTFDEC Region Configuration Lock
+ * @{
+ */
+#define OTFDEC_REG_CONFIGR_REG_DISABLE 0x00000000U /*!< OTFDEC region encryption or on-the-fly decryption disable */
+#define OTFDEC_REG_CONFIGR_REG_ENABLE OTFDEC_REG_CONFIGR_REG_EN /*!< OTFDEC region encryption or on-the-fly decryption enable */
+/**
+ * @}
+ */
+
+/** @defgroup OTFDEC_Region_Configuration_Lock OTFDEC Region Configuration Lock
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-#define OTFDEC_REG_CONFIGR_LOCK_DISABLE 0x00000000U /*!< OTFDEC region configuration lock disable */
-#define OTFDEC_REG_CONFIGR_LOCK_ENABLE OTFDEC_REG_CONFIGR_CONFIGLOCK /*!< OTFDEC region configuration lock enable */
-/**
- * @}
- */
-
-/** @defgroup OTFDEC_Region_Operating_Mode OTFDEC Region Operating Mode
+ * @{
+ */
+#define OTFDEC_REG_CONFIGR_LOCK_DISABLE 0x00000000U /*!< OTFDEC region configuration lock disable */
+#define OTFDEC_REG_CONFIGR_LOCK_ENABLE OTFDEC_REG_CONFIGR_CONFIGLOCK /*!< OTFDEC region configuration lock enable */
+/**
+ * @}
+ */
+
+/** @defgroup OTFDEC_Region_Operating_Mode OTFDEC Region Operating Mode
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-#define OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY 0x00000000U /*!< Only instruction accesses are decrypted */
-#define OTFDEC_REG_MODE_DATA_ACCESSES_ONLY OTFDEC_REG_CONFIGR_MODE_0 /*!< Only data accesses are decrypted */
-#define OTFDEC_REG_MODE_INSTRUCTION_OR_DATA_ACCESSES OTFDEC_REG_CONFIGR_MODE_1 /*!< All read accesses are decrypted */
-#define OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY_WITH_CIPHER OTFDEC_REG_CONFIGR_MODE /*!< Only instruction accesses are decrypted with proprietary cipher activated */
-/**
- * @}
- */
-
-/** @defgroup OTFDEC_Error_Definition OTFDEC Error Definition
+ * @{
+ */
+#define OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY 0x00000000U /*!< Only instruction accesses are decrypted */
+#define OTFDEC_REG_MODE_DATA_ACCESSES_ONLY OTFDEC_REG_CONFIGR_MODE_0 /*!< Only data accesses are decrypted */
+#define OTFDEC_REG_MODE_INSTRUCTION_OR_DATA_ACCESSES OTFDEC_REG_CONFIGR_MODE_1 /*!< All read accesses are decrypted */
+#define OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY_WITH_CIPHER OTFDEC_REG_CONFIGR_MODE /*!< Only instruction accesses are decrypted with proprietary cipher activated */
+/**
+ * @}
+ */
+
+/** @defgroup OTFDEC_Error_Definition OTFDEC Error Definition
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-#define HAL_OTFDEC_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
-#define HAL_OTFDEC_SECURITY_ERROR ((uint32_t)0x00000001U) /*!< Security error */
-#define HAL_OTFDEC_EXECUTE_ERROR ((uint32_t)0x00000002U) /*!< Execute-only Execute-Never error */
-#define HAL_OTFDEC_KEY_ERROR ((uint32_t)0x00000004U) /*!< Key error */
-#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
-#define HAL_OTFDEC_ERROR_INVALID_CALLBACK ((uint32_t)0x00000008U) /*!< Invalid Callback error */
-#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
-/**
- * @}
- */
-
-/** @defgroup OTFDEC_Regions_Index OTFDEC Regions Index
+ * @{
+ */
+#define HAL_OTFDEC_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */
+#define HAL_OTFDEC_SECURITY_ERROR ((uint32_t)0x00000001U) /*!< Security error */
+#define HAL_OTFDEC_EXECUTE_ERROR ((uint32_t)0x00000002U) /*!< Execute-only Execute-Never error */
+#define HAL_OTFDEC_KEY_ERROR ((uint32_t)0x00000004U) /*!< Key error */
+#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
+#define HAL_OTFDEC_ERROR_INVALID_CALLBACK ((uint32_t)0x00000008U) /*!< Invalid Callback error */
+#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
+/**
+ * @}
+ */
+
+/** @defgroup OTFDEC_Regions_Index OTFDEC Regions Index
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-#define OTFDEC_REGION1 ((uint32_t)0x00000000U) /*!< OTFDEC region 1 */
-#define OTFDEC_REGION2 ((uint32_t)0x00000001U) /*!< OTFDEC region 2 */
-#define OTFDEC_REGION3 ((uint32_t)0x00000002U) /*!< OTFDEC region 3 */
-#define OTFDEC_REGION4 ((uint32_t)0x00000003U) /*!< OTFDEC region 4 */
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/* Exported macro ------------------------------------------------------------*/
-/** @defgroup OTFDEC_Exported_Macros OTFDEC Exported Macros
+ * @{
+ */
+#define OTFDEC_REGION1 ((uint32_t)0x00000000U) /*!< OTFDEC region 1 */
+#define OTFDEC_REGION2 ((uint32_t)0x00000001U) /*!< OTFDEC region 2 */
+#define OTFDEC_REGION3 ((uint32_t)0x00000002U) /*!< OTFDEC region 3 */
+#define OTFDEC_REGION4 ((uint32_t)0x00000003U) /*!< OTFDEC region 4 */
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/* Exported macro ------------------------------------------------------------*/
+/** @defgroup OTFDEC_Exported_Macros OTFDEC Exported Macros
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/** @brief Reset OTFDEC handle state.
- * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains
- * the configuration information for OTFDEC module
- * @retval None
- */
-#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
-#define __HAL_OTFDEC_RESET_HANDLE_STATE(__HANDLE__) \
- do{ \
- (__HANDLE__)->State = HAL_OTFDEC_STATE_RESET; \
- (__HANDLE__)->MspInitCallback = NULL; \
- (__HANDLE__)->MspDeInitCallback = NULL; \
- } while(0)
-#else
-#define __HAL_OTFDEC_RESET_HANDLE_STATE(__HANDLE__) \
- ((__HANDLE__)->State = HAL_OTFDEC_STATE_RESET)
-#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
-
-/**
- * @brief Enable OTFDEC peripheral interrupts combination
- * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains
- * the configuration information for OTFDEC module
- * @param __INTERRUPT__ mask on enabled interrupts
- * This parameter can be one of the following values:
- * @arg @ref OTFDEC_SEC_ERROR_INT OTFDEC security error interrupt
- * @arg @ref OTFDEC_EXE_ERROR_INT OTFDEC execution error interrupt
- * @arg @ref OTFDEC_KEY_ERROR_INT OTFDEC key error interrupt
- * @arg @ref OTFDEC_SEC_EXE_ERROR_INT OTFDEC security and execution errors interrupts
- * @arg @ref OTFDEC_SEC_KEY_ERROR_INT OTFDEC security and key errors interrupts
- * @arg @ref OTFDEC_EXE_KEY_ERROR_INT OTFDEC execution and key errors interrupts
- * @arg @ref OTFDEC_ALL_INT OTFDEC all interrupts
- * @retval None
- */
-#define __HAL_OTFDEC_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT(((__HANDLE__)->Instance->IER), (__INTERRUPT__))
-
-/**
- * @brief Disable OTFDEC peripheral interrupts combination
- * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains
- * the configuration information for OTFDEC module
- * @param __INTERRUPT__ mask on disabled interrupts
- * This parameter can be one of the following values:
- * @arg @ref OTFDEC_SEC_ERROR_INT OTFDEC security error interrupt
- * @arg @ref OTFDEC_EXE_ERROR_INT OTFDEC execution error interrupt
- * @arg @ref OTFDEC_KEY_ERROR_INT OTFDEC key error interrupt
- * @arg @ref OTFDEC_SEC_EXE_ERROR_INT OTFDEC security and execution errors interrupts
- * @arg @ref OTFDEC_SEC_KEY_ERROR_INT OTFDEC security and key errors interrupts
- * @arg @ref OTFDEC_EXE_KEY_ERROR_INT OTFDEC execution and key errors interrupts
- * @arg @ref OTFDEC_ALL_INT OTFDEC all interrupts
- * @retval None
- */
-#define __HAL_OTFDEC_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT(((__HANDLE__)->Instance->IER), (__INTERRUPT__))
-
-/**
- * @}
- */
-
-/* Exported functions --------------------------------------------------------*/
-/** @defgroup OTFDEC_Exported_Functions OTFDEC Exported Functions
+ * @{
+ */
+
+/** @brief Reset OTFDEC handle state.
+ * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains
+ * the configuration information for OTFDEC module
+ * @retval None
+ */
+#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
+#define __HAL_OTFDEC_RESET_HANDLE_STATE(__HANDLE__) \
+ do{ \
+ (__HANDLE__)->State = HAL_OTFDEC_STATE_RESET; \
+ (__HANDLE__)->MspInitCallback = NULL; \
+ (__HANDLE__)->MspDeInitCallback = NULL; \
+ } while(0)
+#else
+#define __HAL_OTFDEC_RESET_HANDLE_STATE(__HANDLE__) \
+ ((__HANDLE__)->State = HAL_OTFDEC_STATE_RESET)
+#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
+
+/**
+ * @brief Enable OTFDEC peripheral interrupts combination
+ * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains
+ * the configuration information for OTFDEC module
+ * @param __INTERRUPT__ mask on enabled interrupts
+ * This parameter can be one of the following values:
+ * @arg @ref OTFDEC_SEC_ERROR_INT OTFDEC security error interrupt
+ * @arg @ref OTFDEC_EXE_ERROR_INT OTFDEC execution error interrupt
+ * @arg @ref OTFDEC_KEY_ERROR_INT OTFDEC key error interrupt
+ * @arg @ref OTFDEC_SEC_EXE_ERROR_INT OTFDEC security and execution errors interrupts
+ * @arg @ref OTFDEC_SEC_KEY_ERROR_INT OTFDEC security and key errors interrupts
+ * @arg @ref OTFDEC_EXE_KEY_ERROR_INT OTFDEC execution and key errors interrupts
+ * @arg @ref OTFDEC_ALL_INT OTFDEC all interrupts
+ * @retval None
+ */
+#define __HAL_OTFDEC_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT(((__HANDLE__)->Instance->IER), (__INTERRUPT__))
+
+/**
+ * @brief Disable OTFDEC peripheral interrupts combination
+ * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains
+ * the configuration information for OTFDEC module
+ * @param __INTERRUPT__ mask on disabled interrupts
+ * This parameter can be one of the following values:
+ * @arg @ref OTFDEC_SEC_ERROR_INT OTFDEC security error interrupt
+ * @arg @ref OTFDEC_EXE_ERROR_INT OTFDEC execution error interrupt
+ * @arg @ref OTFDEC_KEY_ERROR_INT OTFDEC key error interrupt
+ * @arg @ref OTFDEC_SEC_EXE_ERROR_INT OTFDEC security and execution errors interrupts
+ * @arg @ref OTFDEC_SEC_KEY_ERROR_INT OTFDEC security and key errors interrupts
+ * @arg @ref OTFDEC_EXE_KEY_ERROR_INT OTFDEC execution and key errors interrupts
+ * @arg @ref OTFDEC_ALL_INT OTFDEC all interrupts
+ * @retval None
+ */
+#define __HAL_OTFDEC_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT(((__HANDLE__)->Instance->IER), (__INTERRUPT__))
+
+/** @brief Check whether the specified combination of OTFDEC interrupt flags is set or not.
+ * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains
+ * the configuration information for OTFDEC module
+ * @param __FLAG__ mask on combination of interrupts flags
+ * This parameter can be one of the following values:
+ * @arg @ref OTFDEC_SEC_ERROR_INT OTFDEC security error interrupt flag
+ * @arg @ref OTFDEC_EXE_ERROR_INT OTFDEC execution error interrupt flag
+ * @arg @ref OTFDEC_KEY_ERROR_INT OTFDEC key error interrupt flag
+ * @arg @ref OTFDEC_SEC_EXE_ERROR_INT OTFDEC security and execution errors interrupts flags
+ * @arg @ref OTFDEC_SEC_KEY_ERROR_INT OTFDEC security and key errors interrupts flags
+ * @arg @ref OTFDEC_EXE_KEY_ERROR_INT OTFDEC execution and key errors interrupts flag
+ * @arg @ref OTFDEC_ALL_INT OTFDEC all interrupts flags
+ * @retval The state of __FLAG__ (TRUE or FALSE).
+ */
+#define __HAL_OTFDEC_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__))
+
+/** @brief Clear the specified combination of OTFDEC interrupt flags.
+ * @param __HANDLE__ pointer to an OTFDEC_HandleTypeDef structure that contains
+ * the configuration information for OTFDEC module
+ * @param __FLAG__ mask on combination of interrupts flags
+ * This parameter can be one of the following values:
+ * @arg @ref OTFDEC_SEC_ERROR_INT OTFDEC security error interrupt flag
+ * @arg @ref OTFDEC_EXE_ERROR_INT OTFDEC execution error interrupt flag
+ * @arg @ref OTFDEC_KEY_ERROR_INT OTFDEC key error interrupt flag
+ * @arg @ref OTFDEC_SEC_EXE_ERROR_INT OTFDEC security and execution errors interrupts flags
+ * @arg @ref OTFDEC_SEC_KEY_ERROR_INT OTFDEC security and key errors interrupts flags
+ * @arg @ref OTFDEC_EXE_KEY_ERROR_INT OTFDEC execution and key errors interrupts flag
+ * @arg @ref OTFDEC_ALL_INT OTFDEC all interrupts flags
+ * @retval None
+ */
+#define __HAL_OTFDEC_CLEAR_FLAG(__HANDLE__, __FLAG__) SET_BIT((__HANDLE__)->Instance->ICR, (__FLAG__))
+
+/**
+ * @}
+ */
+
+/* Exported functions --------------------------------------------------------*/
+/** @defgroup OTFDEC_Exported_Functions OTFDEC Exported Functions
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/** @addtogroup OTFDEC_Exported_Functions_Group1 Initialization and de-initialization functions
- * @{
- */
-HAL_StatusTypeDef HAL_OTFDEC_Init(OTFDEC_HandleTypeDef *hotfdec);
-HAL_StatusTypeDef HAL_OTFDEC_DeInit(OTFDEC_HandleTypeDef *hotfdec);
-void HAL_OTFDEC_MspInit(OTFDEC_HandleTypeDef *hotfdec);
-void HAL_OTFDEC_MspDeInit(OTFDEC_HandleTypeDef *hotfdec);
-
-#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
-/* Callbacks Register/UnRegister functions ***********************************/
-HAL_StatusTypeDef HAL_OTFDEC_RegisterCallback(OTFDEC_HandleTypeDef *hotfdec, HAL_OTFDEC_CallbackIDTypeDef CallbackID,
- pOTFDEC_CallbackTypeDef pCallback);
-HAL_StatusTypeDef HAL_OTFDEC_UnRegisterCallback(OTFDEC_HandleTypeDef *hotfdec, HAL_OTFDEC_CallbackIDTypeDef CallbackID);
-#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
-/**
- * @}
- */
-
-
-/** @addtogroup OTFDEC_Exported_Functions_Group2 OTFDEC IRQ handler management
- * @{
- */
-void HAL_OTFDEC_IRQHandler(OTFDEC_HandleTypeDef *hotfdec);
-void HAL_OTFDEC_ErrorCallback(OTFDEC_HandleTypeDef *hotfdec);
-/**
- * @}
- */
-
-/** @addtogroup OTFDEC_Exported_Functions_Group3 Peripheral Control functions
- * @{
- */
-HAL_StatusTypeDef HAL_OTFDEC_RegionKeyLock(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex);
-HAL_StatusTypeDef HAL_OTFDEC_RegionSetKey(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex, uint32_t *pKey);
-HAL_StatusTypeDef HAL_OTFDEC_RegionSetMode(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex, uint32_t mode);
-HAL_StatusTypeDef HAL_OTFDEC_RegionConfig(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex, OTFDEC_RegionConfigTypeDef *Config, uint32_t lock);
-uint32_t HAL_OTFDEC_KeyCRCComputation(uint32_t *pKey);
-HAL_StatusTypeDef HAL_OTFDEC_RegionEnable(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex);
-HAL_StatusTypeDef HAL_OTFDEC_RegionDisable(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex);
-/**
- * @}
- */
-
-/** @addtogroup @addtogroup OTFDEC_Exported_Functions_Group4 Peripheral State and Status functions
- * @{
- */
-HAL_OTFDEC_StateTypeDef HAL_OTFDEC_GetState(OTFDEC_HandleTypeDef *hotfdec);
-uint32_t HAL_OTFDEC_RegionGetKeyCRC(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex);
-HAL_StatusTypeDef HAL_OTFDEC_RegionGetConfig(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex, OTFDEC_RegionConfigTypeDef *Config);
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/* Private types -------------------------------------------------------------*/
-/** @defgroup OTFDEC_Private_Types OTFDEC Private Types
+ * @{
+ */
+
+/** @addtogroup OTFDEC_Exported_Functions_Group1 Initialization and de-initialization functions
+ * @{
+ */
+HAL_StatusTypeDef HAL_OTFDEC_Init(OTFDEC_HandleTypeDef *hotfdec);
+HAL_StatusTypeDef HAL_OTFDEC_DeInit(OTFDEC_HandleTypeDef *hotfdec);
+void HAL_OTFDEC_MspInit(OTFDEC_HandleTypeDef *hotfdec);
+void HAL_OTFDEC_MspDeInit(OTFDEC_HandleTypeDef *hotfdec);
+
+#if (USE_HAL_OTFDEC_REGISTER_CALLBACKS == 1)
+/* Callbacks Register/UnRegister functions ***********************************/
+HAL_StatusTypeDef HAL_OTFDEC_RegisterCallback(OTFDEC_HandleTypeDef *hotfdec, HAL_OTFDEC_CallbackIDTypeDef CallbackID,
+ pOTFDEC_CallbackTypeDef pCallback);
+HAL_StatusTypeDef HAL_OTFDEC_UnRegisterCallback(OTFDEC_HandleTypeDef *hotfdec, HAL_OTFDEC_CallbackIDTypeDef CallbackID);
+#endif /* USE_HAL_OTFDEC_REGISTER_CALLBACKS */
+/**
+ * @}
+ */
+
+
+/** @addtogroup OTFDEC_Exported_Functions_Group2 OTFDEC IRQ handler management
+ * @{
+ */
+void HAL_OTFDEC_IRQHandler(OTFDEC_HandleTypeDef *hotfdec);
+void HAL_OTFDEC_ErrorCallback(OTFDEC_HandleTypeDef *hotfdec);
+/**
+ * @}
+ */
+
+/** @addtogroup OTFDEC_Exported_Functions_Group3 Peripheral Control functions
+ * @{
+ */
+HAL_StatusTypeDef HAL_OTFDEC_RegionKeyLock(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex);
+HAL_StatusTypeDef HAL_OTFDEC_RegionSetKey(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex, uint32_t *pKey);
+HAL_StatusTypeDef HAL_OTFDEC_RegionSetMode(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex, uint32_t mode);
+HAL_StatusTypeDef HAL_OTFDEC_RegionConfig(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex,
+ OTFDEC_RegionConfigTypeDef *Config, uint32_t lock);
+uint32_t HAL_OTFDEC_KeyCRCComputation(uint32_t *pKey);
+HAL_StatusTypeDef HAL_OTFDEC_RegionEnable(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex);
+HAL_StatusTypeDef HAL_OTFDEC_RegionDisable(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex);
+/**
+ * @}
+ */
+
+/** @addtogroup @addtogroup OTFDEC_Exported_Functions_Group4 Peripheral State and Status functions
+ * @{
+ */
+HAL_OTFDEC_StateTypeDef HAL_OTFDEC_GetState(OTFDEC_HandleTypeDef *hotfdec);
+uint32_t HAL_OTFDEC_RegionGetKeyCRC(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex);
+HAL_StatusTypeDef HAL_OTFDEC_RegionGetConfig(OTFDEC_HandleTypeDef *hotfdec, uint32_t RegionIndex,
+ OTFDEC_RegionConfigTypeDef *Config);
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/* Private types -------------------------------------------------------------*/
+/** @defgroup OTFDEC_Private_Types OTFDEC Private Types
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/**
- * @}
- */
-
-/* Private variables ---------------------------------------------------------*/
-/** @defgroup OTFDEC_Private_Variables OTFDEC Private Variables
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/* Private variables ---------------------------------------------------------*/
+/** @defgroup OTFDEC_Private_Variables OTFDEC Private Variables
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/**
- * @}
- */
-
-/* Private constants ---------------------------------------------------------*/
-/** @defgroup OTFDEC_Private_Constants OTFDEC Private Constants
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/* Private constants ---------------------------------------------------------*/
+/** @defgroup OTFDEC_Private_Constants OTFDEC Private Constants
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-/**
- * @}
- */
-
-/* Private macros ------------------------------------------------------------*/
-/** @defgroup OTFDEC_Private_Macros OTFDEC Private Macros
+ * @{
+ */
+/**
+ * @}
+ */
+
+/* Private macros ------------------------------------------------------------*/
+/** @defgroup OTFDEC_Private_Macros OTFDEC Private Macros
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/**
- * @brief Verify the OTFDEC peripheral interrupts parameter.
- * @param __INT__ OTFDEC peripheral set of interrupts parameter
- * @retval SET (__INT__ is valid) or RESET (__INT__ is invalid)
- */
-#define IS_OTFDEC_INTERRUPTS(__INT__) (((__INT__) == OTFDEC_SEC_ERROR_INT) || \
- ((__INT__) == OTFDEC_EXE_ERROR_INT) || \
- ((__INT__) == OTFDEC_KEY_ERROR_INT) || \
- ((__INT__) == OTFDEC_SEC_EXE_ERROR_INT) || \
- ((__INT__) == OTFDEC_SEC_KEY_ERROR_INT) || \
- ((__INT__) == OTFDEC_EXE_KEY_ERROR_INT) || \
- ((__INT__) == OTFDEC_ALL_INT) )
-
-/**
- * @brief Verify the OTFDEC region configuration lock parameter.
- * @param __LOCK__ OTFDEC region lock parameter.
- * @retval SET (__LOCK__ is valid) or RESET (__LOCK__ is invalid)
- */
-#define IS_OTFDEC_REGION_CONFIG_LOCK(__LOCK__) (((__LOCK__) == OTFDEC_REG_CONFIGR_LOCK_DISABLE) || \
- ((__LOCK__) == OTFDEC_REG_CONFIGR_LOCK_ENABLE) )
-
-/**
- * @brief Verify the OTFDEC region operating mode.
- * @param __MODE__ OTFDEC region operating mode parameter.
- * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid)
- */
-#define IS_OTFDEC_REGION_OPERATING_MODE(__MODE__) (((__MODE__) == OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY) || \
- ((__MODE__) == OTFDEC_REG_MODE_DATA_ACCESSES_ONLY) || \
- ((__MODE__) == OTFDEC_REG_MODE_INSTRUCTION_OR_DATA_ACCESSES) || \
- ((__MODE__) == OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY_WITH_CIPHER))
-
-/**
- * @brief Verify the OTFDEC region index.
- * @param __INDEX__ OTFDEC region index
- * @retval SET (__INDEX__ is valid) or RESET (__INDEX__ is invalid)
- */
-#define IS_OTFDEC_REGIONINDEX(__INDEX__) (((__INDEX__) == OTFDEC_REGION1) || \
- ((__INDEX__) == OTFDEC_REGION2) || \
- ((__INDEX__) == OTFDEC_REGION3) || \
- ((__INDEX__) == OTFDEC_REGION4) )
-
-/**
- * @brief Verify the OTFDEC configuration attributes.
- * @param __ATTRIBUTE__ OTFDEC region index
- * @retval SET (__ATTRIBUTE__ is valid) or RESET (__ATTRIBUTE__ is invalid)
- */
-#define IS_OTFDEC_ATTRIBUTE(__ATTRIBUTE__) (((__ATTRIBUTE__) == OTFDEC_ATTRIBUTE_PRIV) || \
- ((__ATTRIBUTE__) == OTFDEC_ATTRIBUTE_NPRIV) )
-
-/**
- * @}
- */
-
-/* Private functions ---------------------------------------------------------*/
-/** @defgroup OTFDEC_Private_Functions OTFDEC Private Functions
+ * @{
+ */
+
+/**
+ * @brief Verify the OTFDEC peripheral interrupts parameter.
+ * @param __INT__ OTFDEC peripheral set of interrupts parameter
+ * @retval SET (__INT__ is valid) or RESET (__INT__ is invalid)
+ */
+#define IS_OTFDEC_INTERRUPTS(__INT__) (((__INT__) == OTFDEC_SEC_ERROR_INT) || \
+ ((__INT__) == OTFDEC_EXE_ERROR_INT) || \
+ ((__INT__) == OTFDEC_KEY_ERROR_INT) || \
+ ((__INT__) == OTFDEC_SEC_EXE_ERROR_INT) || \
+ ((__INT__) == OTFDEC_SEC_KEY_ERROR_INT) || \
+ ((__INT__) == OTFDEC_EXE_KEY_ERROR_INT) || \
+ ((__INT__) == OTFDEC_ALL_INT) )
+
+/**
+ * @brief Verify the OTFDEC region configuration lock parameter.
+ * @param __LOCK__ OTFDEC region lock parameter.
+ * @retval SET (__LOCK__ is valid) or RESET (__LOCK__ is invalid)
+ */
+#define IS_OTFDEC_REGION_CONFIG_LOCK(__LOCK__) (((__LOCK__) == OTFDEC_REG_CONFIGR_LOCK_DISABLE) || \
+ ((__LOCK__) == OTFDEC_REG_CONFIGR_LOCK_ENABLE) )
+
+/**
+ * @brief Verify the OTFDEC region operating mode.
+ * @param __MODE__ OTFDEC region operating mode parameter.
+ * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid)
+ */
+#define IS_OTFDEC_REGION_OPERATING_MODE(__MODE__) \
+ (((__MODE__)== OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY) || \
+ ((__MODE__) == OTFDEC_REG_MODE_DATA_ACCESSES_ONLY) || \
+ ((__MODE__) == OTFDEC_REG_MODE_INSTRUCTION_OR_DATA_ACCESSES) || \
+ ((__MODE__) == OTFDEC_REG_MODE_INSTRUCTION_ACCESSES_ONLY_WITH_CIPHER))
+
+/**
+ * @brief Verify the OTFDEC region index.
+ * @param __INDEX__ OTFDEC region index
+ * @retval SET (__INDEX__ is valid) or RESET (__INDEX__ is invalid)
+ */
+#define IS_OTFDEC_REGIONINDEX(__INDEX__) (((__INDEX__) == OTFDEC_REGION1) || \
+ ((__INDEX__) == OTFDEC_REGION2) || \
+ ((__INDEX__) == OTFDEC_REGION3) || \
+ ((__INDEX__) == OTFDEC_REGION4) )
+
+/**
+ * @brief Verify the OTFDEC configuration attributes.
+ * @param __ATTRIBUTE__ OTFDEC region index
+ * @retval SET (__ATTRIBUTE__ is valid) or RESET (__ATTRIBUTE__ is invalid)
+ */
+#define IS_OTFDEC_ATTRIBUTE(__ATTRIBUTE__) (((__ATTRIBUTE__) == OTFDEC_ATTRIBUTE_PRIV) || \
+ ((__ATTRIBUTE__) == OTFDEC_ATTRIBUTE_NPRIV) )
+
+/**
+ * @}
+ */
+
+/* Private functions ---------------------------------------------------------*/
+/** @defgroup OTFDEC_Private_Functions OTFDEC Private Functions
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-
-/**
- * @}
- */
-#endif /* OTFDEC1 */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __STM32H7xx_HAL_OTFDEC_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+#endif /* OTFDEC1 */
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* STM32H7xx_HAL_OTFDEC_H */