summaryrefslogtreecommitdiff
path: root/bsp/zynqmp-r5-axu4ev/drivers/Zynq_HAL_Driver/sleep.h
blob: ca6e56a7ec9e72004b7bef5e0e7b925c06352a6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
 * Copyright (c) 2020-2021, WangHuachen
 *
 * SPDX-License-Identifier: MIT
 *
 * Change Logs:
 * Date           Author       Notes
 * 2020-11-30     WangHuachen  the first version
 */
#ifndef XLI_SLEEP_H
#define XLI_SLEEP_H

#include <rtthread.h>
#include <rthw.h>

#include "xil_types.h"
#include "xil_io.h"

#ifdef __cplusplus
extern "C" {
#endif

static inline void usleep(unsigned long useconds)
{
    rt_uint32_t milliseconds = useconds/1000;
    useconds = useconds%1000;
    if (milliseconds) rt_thread_mdelay(milliseconds);
    if (useconds) rt_hw_us_delay(useconds);
}

static inline void sleep(unsigned int seconds)
{
    rt_thread_delay(seconds*RT_TICK_PER_SECOND);
}

#ifdef __cplusplus
}
#endif

#endif