summaryrefslogtreecommitdiffstats
path: root/bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h
diff options
context:
space:
mode:
authorKarel Gardas <karel@functional.vision>2023-07-19 18:04:28 +0200
committerKarel Gardas <karel@functional.vision>2023-07-31 15:15:09 +0200
commitf728eb4dc4e19fce942f4762882f9a2aa06087b9 (patch)
treed3d85d6d98c286580ffc2795543ffc2848eeff41 /bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h
parentbsps/arm: fix nested extern decl. warnings brought by CMSIS files update (diff)
downloadrtems-f728eb4dc4e19fce942f4762882f9a2aa06087b9.tar.bz2
bsps/stm32h7: update STM32 H7 HAL
This patch updates STM32 H7 HAL source files. The files are taken from two STM projects from their github.com repositories: (i) https://github.com/STMicroelectronics/stm32h7xx_hal_driver.git The project files are still available under BSD-3 license and the version/commit used is: d5fc8d05fc16fa2a2a2f948cf6c6ab39e78358e1 which represents post Release v1.11.1 development tree. (ii) https://github.com/STMicroelectronics/cmsis_device_h7.git The project files were re-licensed from previous BSD-3 to Apache 2.0 license. Fortunately the project does not contain NOTICE file so no need to do anything special when used in RTEMS. The project version/commit imported is: 6d5ef249bec5177e0e2a0880ed62df2132874d99 which is code-wise Release v1.10.3 exactly.
Diffstat (limited to '')
-rw-r--r--bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h37
1 files changed, 10 insertions, 27 deletions
diff --git a/bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h b/bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h
index 553fdf97e1..b51f9d3bf9 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_ll_gpio.h
@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
- * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2017 STMicroelectronics.
+ * All rights reserved.
*
- * 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
+ * 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.
*
******************************************************************************
*/
@@ -35,7 +34,6 @@ extern "C" {
#if defined (GPIOA) || defined (GPIOB) || defined (GPIOC) || defined (GPIOD) || defined (GPIOE) || defined (GPIOF) || defined (GPIOG) || defined (GPIOH) || defined (GPIOI) || defined (GPIOJ) || defined (GPIOK)
/** @defgroup GPIO_LL GPIO
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -43,9 +41,8 @@ extern "C" {
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/* Private macros ------------------------------------------------------------*/
-#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
+#if defined(USE_FULL_LL_DRIVER)
/** @defgroup GPIO_LL_Private_Macros GPIO Private Macros
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -55,9 +52,8 @@ extern "C" {
#endif /*USE_FULL_LL_DRIVER*/
/* Exported types ------------------------------------------------------------*/
-#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
+#if defined(USE_FULL_LL_DRIVER)
/** @defgroup GPIO_LL_ES_INIT GPIO Exported Init structures
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -102,12 +98,10 @@ typedef struct
/* Exported constants --------------------------------------------------------*/
/** @defgroup GPIO_LL_Exported_Constants GPIO Exported Constants
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GPIO_LL_EC_PIN PIN
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_PIN_0 GPIO_BSRR_BS0 /*!< Select pin 0 */
@@ -137,7 +131,6 @@ typedef struct
*/
/** @defgroup GPIO_LL_EC_MODE Mode
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_MODE_INPUT (0x00000000U) /*!< Select input mode */
@@ -149,7 +142,6 @@ typedef struct
*/
/** @defgroup GPIO_LL_EC_OUTPUT Output Type
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_OUTPUT_PUSHPULL (0x00000000U) /*!< Select push-pull as output type */
@@ -159,7 +151,6 @@ typedef struct
*/
/** @defgroup GPIO_LL_EC_SPEED Output Speed
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_SPEED_FREQ_LOW (0x00000000U) /*!< Select I/O low output speed */
@@ -176,7 +167,6 @@ typedef struct
/** @defgroup GPIO_LL_EC_PULL Pull Up Pull Down
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_PULL_NO (0x00000000U) /*!< Select I/O no pull */
@@ -187,7 +177,6 @@ typedef struct
*/
/** @defgroup GPIO_LL_EC_AF Alternate Function
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
#define LL_GPIO_AF_0 (0x0000000U) /*!< Select alternate function 0 */
@@ -216,12 +205,10 @@ typedef struct
/* Exported macro ------------------------------------------------------------*/
/** @defgroup GPIO_LL_Exported_Macros GPIO Exported Macros
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GPIO_LL_EM_WRITE_READ Common Write and read registers Macros
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -251,12 +238,10 @@ typedef struct
/* Exported functions --------------------------------------------------------*/
/** @defgroup GPIO_LL_Exported_Functions GPIO Exported Functions
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
/** @defgroup GPIO_LL_EF_Port_Configuration Port Configuration
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -777,7 +762,6 @@ __STATIC_INLINE uint32_t LL_GPIO_IsAnyPinLocked(GPIO_TypeDef *GPIOx)
*/
/** @defgroup GPIO_LL_EF_Data_Access Data Access
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -957,16 +941,16 @@ __STATIC_INLINE void LL_GPIO_ResetOutputPin(GPIO_TypeDef *GPIOx, uint32_t PinMas
*/
__STATIC_INLINE void LL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint32_t PinMask)
{
- WRITE_REG(GPIOx->ODR, READ_REG(GPIOx->ODR) ^ PinMask);
+ uint32_t odr = READ_REG(GPIOx->ODR);
+ WRITE_REG(GPIOx->BSRR, ((odr & PinMask) << 16u) | (~odr & PinMask));
}
/**
* @}
*/
-#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
+#if defined(USE_FULL_LL_DRIVER)
/** @defgroup GPIO_LL_EF_Init Initialization and de-initialization functions
- * @ingroup RTEMSBSPsARMSTM32H7
* @{
*/
@@ -998,4 +982,3 @@ void LL_GPIO_StructInit(LL_GPIO_InitTypeDef *GPIO_InitStruct);
#endif /* STM32H7xx_LL_GPIO_H */
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/