/****************************************************************************** * 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 }