1 /**
2   ******************************************************************************
3   * @file    stm32h5xx_util_i3c.h
4   * @author  MCD Application Team
5   * @brief   Header of stm32h5xx_util_i3c.c
6   ******************************************************************************
7   * @attention
8   *
9   * Copyright (c) 2022 STMicroelectronics.
10   * All rights reserved.
11   *
12   * This software is licensed under terms that can be found in the LICENSE file
13   * in the root directory of this software component.
14   * If no LICENSE file comes with this software, it is provided AS-IS.
15   *
16   ******************************************************************************
17   */
18 
19 /* Define to prevent recursive inclusion -------------------------------------*/
20 #ifndef __I3C_UTILITY_H
21 #define __I3C_UTILITY_H
22 
23 /* Includes ------------------------------------------------------------------*/
24 #if defined (USE_HAL_DRIVER)
25 #include "stm32h5xx_hal.h"
26 #else
27 #include "stm32h5xx_ll_i3c.h"
28 #endif /* USE_HAL_DRIVER */
29 
30 /* Exported constants --------------------------------------------------------*/
31 /** @defgroup I3C_BUS_TYPE I3C BUS TYPE
32   * @{
33   */
34 #define I3C_PURE_I3C_BUS        0U      /*!< Pure I3C bus, no I2C    */
35 #define I3C_MIXED_BUS           1U      /*!< Mixed bus I3C and I2C   */
36 /**
37   * @}
38   */
39 
40 /* Exported functions ------------------------------------------------------- */
41 ErrorStatus I3C_CtrlTimingComputation(LL_I3C_CtrlBusConfTypeDef *pConfig, uint32_t clockSrcFreq, uint32_t i3cFreq,
42                                       uint32_t i2cFreq, uint32_t dutyCycle, uint32_t busType);
43 ErrorStatus I3C_TgtTimingComputation(LL_I3C_TgtBusConfTypeDef *pConfig, uint32_t clockSrcFreq);
44 
45 #endif /* __I3C_UTILITY_H */
46