1*93bcbb09SJames Raphael Tiovalen /* SPDX-License-Identifier: GPL-2.0-only */ 2*93bcbb09SJames Raphael Tiovalen #ifndef _ASMRISCV_DELAY_H_ 3*93bcbb09SJames Raphael Tiovalen #define _ASMRISCV_DELAY_H_ 4*93bcbb09SJames Raphael Tiovalen 5*93bcbb09SJames Raphael Tiovalen #include <libcflat.h> 6*93bcbb09SJames Raphael Tiovalen #include <asm/setup.h> 7*93bcbb09SJames Raphael Tiovalen 8*93bcbb09SJames Raphael Tiovalen extern void delay(uint64_t cycles); 9*93bcbb09SJames Raphael Tiovalen extern void udelay(unsigned long usecs); 10*93bcbb09SJames Raphael Tiovalen usec_to_cycles(uint64_t usec)11*93bcbb09SJames Raphael Tiovalenstatic inline uint64_t usec_to_cycles(uint64_t usec) 12*93bcbb09SJames Raphael Tiovalen { 13*93bcbb09SJames Raphael Tiovalen return (timebase_frequency * usec) / 1000000; 14*93bcbb09SJames Raphael Tiovalen } 15*93bcbb09SJames Raphael Tiovalen 16*93bcbb09SJames Raphael Tiovalen #endif /* _ASMRISCV_DELAY_H_ */ 17