Loading files
d368afb60This file is pinned to the selected release. Download the original to open it in your design tool.
#include <irq.h>
#include <system.h>
#include <generated/mem.h>
#include <generated/csr.h>
void flush_l2_cache(void)
{
#ifdef CONFIG_L2_SIZE
unsigned int i;
for(i=0;i<2*CONFIG_L2_SIZE/4;i++) {
((volatile unsigned int *) MAIN_RAM_BASE_VA)[i];
}
#endif
}
void busy_wait(unsigned int ms)
{
timer0_en_write(0);
timer0_reload_write(0);
timer0_load_write(CONFIG_CLOCK_FREQUENCY/1000*ms);
timer0_en_write(1);
timer0_update_value_write(1);
while(timer0_value_read()) timer0_update_value_write(1);
}
void busy_wait_us(unsigned int us)
{
timer0_en_write(0);
timer0_reload_write(0);
timer0_load_write(CONFIG_CLOCK_FREQUENCY/1000000*us);
timer0_en_write(1);
timer0_update_value_write(1);
while(timer0_value_read()) timer0_update_value_write(1);
}