![]() |
|
|||
File indexing completed on 2025-05-11 08:23:09
0001 /** 0002 ****************************************************************************** 0003 * @file stm32h7xx_ll_fmac.c 0004 * @author MCD Application Team 0005 * @brief Header for stm32h7xx_ll_fmac.c module 0006 ****************************************************************************** 0007 * @attention 0008 * 0009 * Copyright (c) 2017 STMicroelectronics. 0010 * All rights reserved. 0011 * 0012 * This software is licensed under terms that can be found in the LICENSE file 0013 * in the root directory of this software component. 0014 * If no LICENSE file comes with this software, it is provided AS-IS. 0015 * 0016 ****************************************************************************** 0017 */ 0018 #if defined(USE_FULL_LL_DRIVER) || defined(__rtems__) 0019 0020 /* Includes ------------------------------------------------------------------*/ 0021 #include "stm32h7xx_ll_fmac.h" 0022 #include "stm32h7xx_ll_bus.h" 0023 #ifdef USE_FULL_ASSERT 0024 #include "stm32_assert.h" 0025 #else 0026 #define assert_param(expr) ((void)0U) 0027 #endif /* USE_FULL_ASSERT */ 0028 0029 /** @addtogroup STM32H7xx_LL_Driver 0030 * @{ 0031 */ 0032 0033 #if defined(FMAC) 0034 0035 /** @addtogroup FMAC_LL 0036 * @{ 0037 */ 0038 0039 /* Private typedef -----------------------------------------------------------*/ 0040 /* Private defines -----------------------------------------------------------*/ 0041 /* Private macros ------------------------------------------------------------*/ 0042 /* Private variables ---------------------------------------------------------*/ 0043 /* Global variables ----------------------------------------------------------*/ 0044 /* Private function prototypes -----------------------------------------------*/ 0045 /* Functions Definition ------------------------------------------------------*/ 0046 /** @addtogroup FMAC_LL_Exported_Functions 0047 * @{ 0048 */ 0049 0050 /** @addtogroup FMAC_LL_EF_Init 0051 * @{ 0052 */ 0053 0054 /** 0055 * @brief Initialize FMAC peripheral registers to their default reset values. 0056 * @param FMACx FMAC Instance 0057 * @retval ErrorStatus enumeration value: 0058 * - SUCCESS: FMAC registers are initialized 0059 * - ERROR: FMAC registers are not initialized 0060 */ 0061 ErrorStatus LL_FMAC_Init(FMAC_TypeDef *FMACx) 0062 { 0063 ErrorStatus status = SUCCESS; 0064 0065 /* Check the parameters */ 0066 assert_param(IS_FMAC_ALL_INSTANCE(FMACx)); 0067 0068 if (FMACx == FMAC) 0069 { 0070 /* Perform the reset */ 0071 LL_FMAC_EnableReset(FMACx); 0072 0073 /* Wait until flag is reset */ 0074 while (LL_FMAC_IsEnabledReset(FMACx) != 0UL) 0075 { 0076 } 0077 } 0078 else 0079 { 0080 status = ERROR; 0081 } 0082 0083 return (status); 0084 } 0085 0086 /** 0087 * @brief De-Initialize FMAC peripheral registers to their default reset values. 0088 * @param FMACx FMAC Instance 0089 * @retval An ErrorStatus enumeration value: 0090 * - SUCCESS: FMAC registers are de-initialized 0091 * - ERROR: FMAC registers are not de-initialized 0092 */ 0093 ErrorStatus LL_FMAC_DeInit(const FMAC_TypeDef *FMACx) 0094 { 0095 ErrorStatus status = SUCCESS; 0096 0097 /* Check the parameters */ 0098 assert_param(IS_FMAC_ALL_INSTANCE(FMACx)); 0099 0100 if (FMACx == FMAC) 0101 { 0102 /* Force FMAC reset */ 0103 LL_AHB2_GRP1_ForceReset(LL_AHB2_GRP1_PERIPH_FMAC); 0104 0105 /* Release FMAC reset */ 0106 LL_AHB2_GRP1_ReleaseReset(LL_AHB2_GRP1_PERIPH_FMAC); 0107 } 0108 else 0109 { 0110 status = ERROR; 0111 } 0112 0113 return (status); 0114 } 0115 0116 0117 0118 /** 0119 * @} 0120 */ 0121 0122 /** 0123 * @} 0124 */ 0125 0126 /** 0127 * @} 0128 */ 0129 0130 #endif /* defined(FMAC) */ 0131 0132 /** 0133 * @} 0134 */ 0135 0136 #endif /* USE_FULL_LL_DRIVER */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |