1 /**
2   ******************************************************************************
3   * @file    stm32mp1xx_hal_mdios.h
4   * @author  MCD Application Team
5   * @version V0.0.1
6   * @date    01-July-2016
7   * @brief   Header file of MDIOS HAL module.
8   ******************************************************************************
9   * @attention
10   *
11   * Copyright (c) 2019 STMicroelectronics.
12   * All rights reserved.
13   *
14   * This software is licensed under terms that can be found in the LICENSE file
15   * in the root directory of this software component.
16   * If no LICENSE file comes with this software, it is provided AS-IS.
17   *
18   ******************************************************************************
19   */
20 
21 /* Define to prevent recursive inclusion -------------------------------------*/
22 #ifndef __STM32MP1xx_HAL_MDIOS_H
23 #define __STM32MP1xx_HAL_MDIOS_H
24 
25 #ifdef __cplusplus
26  extern "C" {
27 #endif
28 
29 #if defined (MDIOS)
30 
31 /* Includes ------------------------------------------------------------------*/
32 #include "stm32mp1xx_hal_def.h"
33 
34 /** @addtogroup STM32MP1xx_HAL_Driver
35   * @{
36   */
37 
38 /** @addtogroup MDIOS
39   * @{
40   */
41 
42 /* Exported types ------------------------------------------------------------*/
43 /** @defgroup MDIOS_Exported_Types MDIOS Exported Types
44   * @{
45   */
46 
47 /** @defgroup MDIOS_Exported_Types_Group1 MDIOS State structures definition
48   * @{
49   */
50 
51 typedef enum
52 {
53   HAL_MDIOS_STATE_RESET             = 0x00U,    /*!< Peripheral not yet Initialized or disabled         */
54   HAL_MDIOS_STATE_READY             = 0x01U,    /*!< Peripheral Initialized and ready for use           */
55   HAL_MDIOS_STATE_BUSY              = 0x02U,    /*!< an internal process is ongoing                     */
56   HAL_MDIOS_STATE_ERROR             = 0x04U     /*!< Reception process is ongoing                       */
57 }HAL_MDIOS_StateTypeDef;
58 
59 /**
60   * @}
61   */
62 
63 /** @defgroup MDIOS_Exported_Types_Group2 MDIOS Init Structure definition
64   * @{
65   */
66 
67 typedef struct
68 {
69   uint32_t PortAddress;           /*!< Specifies the MDIOS port address.
70                                        This parameter can be a value from 0 to 31 */
71   uint32_t PreambleCheck;         /*!< Specifies whether the preamble check is enabled or disabled.
72                                        This parameter can be a value of @ref MDIOS_Preamble_Check */
73 }MDIOS_InitTypeDef;
74 
75 /**
76   * @}
77   */
78 
79 /** @defgroup MDIOS_Exported_Types_Group4 MDIOS handle Structure definition
80   * @{
81   */
82 
83 typedef struct
84 {
85   MDIOS_TypeDef                *Instance;     /*!< Register base address       */
86 
87   MDIOS_InitTypeDef            Init;          /*!< MDIOS Init Structure        */
88 
89   __IO HAL_MDIOS_StateTypeDef  State;         /*!< MDIOS communication state   */
90 
91   HAL_LockTypeDef              Lock;          /*!< MDIOS Lock                  */
92 }MDIOS_HandleTypeDef;
93 
94 /**
95   * @}
96   */
97 
98 /**
99   * @}
100   */
101 
102 /* Exported constants --------------------------------------------------------*/
103 /** @defgroup MDIOS_Exported_Constants MDIOS Exported Constants
104   * @{
105   */
106 
107 /** @defgroup MDIOS_Preamble_Check  MDIOS Preamble Check
108   * @{
109   */
110 #define MDIOS_PREAMBLE_CHECK_ENABLE      ((uint32_t)0x00000000U)
111 #define MDIOS_PREAMBLE_CHECK_DISABLE     MDIOS_CR_DPC
112 /**
113   * @}
114   */
115 
116 /** @defgroup MDIOS_Input_Output_Registers_Definitions MDIOS Input Output Registers Definitions
117   * @{
118   */
119 #define MDIOS_REG0                      ((uint32_t)0x00000000U)
120 #define MDIOS_REG1                      ((uint32_t)0x00000001U)
121 #define MDIOS_REG2                      ((uint32_t)0x00000002U)
122 #define MDIOS_REG3                      ((uint32_t)0x00000003U)
123 #define MDIOS_REG4                      ((uint32_t)0x00000004U)
124 #define MDIOS_REG5                      ((uint32_t)0x00000005U)
125 #define MDIOS_REG6                      ((uint32_t)0x00000006U)
126 #define MDIOS_REG7                      ((uint32_t)0x00000007U)
127 #define MDIOS_REG8                      ((uint32_t)0x00000008U)
128 #define MDIOS_REG9                      ((uint32_t)0x00000009U)
129 #define MDIOS_REG10                     ((uint32_t)0x0000000AU)
130 #define MDIOS_REG11                     ((uint32_t)0x0000000BU)
131 #define MDIOS_REG12                     ((uint32_t)0x0000000CU)
132 #define MDIOS_REG13                     ((uint32_t)0x0000000DU)
133 #define MDIOS_REG14                     ((uint32_t)0x0000000EU)
134 #define MDIOS_REG15                     ((uint32_t)0x0000000FU)
135 #define MDIOS_REG16                     ((uint32_t)0x00000010U)
136 #define MDIOS_REG17                     ((uint32_t)0x00000011U)
137 #define MDIOS_REG18                     ((uint32_t)0x00000012U)
138 #define MDIOS_REG19                     ((uint32_t)0x00000013U)
139 #define MDIOS_REG20                     ((uint32_t)0x00000014U)
140 #define MDIOS_REG21                     ((uint32_t)0x00000015U)
141 #define MDIOS_REG22                     ((uint32_t)0x00000016U)
142 #define MDIOS_REG23                     ((uint32_t)0x00000017U)
143 #define MDIOS_REG24                     ((uint32_t)0x00000018U)
144 #define MDIOS_REG25                     ((uint32_t)0x00000019U)
145 #define MDIOS_REG26                     ((uint32_t)0x0000001AU)
146 #define MDIOS_REG27                     ((uint32_t)0x0000001BU)
147 #define MDIOS_REG28                     ((uint32_t)0x0000001CU)
148 #define MDIOS_REG29                     ((uint32_t)0x0000001DU)
149 #define MDIOS_REG30                     ((uint32_t)0x0000001EU)
150 #define MDIOS_REG31                     ((uint32_t)0x0000001FU)
151 /**
152   * @}
153   */
154 
155 /** @defgroup MDIOS_Registers_Flags  MDIOS Registers Flags
156   * @{
157   */
158 #define MDIOS_REG0_FLAG			((uint32_t)0x00000001U)
159 #define	MDIOS_REG1_FLAG			((uint32_t)0x00000002U)
160 #define	MDIOS_REG2_FLAG			((uint32_t)0x00000004U)
161 #define	MDIOS_REG3_FLAG			((uint32_t)0x00000008U)
162 #define	MDIOS_REG4_FLAG			((uint32_t)0x00000010U)
163 #define	MDIOS_REG5_FLAG			((uint32_t)0x00000020U)
164 #define	MDIOS_REG6_FLAG			((uint32_t)0x00000040U)
165 #define	MDIOS_REG7_FLAG			((uint32_t)0x00000080U)
166 #define	MDIOS_REG8_FLAG			((uint32_t)0x00000100U)
167 #define	MDIOS_REG9_FLAG			((uint32_t)0x00000200U)
168 #define	MDIOS_REG10_FLAG		((uint32_t)0x00000400U)
169 #define	MDIOS_REG11_FLAG		((uint32_t)0x00000800U)
170 #define	MDIOS_REG12_FLAG		((uint32_t)0x00001000U)
171 #define	MDIOS_REG13_FLAG		((uint32_t)0x00002000U)
172 #define	MDIOS_REG14_FLAG		((uint32_t)0x00004000U)
173 #define	MDIOS_REG15_FLAG		((uint32_t)0x00008000U)
174 #define	MDIOS_REG16_FLAG		((uint32_t)0x00010000U)
175 #define	MDIOS_REG17_FLAG		((uint32_t)0x00020000U)
176 #define	MDIOS_REG18_FLAG		((uint32_t)0x00040000U)
177 #define	MDIOS_REG19_FLAG		((uint32_t)0x00080000U)
178 #define	MDIOS_REG20_FLAG		((uint32_t)0x00100000U)
179 #define	MDIOS_REG21_FLAG		((uint32_t)0x00200000U)
180 #define	MDIOS_REG22_FLAG		((uint32_t)0x00400000U)
181 #define	MDIOS_REG23_FLAG		((uint32_t)0x00800000U)
182 #define	MDIOS_REG24_FLAG		((uint32_t)0x01000000U)
183 #define	MDIOS_REG25_FLAG		((uint32_t)0x02000000U)
184 #define	MDIOS_REG26_FLAG		((uint32_t)0x04000000U)
185 #define	MDIOS_REG27_FLAG		((uint32_t)0x08000000U)
186 #define	MDIOS_REG28_FLAG		((uint32_t)0x10000000U)
187 #define	MDIOS_REG29_FLAG		((uint32_t)0x20000000U)
188 #define	MDIOS_REG30_FLAG		((uint32_t)0x40000000U)
189 #define	MDIOS_REG31_FLAG		((uint32_t)0x80000000U)
190 #define	MDIOS_ALLREG_FLAG		((uint32_t)0xFFFFFFFFU)
191 /**
192   * @}
193   */
194 
195 /** @defgroup MDIOS_Interrupt_sources Interrupt Sources
196   * @{
197   */
198 #define MDIOS_IT_WRITE                   MDIOS_CR_WRIE
199 #define MDIOS_IT_READ                    MDIOS_CR_RDIE
200 #define MDIOS_IT_ERROR                   MDIOS_CR_EIE
201 /**
202   * @}
203   */
204 
205 /** @defgroup MDIOS_Interrupt_Flags  MDIOS Interrupt Flags
206   * @{
207   */
208 #define	MDIOS_TURNAROUND_ERROR_FLAG       MDIOS_SR_TERF
209 #define	MDIOS_START_ERROR_FLAG            MDIOS_SR_SERF
210 #define	MDIOS_PREAMBLE_ERROR_FLAG         MDIOS_SR_PERF
211 /**
212   * @}
213   */
214 
215  /** @defgroup MDIOS_Wakeup_Line  MDIOS Wakeup Line
216   * @{
217   */
218 #define MDIOS_WAKEUP_EXTI_LINE  ((uint32_t)0x00000400)  /* !<  42 - 32 = 10 */
219 /**
220   * @}
221   */
222 
223 /**
224   * @}
225   */
226 /* Exported macros -----------------------------------------------------------*/
227 /** @defgroup MDIOS_Exported_Macros MDIOS Exported Macros
228   * @{
229   */
230 
231 /** @brief Reset MDIOS handle state
232   * @param  __HANDLE__: MDIOS handle.
233   * @retval None
234   */
235 #define __HAL_MDIOS_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_MDIOS_STATE_RESET)
236 
237 /**
238   * @brief  Enable/Disable the MDIOS peripheral.
239   * @param  __HANDLE__: specifies the MDIOS handle.
240   * @retval None
241   */
242 #define __HAL_MDIOS_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= MDIOS_CR_EN)
243 #define __HAL_MDIOS_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~MDIOS_CR_EN)
244 
245 
246 /**
247   * @brief  Enable the MDIOS device interrupt.
248   * @param  __HANDLE__: specifies the MDIOS handle.
249   * @param  __INTERRUPT__ : specifies the MDIOS interrupt sources to be enabled.
250   *         This parameter can be one or a combination of the following values:
251   *            @arg MDIOS_IT_WRITE: Register write interrupt
252   *            @arg MDIOS_IT_READ: Register read interrupt
253   *            @arg MDIOS_IT_ERROR: Error interrupt
254   * @retval None
255   */
256 #define __HAL_MDIOS_ENABLE_IT(__HANDLE__, __INTERRUPT__)  ((__HANDLE__)->Instance->CR |= (__INTERRUPT__))
257 
258 /**
259   * @brief  Disable the MDIOS device interrupt.
260   * @param  __HANDLE__: specifies the MDIOS handle.
261   * @param  __INTERRUPT__ : specifies the MDIOS interrupt sources to be disabled.
262   *         This parameter can be one or a combination of the following values:
263   *            @arg MDIOS_IT_WRITE: Register write interrupt
264   *            @arg MDIOS_IT_READ: Register read interrupt
265   *            @arg MDIOS_IT_ERROR: Error interrupt
266   * @retval None
267   */
268 #define __HAL_MDIOS_DISABLE_IT(__HANDLE__, __INTERRUPT__)  ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__))
269 
270 /** @brief Set MDIOS slave get write register flag
271   * @param  __HANDLE__: specifies the MDIOS handle.
272   * @param  __FLAG__: specifies the write register flag
273   * @retval The state of write flag
274   */
275 #define __HAL_MDIOS_GET_WRITE_FLAG(__HANDLE__, __FLAG__)      ((__HANDLE__)->Instance->WRFR &  (__FLAG__))
276 
277 /** @brief MDIOS slave get read register flag
278   * @param  __HANDLE__: specifies the MDIOS handle.
279   * @param  __FLAG__: specifies the read register flag
280   * @retval The state of read flag
281   */
282 #define __HAL_MDIOS_GET_READ_FLAG(__HANDLE__, __FLAG__)        ((__HANDLE__)->Instance->RDFR &  (__FLAG__))
283 
284 /** @brief MDIOS slave get interrupt
285   * @param  __HANDLE__: specifies the MDIOS handle.
286   * @param  __FLAG__ : specifies the Error flag.
287   *         This parameter can be one or a combination of the following values:
288   *            @arg MDIOS_TURNARROUND_ERROR_FLAG: Register write interrupt
289   *            @arg MDIOS_START_ERROR_FLAG: Register read interrupt
290   *            @arg MDIOS_PREAMBLE_ERROR_FLAG: Error interrupt
291   * @retval The state of the error flag
292   */
293 #define __HAL_MDIOS_GET_ERROR_FLAG(__HANDLE__, __FLAG__)       ((__HANDLE__)->Instance->SR &  (__FLAG__))
294 
295 /** @brief  MDIOS slave clear interrupt
296   * @param  __HANDLE__: specifies the MDIOS handle.
297   * @param  __FLAG__ : specifies the Error flag.
298   *         This parameter can be one or a combination of the following values:
299   *            @arg MDIOS_TURNARROUND_ERROR_FLAG: Register write interrupt
300   *            @arg MDIOS_START_ERROR_FLAG: Register read interrupt
301   *            @arg MDIOS_PREAMBLE_ERROR_FLAG: Error interrupt
302   * @retval none
303   */
304 #define __HAL_MDIOS_CLEAR_ERROR_FLAG(__HANDLE__, __FLAG__)       ((__HANDLE__)->Instance->CLRFR) |= (__FLAG__)
305 
306 /**
307   * @brief  Checks whether the specified MDIOS interrupt is set or not.
308   * @param  __HANDLE__: specifies the MDIOS handle.
309   * @param  __INTERRUPT__ : specifies the MDIOS interrupt sources
310   *            This parameter can be one or a combination of the following values:
311   *            @arg MDIOS_IT_WRITE: Register write interrupt
312   *            @arg MDIOS_IT_READ: Register read interrupt
313   *            @arg MDIOS_IT_ERROR: Error interrupt
314   * @retval The state of the interrupt source
315   */
316 #define __HAL_MDIOS_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR & (__INTERRUPT__))
317 
318 /**
319   * @brief Enable the MDIOS WAKEUP Exti Line.
320   * @param  __EXTI_LINE__: specifies the MDIOS WAKEUP Exti sources to be enabled.
321   * This parameter can be:
322   *   @arg MDIOS_WAKEUP_EXTI_LINE
323   * @retval None.
324   */
325 #define __HAL_MDIOS_WAKEUP_EXTI_ENABLE_IT(__EXTI_LINE__)   (EXTI_D1->IMR2 |= (__EXTI_LINE__))
326 
327 /**
328   * @brief Enable the MDIOS WAKEUP Exti Line by Domain2.
329   * @param  __EXTILINE__: specifies the MDIOS WAKEUP Exti sources to be enabled.
330   * This parameter can be:
331   *   @arg MDIOS_WAKEUP_EXTI_LINE
332   * @retval None.
333   */
334 #define __HAL_MDIOS_WAKEUP_EXTID2_ENABLE_IT(__EXTI_LINE__)   (EXTI_D2->IMR2 |= (__EXTI_LINE__))
335 
336 /**
337   * @brief checks whether the specified MDIOS WAKEUP Exti interrupt flag is set or not.
338   * @param  __EXTILINE__: specifies the MDIOS WAKEUP Exti sources to be cleared.
339   * This parameter can be:
340   *   @arg MDIOS_WAKEUP_EXTI_LINE
341   * @retval EXTI MDIOS WAKEUP Line Status.
342   */
343 #define __HAL_MDIOS_WAKEUP_EXTI_GET_FLAG(__EXTI_LINE__)  (EXTI_D1->PR2 & (__EXTI_LINE__))
344 
345 /**
346   * @brief checks whether the specified MDIOS WAKEUP Exti interrupt flag is set or not.
347   * @param  __EXTILINE__: specifies the MDIOS WAKEUP Exti sources to be cleared.
348   * This parameter can be:
349   *   @arg MDIOS_WAKEUP_EXTI_LINE
350   * @retval EXTI MDIOS WAKEUP Line Status.
351   */
352 #define __HAL_MDIOS_WAKEUP_EXTID2_GET_FLAG(__EXTI_LINE__)  (EXTI_D2->PR2 & (__EXTI_LINE__))
353 
354 /**
355   * @brief Clear the MDIOS WAKEUP Exti flag.
356   * @param  __EXTILINE__: specifies the MDIOS WAKEUP Exti sources to be cleared.
357   * This parameter can be:
358   *   @arg MDIOS_WAKEUP_EXTI_LINE
359   * @retval None.
360   */
361 #define __HAL_MDIOS_WAKEUP_EXTI_CLEAR_FLAG(__EXTI_LINE__) (EXTI_D1->PR2 = (__EXTI_LINE__))
362 
363 /**
364   * @brief Clear the MDIOS WAKEUP Exti flag.
365   * @param  __EXTILINE__: specifies the MDIOS WAKEUP Exti sources to be cleared.
366   * This parameter can be:
367   *   @arg MDIOS_WAKEUP_EXTI_LINE
368   * @retval None.
369   */
370 #define __HAL_MDIOS_WAKEUP_EXTID2_CLEAR_FLAG(__EXTI_LINE__) (EXTI_D2->PR2 = (__EXTI_LINE__))
371 
372 /**
373   * @brief  enable rising edge interrupt on selected EXTI line.
374   * @param  __EXTILINE__: specifies the ETH WAKEUP EXTI sources to be disabled.
375   * This parameter can be:
376   *  @arg ETH_WAKEUP_EXTI_LINE
377   * @retval None
378   */
379 #define __HAL_MDIOS_WAKEUP_EXTI_ENABLE_RISING_EDGE(__EXTI_LINE__) (EXTI->FTSR2 &= ~(__EXTI_LINE__)); \
380                                                                    (EXTI->RTSR2 |= (__EXTI_LINE__))
381 
382 /**
383   * @brief  enable falling edge interrupt on selected EXTI line.
384   * @param  __EXTILINE__: specifies the ETH WAKEUP EXTI sources to be disabled.
385   * This parameter can be:
386   *  @arg ETH_WAKEUP_EXTI_LINE
387   * @retval None
388   */
389 #define __HAL_MDIOS_WAKEUP_EXTI_ENABLE_FALLING_EDGE(__EXTI_LINE__) (EXTI->RTSR2 &= ~(__EXTI_LINE__));\
390                                                                  (EXTI->FTSR2 |= (__EXTI_LINE__))
391 
392 /**
393   * @brief  enable falling edge interrupt on selected EXTI line.
394   * @param  __EXTILINE__: specifies the ETH WAKEUP EXTI sources to be disabled.
395   * This parameter can be:
396   *  @arg ETH_WAKEUP_EXTI_LINE
397   * @retval None
398   */
399 #define __HAL_MDIOS_WAKEUP_EXTI_ENABLE_RISING_FALLING_EDGE(__EXTI_LINE__) (EXTI->RTSR2 |= (__EXTI_LINE__));\
400                                                                           (EXTI->FTSR2 |= (__EXTI_LINE__))
401 
402 /**
403   * @brief  Generates a Software interrupt on selected EXTI line.
404   * @param  __EXTILINE__: specifies the MDIOS WAKEUP EXTI sources to be disabled.
405   * This parameter can be:
406   *  @arg MDIOS_WAKEUP_EXTI_LINE
407   * @retval None
408   */
409 #define __HAL_MDIOS_WAKEUP_EXTI_GENERATE_SWIT(__EXTI_LINE__) (EXTI->SWIER2 |= (__EXTI_LINE__))
410 
411 /**
412   * @}
413   */
414 
415 /* Exported functions --------------------------------------------------------*/
416 /** @defgroup MDIOS_Exported_Functions MDIOS Exported Functions
417   * @{
418   */
419 
420 /** @addtogroup MDIOS_Exported_Functions_Group1
421   * @{
422   */
423 HAL_StatusTypeDef HAL_MDIOS_Init(MDIOS_HandleTypeDef *hmdios);
424 HAL_StatusTypeDef HAL_MDIOS_DeInit(MDIOS_HandleTypeDef *hmdios);
425 void HAL_MDIOS_MspInit(MDIOS_HandleTypeDef *hmdios);
426 void  HAL_MDIOS_MspDeInit(MDIOS_HandleTypeDef *hmdios);
427 /**
428   * @}
429   */
430 
431 /** @addtogroup MDIOS_Exported_Functions_Group2
432   * @{
433   */
434 HAL_StatusTypeDef HAL_MDIOS_WriteReg(MDIOS_HandleTypeDef *hmdios,  uint32_t RegNum, uint16_t Data);
435 HAL_StatusTypeDef HAL_MDIOS_ReadReg(MDIOS_HandleTypeDef *hmdios,  uint32_t RegNum, uint16_t *pData);
436 
437 uint32_t HAL_MDIOS_GetWrittenRegAddress(MDIOS_HandleTypeDef *hmdios);
438 uint32_t HAL_MDIOS_GetReadRegAddress(MDIOS_HandleTypeDef *hmdios);
439 HAL_StatusTypeDef HAL_MDIOS_ClearWriteRegAddress(MDIOS_HandleTypeDef *hmdios, uint32_t RegNum);
440 HAL_StatusTypeDef HAL_MDIOS_ClearReadRegAddress(MDIOS_HandleTypeDef *hmdios, uint32_t RegNum);
441 
442 HAL_StatusTypeDef HAL_MDIOS_EnableEvents(MDIOS_HandleTypeDef *hmdios);
443 void HAL_MDIOS_IRQHandler(MDIOS_HandleTypeDef *hmdios);
444 void HAL_MDIOS_WriteCpltCallback(MDIOS_HandleTypeDef *hmdios);
445 void HAL_MDIOS_ReadCpltCallback(MDIOS_HandleTypeDef *hmdios);
446 void HAL_MDIOS_ErrorCallback(MDIOS_HandleTypeDef *hmdios);
447 void HAL_MDIOS_WakeUpCallback(MDIOS_HandleTypeDef *hmdios);
448 /**
449   * @}
450   */
451 
452 /** @addtogroup MDIOS_Exported_Functions_Group3
453   * @{
454   */
455 uint32_t HAL_MDIOS_GetError(MDIOS_HandleTypeDef *hmdios);
456 HAL_MDIOS_StateTypeDef HAL_MDIOS_GetState(MDIOS_HandleTypeDef *hmdios);
457 /**
458   * @}
459   */
460 
461 /**
462   * @}
463   */
464 
465 /* Private types -------------------------------------------------------------*/
466 /** @defgroup MDIOS_Private_Types MDIOS Private Types
467   * @{
468   */
469 
470 /**
471   * @}
472   */
473 
474 /* Private variables ---------------------------------------------------------*/
475 /** @defgroup MDIOS_Private_Variables MDIOS Private Variables
476   * @{
477   */
478 
479 /**
480   * @}
481   */
482 
483 /* Private constants ---------------------------------------------------------*/
484 /** @defgroup MDIOS_Private_Constants MDIOS Private Constants
485   * @{
486   */
487 
488 /**
489   * @}
490   */
491 
492 /* Private macros ------------------------------------------------------------*/
493 /** @defgroup MDIOS_Private_Macros MDIOS Private Macros
494   * @{
495   */
496 
497 #define IS_MDIOS_PORTADDRESS(__ADDR__) ((__ADDR__) < 32)
498 
499 #define IS_MDIOS_REGISTER(__REGISTER__) ((__REGISTER__) < 32)
500 
501 #define IS_MDIOS_PREAMBLECHECK(__PREAMBLECHECK__) (((__PREAMBLECHECK__) == MDIOS_PREAMBLE_CHECK_ENABLE) || \
502                                                    ((__PREAMBLECHECK__) == MDIOS_PREAMBLE_CHECK_DISABLE))
503 
504  /**
505   * @}
506   */
507 
508 /* Private functions ---------------------------------------------------------*/
509 /** @defgroup MDIOS_Private_Functions MDIOS Private Functions
510   * @{
511   */
512 
513 /**
514   * @}
515   */
516 
517 
518 /**
519   * @}
520   */
521 
522 /**
523   * @}
524   */
525 
526 #endif /* MDIOS */
527 
528 #ifdef __cplusplus
529 }
530 #endif
531 
532 #endif /* __STM32MP1xx_HAL_MDIOS_H */
533