1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * Copyright (C) 2024, James Raphael Tiovalen <jamestiotio@gmail.com> 4 */ 5 #include <libcflat.h> 6 #include <asm/barrier.h> 7 #include <asm/delay.h> 8 #include <asm/timer.h> 9 delay(uint64_t cycles)10void delay(uint64_t cycles) 11 { 12 uint64_t start = timer_get_cycles(); 13 14 while ((timer_get_cycles() - start) < cycles) 15 cpu_relax(); 16 } 17 udelay(unsigned long usecs)18void udelay(unsigned long usecs) 19 { 20 delay(usec_to_cycles((uint64_t)usecs)); 21 } 22