summaryrefslogtreecommitdiffstats
path: root/bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h')
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h425
1 files changed, 211 insertions, 214 deletions
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h
index 1988f44014..d37554acf6 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_hsem.h
@@ -1,217 +1,214 @@
-/**
- ******************************************************************************
- * @file stm32h7xx_hal_hsem.h
- * @author MCD Application Team
- * @brief Header file of HSEM HAL module.
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; Copyright (c) 2017 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_HSEM_H
-#define STM32H7xx_HAL_HSEM_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Includes ------------------------------------------------------------------*/
-#include "stm32h7xx_hal_def.h"
-
-/** @addtogroup STM32H7xx_HAL_Driver
- * @{
- */
-
-/** @addtogroup HSEM
- * @{
- */
-
-/* Exported macro ------------------------------------------------------------*/
-/** @defgroup HSEM_Exported_Macros HSEM Exported Macros
+/**
+ ******************************************************************************
+ * @file stm32h7xx_hal_hsem.h
+ * @author MCD Application Team
+ * @brief Header file of HSEM HAL module.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2017 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_HSEM_H
+#define STM32H7xx_HAL_HSEM_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32h7xx_hal_def.h"
+
+/** @addtogroup STM32H7xx_HAL_Driver
+ * @{
+ */
+
+/** @addtogroup HSEM
+ * @{
+ */
+
+/* Exported macro ------------------------------------------------------------*/
+/** @defgroup HSEM_Exported_Macros HSEM Exported Macros
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/**
- * @brief SemID to mask helper Macro.
- * @param __SEMID__: semaphore ID from 0 to 31
- * @retval Semaphore Mask.
- */
-#define __HAL_HSEM_SEMID_TO_MASK(__SEMID__) (1 << (__SEMID__))
-
-/**
- * @brief Enables the specified HSEM interrupts.
- * @param __SEM_MASK__: semaphores Mask
- * @retval None.
- */
-#if defined(DUAL_CORE)
-#define __HAL_HSEM_ENABLE_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
- (HSEM->C1IER |= (__SEM_MASK__)) : \
- (HSEM->C2IER |= (__SEM_MASK__)))
-#else
-#define __HAL_HSEM_ENABLE_IT(__SEM_MASK__) (HSEM->IER |= (__SEM_MASK__))
-#endif /* DUAL_CORE */
-/**
- * @brief Disables the specified HSEM interrupts.
- * @param __SEM_MASK__: semaphores Mask
- * @retval None.
- */
-#if defined(DUAL_CORE)
-#define __HAL_HSEM_DISABLE_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
- (HSEM->C1IER &= ~(__SEM_MASK__)) : \
- (HSEM->C2IER &= ~(__SEM_MASK__)))
-#else
-#define __HAL_HSEM_DISABLE_IT(__SEM_MASK__) (HSEM->IER &= ~(__SEM_MASK__))
-#endif /* DUAL_CORE */
-
-/**
- * @brief Checks whether interrupt has occurred or not for semaphores specified by a mask.
- * @param __SEM_MASK__: semaphores Mask
- * @retval semaphores Mask : Semaphores where an interrupt occurred.
- */
-#if defined(DUAL_CORE)
-#define __HAL_HSEM_GET_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
- ((__SEM_MASK__) & HSEM->C1MISR) : \
- ((__SEM_MASK__) & HSEM->C2MISR1))
-#else
-#define __HAL_HSEM_GET_IT(__SEM_MASK__) ((__SEM_MASK__) & HSEM->MISR)
-#endif /* DUAL_CORE */
-
-/**
- * @brief Get the semaphores release status flags.
- * @param __SEM_MASK__: semaphores Mask
- * @retval semaphores Mask : Semaphores where Release flags rise.
- */
-#if defined(DUAL_CORE)
-#define __HAL_HSEM_GET_FLAG(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
- (__SEM_MASK__) & HSEM->C1ISR : \
- (__SEM_MASK__) & HSEM->C2ISR)
-#else
-#define __HAL_HSEM_GET_FLAG(__SEM_MASK__) ((__SEM_MASK__) & HSEM->ISR)
-#endif /* DUAL_CORE */
-
-/**
- * @brief Clears the HSEM Interrupt flags.
- * @param __SEM_MASK__: semaphores Mask
- * @retval None.
- */
-#if defined(DUAL_CORE)
-#define __HAL_HSEM_CLEAR_FLAG(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
- (HSEM->C1ICR |= (__SEM_MASK__)) : \
- (HSEM->C2ICR |= (__SEM_MASK__)))
-#else
-#define __HAL_HSEM_CLEAR_FLAG(__SEM_MASK__) (HSEM->ICR |= (__SEM_MASK__))
-#endif /* DUAL_CORE */
-
-/**
- * @}
- */
-
-/* Exported functions --------------------------------------------------------*/
-/** @defgroup HSEM_Exported_Functions HSEM Exported Functions
+ * @{
+ */
+
+/**
+ * @brief SemID to mask helper Macro.
+ * @param __SEMID__: semaphore ID from 0 to 31
+ * @retval Semaphore Mask.
+ */
+#define __HAL_HSEM_SEMID_TO_MASK(__SEMID__) (1 << (__SEMID__))
+
+/**
+ * @brief Enables the specified HSEM interrupts.
+ * @param __SEM_MASK__: semaphores Mask
+ * @retval None.
+ */
+#if defined(DUAL_CORE)
+#define __HAL_HSEM_ENABLE_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
+ (HSEM->C1IER |= (__SEM_MASK__)) : \
+ (HSEM->C2IER |= (__SEM_MASK__)))
+#else
+#define __HAL_HSEM_ENABLE_IT(__SEM_MASK__) (HSEM->IER |= (__SEM_MASK__))
+#endif /* DUAL_CORE */
+/**
+ * @brief Disables the specified HSEM interrupts.
+ * @param __SEM_MASK__: semaphores Mask
+ * @retval None.
+ */
+#if defined(DUAL_CORE)
+#define __HAL_HSEM_DISABLE_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
+ (HSEM->C1IER &= ~(__SEM_MASK__)) : \
+ (HSEM->C2IER &= ~(__SEM_MASK__)))
+#else
+#define __HAL_HSEM_DISABLE_IT(__SEM_MASK__) (HSEM->IER &= ~(__SEM_MASK__))
+#endif /* DUAL_CORE */
+
+/**
+ * @brief Checks whether interrupt has occurred or not for semaphores specified by a mask.
+ * @param __SEM_MASK__: semaphores Mask
+ * @retval semaphores Mask : Semaphores where an interrupt occurred.
+ */
+#if defined(DUAL_CORE)
+#define __HAL_HSEM_GET_IT(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
+ ((__SEM_MASK__) & HSEM->C1MISR) : \
+ ((__SEM_MASK__) & HSEM->C2MISR1))
+#else
+#define __HAL_HSEM_GET_IT(__SEM_MASK__) ((__SEM_MASK__) & HSEM->MISR)
+#endif /* DUAL_CORE */
+
+/**
+ * @brief Get the semaphores release status flags.
+ * @param __SEM_MASK__: semaphores Mask
+ * @retval semaphores Mask : Semaphores where Release flags rise.
+ */
+#if defined(DUAL_CORE)
+#define __HAL_HSEM_GET_FLAG(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
+ (__SEM_MASK__) & HSEM->C1ISR : \
+ (__SEM_MASK__) & HSEM->C2ISR)
+#else
+#define __HAL_HSEM_GET_FLAG(__SEM_MASK__) ((__SEM_MASK__) & HSEM->ISR)
+#endif /* DUAL_CORE */
+
+/**
+ * @brief Clears the HSEM Interrupt flags.
+ * @param __SEM_MASK__: semaphores Mask
+ * @retval None.
+ */
+#if defined(DUAL_CORE)
+#define __HAL_HSEM_CLEAR_FLAG(__SEM_MASK__) ((((SCB->CPUID & 0x000000F0) >> 4 )== 0x7) ? \
+ (HSEM->C1ICR |= (__SEM_MASK__)) : \
+ (HSEM->C2ICR |= (__SEM_MASK__)))
+#else
+#define __HAL_HSEM_CLEAR_FLAG(__SEM_MASK__) (HSEM->ICR |= (__SEM_MASK__))
+#endif /* DUAL_CORE */
+
+/**
+ * @}
+ */
+
+/* Exported functions --------------------------------------------------------*/
+/** @defgroup HSEM_Exported_Functions HSEM Exported Functions
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-/** @addtogroup HSEM_Exported_Functions_Group1 Take and Release functions
- * @brief HSEM Take and Release functions
- * @{
- */
-
-/* HSEM semaphore take (lock) using 2-Step method ****************************/
-HAL_StatusTypeDef HAL_HSEM_Take(uint32_t SemID, uint32_t ProcessID);
-/* HSEM semaphore fast take (lock) using 1-Step method ***********************/
-HAL_StatusTypeDef HAL_HSEM_FastTake(uint32_t SemID);
-/* HSEM Check semaphore state Taken or not **********************************/
-uint32_t HAL_HSEM_IsSemTaken(uint32_t SemID);
-/* HSEM Release **************************************************************/
-void HAL_HSEM_Release(uint32_t SemID, uint32_t ProcessID);
-/* HSEM Release All************************************************************/
-void HAL_HSEM_ReleaseAll(uint32_t Key, uint32_t CoreID);
-
-/**
- * @}
- */
-
-/** @addtogroup HSEM_Exported_Functions_Group2 HSEM Set and Get Key functions
- * @brief HSEM Set and Get Key functions.
- * @{
- */
-/* HSEM Set Clear Key *********************************************************/
-void HAL_HSEM_SetClearKey(uint32_t Key);
-/* HSEM Get Clear Key *********************************************************/
-uint32_t HAL_HSEM_GetClearKey(void);
-/**
- * @}
- */
-
-/** @addtogroup HSEM_Exported_Functions_Group3
- * @brief HSEM Notification functions
- * @{
- */
-/* HSEM Activate HSEM Notification (When a semaphore is released) ) *****************/
-void HAL_HSEM_ActivateNotification(uint32_t SemMask);
-/* HSEM Deactivate HSEM Notification (When a semaphore is released) ****************/
-void HAL_HSEM_DeactivateNotification(uint32_t SemMask);
-/* HSEM Free Callback (When a semaphore is released) *******************************/
-void HAL_HSEM_FreeCallback(uint32_t SemMask);
-/* HSEM IRQ Handler **********************************************************/
-void HAL_HSEM_IRQHandler(void);
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/* Private macros ------------------------------------------------------------*/
-/** @defgroup HSEM_Private_Macros HSEM Private Macros
+ * @{
+ */
+
+/** @addtogroup HSEM_Exported_Functions_Group1 Take and Release functions
+ * @brief HSEM Take and Release functions
+ * @{
+ */
+
+/* HSEM semaphore take (lock) using 2-Step method ****************************/
+HAL_StatusTypeDef HAL_HSEM_Take(uint32_t SemID, uint32_t ProcessID);
+/* HSEM semaphore fast take (lock) using 1-Step method ***********************/
+HAL_StatusTypeDef HAL_HSEM_FastTake(uint32_t SemID);
+/* HSEM Release **************************************************************/
+void HAL_HSEM_Release(uint32_t SemID, uint32_t ProcessID);
+/* HSEM Release All************************************************************/
+void HAL_HSEM_ReleaseAll(uint32_t Key, uint32_t CoreID);
+/* HSEM Check semaphore state Taken or not **********************************/
+uint32_t HAL_HSEM_IsSemTaken(uint32_t SemID);
+
+/**
+ * @}
+ */
+
+/** @addtogroup HSEM_Exported_Functions_Group2 HSEM Set and Get Key functions
+ * @brief HSEM Set and Get Key functions.
+ * @{
+ */
+/* HSEM Set Clear Key *********************************************************/
+void HAL_HSEM_SetClearKey(uint32_t Key);
+/* HSEM Get Clear Key *********************************************************/
+uint32_t HAL_HSEM_GetClearKey(void);
+/**
+ * @}
+ */
+
+/** @addtogroup HSEM_Exported_Functions_Group3
+ * @brief HSEM Notification functions
+ * @{
+ */
+/* HSEM Activate HSEM Notification (When a semaphore is released) ) *****************/
+void HAL_HSEM_ActivateNotification(uint32_t SemMask);
+/* HSEM Deactivate HSEM Notification (When a semaphore is released) ****************/
+void HAL_HSEM_DeactivateNotification(uint32_t SemMask);
+/* HSEM Free Callback (When a semaphore is released) *******************************/
+void HAL_HSEM_FreeCallback(uint32_t SemMask);
+/* HSEM IRQ Handler **********************************************************/
+void HAL_HSEM_IRQHandler(void);
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/* Private macros ------------------------------------------------------------*/
+/** @defgroup HSEM_Private_Macros HSEM Private Macros
* @ingroup RTEMSBSPsARMSTM32H7
- * @{
- */
-
-#define IS_HSEM_SEMID(__SEMID__) ((__SEMID__) <= HSEM_SEMID_MAX )
-
-#define IS_HSEM_PROCESSID(__PROCESSID__) ((__PROCESSID__) <= HSEM_PROCESSID_MAX )
-
-#define IS_HSEM_KEY(__KEY__) ((__KEY__) <= HSEM_CLEAR_KEY_MAX )
-
-#if defined(DUAL_CORE)
-#define IS_HSEM_COREID(__COREID__) (((__COREID__) == HSEM_CPU1_COREID) || \
- ((__COREID__) == HSEM_CPU2_COREID))
-#else
-#define IS_HSEM_COREID(__COREID__) ((__COREID__) == HSEM_CPU1_COREID)
-#endif
-
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* STM32H7xx_HAL_HSEM_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+ * @{
+ */
+
+#define IS_HSEM_SEMID(__SEMID__) ((__SEMID__) <= HSEM_SEMID_MAX )
+
+#define IS_HSEM_PROCESSID(__PROCESSID__) ((__PROCESSID__) <= HSEM_PROCESSID_MAX )
+
+#define IS_HSEM_KEY(__KEY__) ((__KEY__) <= HSEM_CLEAR_KEY_MAX )
+
+#if defined(DUAL_CORE)
+#define IS_HSEM_COREID(__COREID__) (((__COREID__) == HSEM_CPU1_COREID) || \
+ ((__COREID__) == HSEM_CPU2_COREID))
+#else
+#define IS_HSEM_COREID(__COREID__) ((__COREID__) == HSEM_CPU1_COREID)
+#endif
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* STM32H7xx_HAL_HSEM_H */