123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509 |
- /*==================================================================================================
- * Project : RTD AUTOSAR 4.4
- * Platform : CORTEXM
- * Peripheral :
- * Dependencies : none
- *
- * Autosar Version : 4.4.0
- * Autosar Revision : ASR_REL_4_4_REV_0000
- * Autosar Conf.Variant :
- * SW Version : 1.0.0
- * Build Version : S32K1_RTD_1_0_0_HF01_D2109_ASR_REL_4_4_REV_0000_20210907
- *
- * (c) Copyright 2020-2021 NXP Semiconductors
- * All Rights Reserved.
- *
- * NXP Confidential. This software is owned or controlled by NXP and may only be
- * used strictly in accordance with the applicable license terms. By expressly
- * accepting such terms or by downloading, installing, activating and/or otherwise
- * using the software, you are agreeing that you have read, and that you agree to
- * comply with and are bound by, such license terms. If you do not agree to be
- * bound by the applicable license terms, then you may not retain, install,
- * activate or otherwise use the software.
- ==================================================================================================*/
- /**
- * @file Clock_Ip_Private.h
- * @version 1.0.0
- *
- * @brief CLOCK IP driver private header file.
- * @details CLOCK IP driver private header file.
- * @addtogroup CLOCK_DRIVER Clock Ip Driver
- * @{
- */
- #if !defined(CLOCK_IP_PRIVATE_H)
- #define CLOCK_IP_PRIVATE_H
- #include "Clock_Ip.h"
- #if defined(CLOCK_IP_PLATFORM_S32R45)
- #include "Clock_Ip_Specific1.h"
- #else
- #include "Clock_Ip_Specific.h"
- #endif
- #ifdef CLOCK_IP_DEV_ERROR_DETECT
- #if (STD_ON == CLOCK_IP_DEV_ERROR_DETECT)
- #include "Devassert.h"
- #endif /* (STD_ON == CLOCK_IP_DEV_ERROR_DETECT) */
- #endif /* #ifdef CLOCK_IP_DEV_ERROR_DETECT */
- /*==================================================================================================
- SOURCE FILE VERSION INFORMATION
- ==================================================================================================*/
- #define CLOCK_IP_PRIVATE_VENDOR_ID 43
- #define CLOCK_IP_PRIVATE_AR_RELEASE_MAJOR_VERSION 4
- #define CLOCK_IP_PRIVATE_AR_RELEASE_MINOR_VERSION 4
- #define CLOCK_IP_PRIVATE_AR_RELEASE_REVISION_VERSION 0
- #define CLOCK_IP_PRIVATE_SW_MAJOR_VERSION 1
- #define CLOCK_IP_PRIVATE_SW_MINOR_VERSION 0
- #define CLOCK_IP_PRIVATE_SW_PATCH_VERSION 0
- /*==================================================================================================
- FILE VERSION CHECKS
- ==================================================================================================*/
- /* Check if Clock_Ip_Private.h file and Clock_Ip.h file are of the same Autosar version */
- #if ((CLOCK_IP_PRIVATE_AR_RELEASE_MAJOR_VERSION != CLOCK_IP_AR_RELEASE_MAJOR_VERSION) || \
- (CLOCK_IP_PRIVATE_AR_RELEASE_MINOR_VERSION != CLOCK_IP_AR_RELEASE_MINOR_VERSION) || \
- (CLOCK_IP_PRIVATE_AR_RELEASE_REVISION_VERSION != CLOCK_IP_AR_RELEASE_REVISION_VERSION))
- #error "AutoSar Version Numbers of Clock_Ip_Private.h and Clock_Ip.h are different"
- #endif
- /* Check if Clock_Ip_Private.h file and Clock_Ip.h file have same versions */
- #if (CLOCK_IP_PRIVATE_VENDOR_ID != CLOCK_IP_VENDOR_ID)
- #error "Clock_Ip_Private.h and Clock_Ip.h have different vendor IDs"
- #endif
- /* Check if Clock_Ip_Private.h file and Clock_Ip.h file are of the same Software version */
- #if ((CLOCK_IP_PRIVATE_SW_MAJOR_VERSION != CLOCK_IP_SW_MAJOR_VERSION) || \
- (CLOCK_IP_PRIVATE_SW_MINOR_VERSION != CLOCK_IP_SW_MINOR_VERSION) || \
- (CLOCK_IP_PRIVATE_SW_PATCH_VERSION != CLOCK_IP_SW_PATCH_VERSION))
- #error "Software Version Numbers of Clock_Ip_Private.h and Clock_Ip.h are different"
- #endif
- #if defined(CLOCK_IP_PLATFORM_S32R45)
- /* Check if Clock_Ip_Private.h file and Clock_Ip_Specific1.h file are of the same Autosar version */
- #if ((CLOCK_IP_PRIVATE_AR_RELEASE_MAJOR_VERSION != CLOCK_IP_SPECIFIC1_AR_RELEASE_MAJOR_VERSION) || \
- (CLOCK_IP_PRIVATE_AR_RELEASE_MINOR_VERSION != CLOCK_IP_SPECIFIC1_AR_RELEASE_MINOR_VERSION) || \
- (CLOCK_IP_PRIVATE_AR_RELEASE_REVISION_VERSION != CLOCK_IP_SPECIFIC1_AR_RELEASE_REVISION_VERSION))
- #error "AutoSar Version Numbers of Clock_Ip_Private.h and Clock_Ip_Specific1.h are different"
- #endif
- /* Check if Clock_Ip_Private.h file and Clock_Ip_Specific1.h file have same versions */
- #if (CLOCK_IP_PRIVATE_VENDOR_ID != CLOCK_IP_SPECIFIC1_VENDOR_ID)
- #error "Clock_Ip_Private.h and Clock_Ip_Specific1.h have different vendor IDs"
- #endif
- /* Check if Clock_Ip_Private.h file and Clock_Ip_Specific1.h file are of the same Software version */
- #if ((CLOCK_IP_PRIVATE_SW_MAJOR_VERSION != CLOCK_IP_SPECIFIC1_SW_MAJOR_VERSION) || \
- (CLOCK_IP_PRIVATE_SW_MINOR_VERSION != CLOCK_IP_SPECIFIC1_SW_MINOR_VERSION) || \
- (CLOCK_IP_PRIVATE_SW_PATCH_VERSION != CLOCK_IP_SPECIFIC1_SW_PATCH_VERSION))
- #error "Software Version Numbers of Clock_Ip_Private.h and Clock_Ip_Specific1.h are different"
- #endif
- #else
- /* Check if Clock_Ip_Private.h file and Clock_Ip_Specific.h file are of the same Autosar version */
- #if ((CLOCK_IP_PRIVATE_AR_RELEASE_MAJOR_VERSION != CLOCK_IP_SPECIFIC_AR_RELEASE_MAJOR_VERSION) || \
- (CLOCK_IP_PRIVATE_AR_RELEASE_MINOR_VERSION != CLOCK_IP_SPECIFIC_AR_RELEASE_MINOR_VERSION) || \
- (CLOCK_IP_PRIVATE_AR_RELEASE_REVISION_VERSION != CLOCK_IP_SPECIFIC_AR_RELEASE_REVISION_VERSION))
- #error "AutoSar Version Numbers of Clock_Ip_Private.h and Clock_Ip_Specific.h are different"
- #endif
- /* Check if Clock_Ip_Private.h file and Clock_Ip_Specific.h file have same versions */
- #if (CLOCK_IP_PRIVATE_VENDOR_ID != CLOCK_IP_SPECIFIC_VENDOR_ID)
- #error "Clock_Ip_Private.h and Clock_Ip_Specific.h have different vendor IDs"
- #endif
- /* Check if Clock_Ip_Private.h file and Clock_Ip_Specific.h file are of the same Software version */
- #if ((CLOCK_IP_PRIVATE_SW_MAJOR_VERSION != CLOCK_IP_SPECIFIC_SW_MAJOR_VERSION) || \
- (CLOCK_IP_PRIVATE_SW_MINOR_VERSION != CLOCK_IP_SPECIFIC_SW_MINOR_VERSION) || \
- (CLOCK_IP_PRIVATE_SW_PATCH_VERSION != CLOCK_IP_SPECIFIC_SW_PATCH_VERSION))
- #error "Software Version Numbers of Clock_Ip_Private.h and Clock_Ip_Specific.h are different"
- #endif
- #endif
- #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
- #ifdef CLOCK_IP_DEV_ERROR_DETECT
- #if (STD_ON == CLOCK_IP_DEV_ERROR_DETECT)
- /* Check if Clock_Ip_Private.h file and Devassert.h file are of the same Autosar version */
- #if ((CLOCK_IP_PRIVATE_AR_RELEASE_MAJOR_VERSION != DEVASSERT_AR_RELEASE_MAJOR_VERSION) || \
- (CLOCK_IP_PRIVATE_AR_RELEASE_MINOR_VERSION != DEVASSERT_AR_RELEASE_MINOR_VERSION))
- #error "AutoSar Version Numbers of Clock_Ip_Private.h and Devassert.h are different"
- #endif
- #endif /* (STD_ON == CLOCK_IP_DEV_ERROR_DETECT) */
- #endif /* #ifdef CLOCK_IP_DEV_ERROR_DETECT */
- #endif
- #if defined(__cplusplus)
- extern "C" {
- #endif /* __cplusplus*/
- /* Total number of clocks */
- #define CLOCK_NAMES_NO FEATURE_CLOCKS_NO
- /* Total number of producer clocks */
- #define CLOCK_PRODUCERS_NO FEATURE_CLOCK_PRODUCERS_NO
- /* Define clock features */
- #define CLOCK_MODULE_INSTANCE 0U /* Instance of the module where clock element is implemented. */
- #define CLOCK_CALLBACK 1U /* Actions to be done for different implementations of a clock element. */
- #define EXTENSION_INDEX 2U /* Specific clock feature extension */
- #define POWER_MODE_INDEX 3U /* Index of power mode for multiplexed clock option */
- #define SELECTOR_INDEX 4U /* Selector index. */
- #define DIVIDER_INDEX 5U /* Divider index. */
- #define GATE_INDEX 6U /* Gate index */
- #define PCFS_INDEX 7U /* Pcfs index */
- #define CMU_INDEX 8U /* Cmu index */
- /* Maximum number of clock features for each clock name */
- #define CLOCK_FEATURES_NO 9U
- #if (defined (CLOCK_IP_S32K3))
- #define INV_VAL 255U /* Invalid value */
- #define NO_TRIGGER 0U /* No trigger is supported by divider. */
- #define TRIGGER 1U /* Trigger is supported by divider. */
- #define TRIGGER_VALUE 0xFFFFFFFFU /* Trigger value. */
- #endif
- #if (defined(CLOCK_IP_DEV_ERROR_DETECT))
- #if (CLOCK_IP_DEV_ERROR_DETECT == STD_ON)
- #define IRCOSC_OBJECT (1UL << 0U)
- #define XOSC_OBJECT (1UL << 1U)
- #define PLL_OBJECT (1UL << 2U)
- #define SELECTOR_OBJECT (1UL << 3U)
- #define DIVIDER_OBJECT (1UL << 4U)
- #define DIVIDER_TRIGGER_OBJECT (1UL << 5U)
- #define FRAC_DIV_OBJECT (1UL << 6U)
- #define EXT_SIG_OBJECT (1UL << 7U)
- #define GATE_OBJECT (1UL << 8U)
- #define PCFS_OBJECT (1UL << 9U)
- #define CMU_OBJECT (1UL << 10U)
- #endif
- #endif /* CLOCK_IP_DEV_ERROR_DETECT */
- #if (defined(CLOCK_IP_DEV_ERROR_DETECT))
- #if (CLOCK_IP_DEV_ERROR_DETECT == STD_ON)
- #define CLOCK_DEV_ASSERT(x) DevAssert(x)
- #else
- #define CLOCK_DEV_ASSERT(x)
- #endif
- #else
- #define CLOCK_DEV_ASSERT(x)
- #endif
- /*! @brief Clock ip source type.
- */
- typedef enum
- {
- /* Generic error codes */
- UKNOWN_TYPE = 0x00U, /*!< Clock path from source to this clock name has at least one selector. */
- IRCOSC_TYPE = 0x01U, /*!< Source is an internal oscillator. */
- XOSC_TYPE = 0x02U, /*!< Source is an external oscillator. */
- PLL_TYPE = 0x03U, /*!< Source is a pll. */
- EXT_CLK_TYPE = 0x04U, /*!< Source is an external clock. */
- SERDES_TYPE = 0x04U, /*!< Source is a SERDES. */
- } clock_name_source_type;
- /*! @brief Clock pll status return codes.
- */
- typedef enum
- {
- STATUS_PLL_NOT_ENABLED = 0x00U, /*!< Not enabled */
- STATUS_PLL_UNLOCKED = 0x01U, /*!< Unlocked */
- STATUS_PLL_LOCKED = 0x02U, /*!< Locked */
- } clock_pll_status_t;
- /*! @brief Clock dfs status return codes.
- */
- typedef enum
- {
- STATUS_DFS_NOT_ENABLED = 0x00U, /*!< Not enabled */
- STATUS_DFS_UNLOCKED = 0x01U, /*!< Unlocked */
- STATUS_DFS_LOCKED = 0x02U, /*!< Locked */
- } clock_dfs_status_t;
- typedef void (*intOscSetCallback)(Clock_Ip_IrcoscConfigType const * config);
- typedef void (*intOscDisableCallback)(Clock_Ip_NameType IrcoscName);
- typedef void (*intOscEnableCallback)(Clock_Ip_IrcoscConfigType const * config);
- typedef struct
- {
- intOscSetCallback Set;
- intOscEnableCallback Enable;
- intOscDisableCallback Disable;
- }intOscCallback;
- typedef void (*extOscSetCallback)(Clock_Ip_XoscConfigType const * config);
- typedef void (*extOscResetCallback)(Clock_Ip_XoscConfigType const * config);
- typedef void (*extOscDisableCallback)(Clock_Ip_NameType ExtoscName);
- typedef void (*extOscEnableCallback)(Clock_Ip_XoscConfigType const * config);
- typedef struct
- {
- extOscResetCallback Reset;
- extOscSetCallback Set;
- extOscSetCallback Complete;
- extOscDisableCallback Disable;
- extOscEnableCallback Enable;
- }extOscCallback;
- typedef void (*dividerSetCallback)(Clock_Ip_DividerConfigType const * config);
- typedef struct
- {
- dividerSetCallback Set;
- }dividerCallback;
- typedef void (*dividerConfigureCallback)(Clock_Ip_DividerTriggerConfigType const * config);
- typedef void (*dividerTriggerUpdateCallback)(Clock_Ip_DividerTriggerConfigType const * config);
- typedef struct
- {
- dividerConfigureCallback Configure;
- dividerTriggerUpdateCallback TriggerUpdate;
- }dividerTriggerCallback;
- typedef void (*fracDivSetCallback)(Clock_Ip_FracDivConfigType const * config);
- typedef void (*fracDivResetCallback)(Clock_Ip_FracDivConfigType const * config);
- typedef clock_dfs_status_t (*fracDivCompleteCallback)(Clock_Ip_NameType DfsName);
- typedef struct
- {
- fracDivResetCallback Reset;
- fracDivSetCallback Set;
- fracDivCompleteCallback Complete;
- }fracDivCallback;
- typedef void (*pllSetCallback)(Clock_Ip_PllConfigType const * config);
- typedef void (*pllResetCallback)(Clock_Ip_PllConfigType const * config);
- typedef clock_pll_status_t (*pllCompleteCallback)(Clock_Ip_NameType PllName);
- typedef void (*pllEnableCallback)(Clock_Ip_PllConfigType const * config);
- typedef void (*pllDisableCallback)(Clock_Ip_NameType PllName);
- typedef struct
- {
- pllResetCallback Reset;
- pllSetCallback Set;
- pllCompleteCallback Complete;
- pllEnableCallback Enable;
- pllDisableCallback Disable;
- }pllCallback;
- typedef void (*selectorSetCallback)(Clock_Ip_SelectorConfigType const * config);
- typedef void (*selectorResetCallback)(Clock_Ip_SelectorConfigType const * config);
- typedef struct
- {
- selectorResetCallback Reset;
- selectorSetCallback Set;
- }selectorCallback;
- typedef void (*gateSetCallback)(Clock_Ip_GateConfigType const * config);
- typedef void (*gateUpdateCallback)(Clock_Ip_NameType clockName, boolean gate);
- typedef struct
- {
- gateSetCallback Set;
- gateUpdateCallback Update;
- }gateCallback;
- typedef void (*clockMonitorSetCallback)(Clock_Ip_CmuConfigType const * config);
- typedef void (*clockMonitorResetCallback)(Clock_Ip_CmuConfigType const * config);
- typedef void (*clockMonitorClearStatusCallback)(Clock_Ip_NameType name);
- typedef void (*clockMonitorDisableCallback)(Clock_Ip_NameType name);
- typedef Clock_Ip_CmuStatusType (*clockMonitorGetMonitorStatusCallback)(Clock_Ip_NameType name);
- typedef void (*clockMonitorEnableCallback)(Clock_Ip_CmuConfigType const * config);
- typedef struct
- {
- clockMonitorResetCallback Reset;
- clockMonitorSetCallback Set;
- clockMonitorDisableCallback Disable;
- clockMonitorClearStatusCallback Clear;
- clockMonitorGetMonitorStatusCallback GetStatus;
- clockMonitorEnableCallback Enable;
- }clockMonitorCallback;
- typedef void (*pcfsSetCallback)(Clock_Ip_PcfsConfigType const * config);
- typedef struct
- {
- pcfsSetCallback Set;
- }pcfsCallback;
- #if (defined (CLOCK_IP_S32K3))
- typedef uint32 (*consumerClockCallback)(void);
- typedef void (*CalcFreqCallback)(void);
- #endif
- /* Clock start constant section data */
- #define MCU_START_SEC_CONST_8
- #include "Mcu_MemMap.h"
- extern const uint8 xoscCallbackIndex[ALL_CALLBACKS_COUNT];
- extern const uint8 dividerCallbackIndex[ALL_CALLBACKS_COUNT];
- extern const uint8 dividertriggerCallbackIndex[ALL_CALLBACKS_COUNT];
- extern const uint8 fractional_dividerCallbackIndex[ALL_CALLBACKS_COUNT];
- extern const uint8 pllCallbackIndex[ALL_CALLBACKS_COUNT];
- extern const uint8 selectorCallbackIndex[ALL_CALLBACKS_COUNT];
- extern const uint8 ircoscCallbackIndex[ALL_CALLBACKS_COUNT];
- extern const uint8 cmuCallbackIndex[ALL_CALLBACKS_COUNT];
- extern const uint8 gateCallbackIndex[ALL_CALLBACKS_COUNT];
- extern const uint8 pcfsCallbackIndex[ALL_CALLBACKS_COUNT];
- extern const uint8 clockFeatures[CLOCK_NAMES_NO][CLOCK_FEATURES_NO];
- /* Clock stop constant section data */
- #define MCU_STOP_SEC_CONST_8
- #include "Mcu_MemMap.h"
- /* Clock start constant section data */
- #define MCU_START_SEC_CONST_32
- #include "Mcu_MemMap.h"
- #if (defined(CLOCK_IP_DEV_ERROR_DETECT))
- #if (CLOCK_IP_DEV_ERROR_DETECT == STD_ON)
- extern const uint32 clockNameTypes[CLOCK_NAMES_NO];
- #endif
- #endif
- /* Clock stop constant section data */
- #define MCU_STOP_SEC_CONST_32
- #include "Mcu_MemMap.h"
- /* Clock start constant section data */
- #define MCU_START_SEC_CONST_UNSPECIFIED
- #include "Mcu_MemMap.h"
- extern const extOscCallback extOscCallbacks[XOSC_CALLBACKS_COUNT];
- extern const dividerCallback dividerCallbacks[DIVIDER_CALLBACKS_COUNT];
- extern const dividerTriggerCallback dividerTriggerCallbacks[DIVIDERTRIGGER_CALLBACKS_COUNT];
- extern const fracDivCallback fracDivCallbacks[FRACTIONAL_DIVIDER_CALLBACKS_COUNT];
- extern const pllCallback pllCallbacks[PLL_CALLBACKS_COUNT];
- #if (STD_OFF == CLOCK_IP_NO_PLL)
- extern const Clock_Ip_NameType HwPllName[NUMBER_OF_HARDWARE_PLL];
- #endif
- extern const selectorCallback selectorCallbacks[SELECTOR_CALLBACKS_COUNT];
- extern const intOscCallback intOscCallbacks[IRCOSC_CALLBACKS_COUNT];
- extern const clockMonitorCallback cmuCallbacks[CMU_CALLBACKS_COUNT];
- extern const gateCallback gateCallbacks[GATE_CALLBACKS_COUNT];
- extern const pcfsCallback pcfsCallbacks[PCFS_CALLBACKS_COUNT];
- extern const clock_name_source_type sourceType_clockName[CLOCK_PRODUCERS_NO + 1U];
- /* Clock stop constant section data */
- #define MCU_STOP_SEC_CONST_UNSPECIFIED
- #include "Mcu_MemMap.h"
- #define MCU_START_SEC_VAR_CLEARED_UNSPECIFIED
- #include "Mcu_MemMap.h"
- #if CMU_INSTANCES_ARRAY_SIZE > 0U
- extern const Clock_Ip_ClockConfigType *clockConfig;
- #endif
- #define MCU_STOP_SEC_VAR_CLEARED_UNSPECIFIED
- #include "Mcu_MemMap.h"
- /* Clock start section code */
- #define MCU_START_SEC_CODE
- #include "Mcu_MemMap.h"
- void ClockInitializeObjects(void);
- void ClockPowerModeChangeNotification(power_modes_t powerMode, power_notification_t notification);
- void ReportClockErrors(Clock_Ip_ClockNotificationType error, Clock_Ip_NameType clockName);
- void SpecificPeripheralClockInitialization(Clock_IP_SpecificPeriphConfigType const * config);
- void SpecificPlatformInitClock(Clock_Ip_ClockConfigType const * config);
- #if (defined(CMU_FC_FCE_REF_CNT_LFREF_HFREF) || defined(CGM_X_PCFS_SDUR_DIVC_DIVE_DIVS) || defined(FEATURE_CLOCK_IP_HAS_RAM_WAIT_STATES))
- uint32 GetConfiguredFrequencyValue(Clock_Ip_NameType clockName);
- #endif
- #if (defined(CLOCK_IP_GET_FREQUENCY_API) && (CLOCK_IP_GET_FREQUENCY_API == STD_ON))
- uint32 GetFreq(Clock_Ip_NameType clockName);
- void SetExternalOscillatorFrequency(Clock_Ip_NameType extOscName, uint32 frequency);
- void SetExternalSignalFrequency(Clock_Ip_NameType signalName, uint32 frequency);
- #endif
- #if CMU_INSTANCES_ARRAY_SIZE > 0U
- uint32 Mcu_CMU_GetInterruptStatus(uint8 u8IndexCmu);
- void Mcu_CMU_ClockFailInt(void);
- #endif
- #ifdef FEATURE_CLOCK_IP_HAS_RAM_WAIT_STATES
- void SetRamWaitStates(void);
- #endif
- #ifdef FEATURE_CLOCK_IP_HAS_FLASH_WAIT_STATES
- void SetFlashWaitStates(void);
- #endif
- /*!
- * @brief Initializes a starting reference point for timeout
- *
- * @param[out] startTimeOut The starting time from which elapsed time is measured
- * @param[out] elapsedTimeOut The elapsed time to be passed to ClockTimeoutExpired
- * @param[out] timeoutTicksOut The timeout value (in ticks) to be passed to ClockTimeoutExpired
- * @param[in] timeoutUs The timeout value (in microseconds)
- */
- void ClockStartTimeout(uint32 *startTimeOut,
- uint32 *elapsedTimeOut,
- uint32 *timeoutTicksOut,
- uint32 timeoutUs);
- /*!
- * @brief Checks for timeout condition.
- *
- * @param[in,out] startTimeInOut The starting time from which elapsed time is measured
- * @param[in,out] elapsedTimeInOut The accumulated elapsed time from the starting time reference
- * @param[in] TimeoutTicks The timeout limit (in ticks)
- */
- boolean ClockTimeoutExpired(uint32 *startTimeInOut,
- uint32 *elapsedTimeInOut,
- uint32 TimeoutTicks);
- /* Clock stop section code */
- #define MCU_STOP_SEC_CODE
- #include "Mcu_MemMap.h"
- #if defined(__cplusplus)
- }
- #endif /* __cplusplus*/
- /*! @}*/
- #endif /* CLOCK_IP_PRIVATE_H */
- /*******************************************************************************
- * EOF
- ******************************************************************************/
|