OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rc203soc/] [sw/] [uClinux/] [include/] [asm-or32/] [delay.h] - Diff between revs 1765 and 1782

Only display areas with differences | Details | Blame | View Log

Rev 1765 Rev 1782
#ifndef _OR32_DELAY_H
#ifndef _OR32_DELAY_H
#define _OR32_DELAY_H
#define _OR32_DELAY_H
 
 
extern unsigned long loops_per_sec;
extern unsigned long loops_per_sec;
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/config.h>
#include <linux/config.h>
 
 
extern __inline__ void __delay(unsigned long loops)
extern __inline__ void __delay(unsigned long loops)
{
{
        __asm__ __volatile__ ("1: l.sfeqi %0,0; \
        __asm__ __volatile__ ("1: l.sfeqi %0,0; \
                                l.bnf   1b; \
                                l.bnf   1b; \
                                l.addi %0,%0,-1;"
                                l.addi %0,%0,-1;"
                                : "=r" (loops) : "0" (loops));
                                : "=r" (loops) : "0" (loops));
}
}
 
 
extern __inline__ void udelay(unsigned long usecs)
extern __inline__ void udelay(unsigned long usecs)
{
{
        /* Sigh */
        /* Sigh */
        __delay(usecs);
        __delay(usecs);
}
}
 
 
#define muldiv(a, b, c)    (((a)*(b))/(c))
#define muldiv(a, b, c)    (((a)*(b))/(c))
 
 
#endif /* defined(_OR32_DELAY_H) */
#endif /* defined(_OR32_DELAY_H) */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.