/****************************************************************************** * Copyright (c) 2017 - 2022 Xilinx, Inc. All rights reserved. * SPDX-License-Identifier: MIT ******************************************************************************/ /*****************************************************************************/ /** * *@file xil_sleepcommon.c * * This file contains the sleep API's * *
* MODIFICATION HISTORY: * * Ver Who Date Changes * ----- -------- -------- ----------------------------------------------- * 6.6 srm 11/02/17 First release * 7.7 sk 01/10/22 Typecast sleep function argument from unsigned * int to u32 to fix misra_c_2012_directive_4_6 * violation. * 7.7 sk 03/02/22 Update usleep argument type to fix misra_c_2012_ * directive_4_6 violation. *******************************************************************************/ /***************************** Include Files *********************************/ #include "xil_io.h" #include "sleep.h" /**************************** Constant Definitions *************************/ /*****************************************************************************/ /** * * This API gives delay in sec * * @param seconds - delay time in seconds * * @return none * * @note none * *****************************************************************************/ void sleep(u32 seconds) { #if defined (ARMR5) sleep_R5(seconds); #elif defined (__aarch64__) || defined (ARMA53_32) sleep_A53(seconds); #elif defined (__MICROBLAZE__) sleep_MB(seconds); #else sleep_A9(seconds); #endif } /****************************************************************************/ /** * * This API gives delay in usec * * @param useconds - delay time in useconds * * @return none * * @note none * *****************************************************************************/ void usleep(ULONG useconds) { #if defined (ARMR5) usleep_R5(useconds); #elif defined (__aarch64__) || defined (ARMA53_32) usleep_A53(useconds); #elif defined (__MICROBLAZE__) usleep_MB(useconds); #else usleep_A9(useconds); #endif }