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

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rc203soc/] [sw/] [uClinux/] [include/] [asm-armnommu/] [arch-ebsa110/] [irq.h] - Diff between revs 1765 and 1782

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

Rev 1765 Rev 1782
/*
/*
 * include/asm-arm/arch-ebsa/irq.h
 * include/asm-arm/arch-ebsa/irq.h
 *
 *
 * Copyright (C) 1996 Russell King
 * Copyright (C) 1996 Russell King
 */
 */
 
 
#define IRQ_MCLR        ((volatile unsigned char *)0xf3000000)
#define IRQ_MCLR        ((volatile unsigned char *)0xf3000000)
#define IRQ_MSET        ((volatile unsigned char *)0xf2c00000)
#define IRQ_MSET        ((volatile unsigned char *)0xf2c00000)
#define IRQ_MASK        ((volatile unsigned char *)0xf2c00000)
#define IRQ_MASK        ((volatile unsigned char *)0xf2c00000)
 
 
#define BUILD_IRQ(s,n,m)
#define BUILD_IRQ(s,n,m)
 
 
extern void IRQ_interrupt(void);
extern void IRQ_interrupt(void);
extern void timer_IRQ_interrupt(void);
extern void timer_IRQ_interrupt(void);
extern void fast_IRQ_interrupt(void);
extern void fast_IRQ_interrupt(void);
extern void bad_IRQ_interrupt(void);
extern void bad_IRQ_interrupt(void);
extern void probe_IRQ_interrupt(void);
extern void probe_IRQ_interrupt(void);
 
 
#define IRQ_interrupt0 IRQ_interrupt
#define IRQ_interrupt0 IRQ_interrupt
#define IRQ_interrupt1 IRQ_interrupt
#define IRQ_interrupt1 IRQ_interrupt
#define IRQ_interrupt2 IRQ_interrupt
#define IRQ_interrupt2 IRQ_interrupt
#define IRQ_interrupt3 IRQ_interrupt
#define IRQ_interrupt3 IRQ_interrupt
#define IRQ_interrupt4 timer_IRQ_interrupt
#define IRQ_interrupt4 timer_IRQ_interrupt
#define IRQ_interrupt5 IRQ_interrupt
#define IRQ_interrupt5 IRQ_interrupt
#define IRQ_interrupt6 IRQ_interrupt
#define IRQ_interrupt6 IRQ_interrupt
#define IRQ_interrupt7 IRQ_interrupt
#define IRQ_interrupt7 IRQ_interrupt
#define IRQ_interrupt8 IRQ_interrupt
#define IRQ_interrupt8 IRQ_interrupt
#define IRQ_interrupt9 IRQ_interrupt
#define IRQ_interrupt9 IRQ_interrupt
#define IRQ_interrupt10 IRQ_interrupt
#define IRQ_interrupt10 IRQ_interrupt
#define IRQ_interrupt11 IRQ_interrupt
#define IRQ_interrupt11 IRQ_interrupt
#define IRQ_interrupt12 IRQ_interrupt
#define IRQ_interrupt12 IRQ_interrupt
#define IRQ_interrupt13 IRQ_interrupt
#define IRQ_interrupt13 IRQ_interrupt
#define IRQ_interrupt14 IRQ_interrupt
#define IRQ_interrupt14 IRQ_interrupt
#define IRQ_interrupt15 IRQ_interrupt
#define IRQ_interrupt15 IRQ_interrupt
#define IRQ_interrupt16 IRQ_interrupt
#define IRQ_interrupt16 IRQ_interrupt
#define IRQ_interrupt17 IRQ_interrupt
#define IRQ_interrupt17 IRQ_interrupt
#define IRQ_interrupt18 IRQ_interrupt
#define IRQ_interrupt18 IRQ_interrupt
#define IRQ_interrupt19 IRQ_interrupt
#define IRQ_interrupt19 IRQ_interrupt
#define IRQ_interrupt20 IRQ_interrupt
#define IRQ_interrupt20 IRQ_interrupt
#define IRQ_interrupt21 IRQ_interrupt
#define IRQ_interrupt21 IRQ_interrupt
#define IRQ_interrupt22 IRQ_interrupt
#define IRQ_interrupt22 IRQ_interrupt
#define IRQ_interrupt23 IRQ_interrupt
#define IRQ_interrupt23 IRQ_interrupt
 
 
#define IRQ_INTERRUPT(n)        IRQ_interrupt##n
#define IRQ_INTERRUPT(n)        IRQ_interrupt##n
#define FAST_INTERRUPT(n)       fast_IRQ_interrupt
#define FAST_INTERRUPT(n)       fast_IRQ_interrupt
#define BAD_INTERRUPT(n)        bad_IRQ_interrupt
#define BAD_INTERRUPT(n)        bad_IRQ_interrupt
#define PROBE_INTERRUPT(n)      probe_IRQ_interrupt
#define PROBE_INTERRUPT(n)      probe_IRQ_interrupt
 
 
static __inline__ void mask_irq(unsigned int irq)
static __inline__ void mask_irq(unsigned int irq)
{
{
        if (irq < 8)
        if (irq < 8)
                *IRQ_MCLR = 1 << irq;
                *IRQ_MCLR = 1 << irq;
}
}
 
 
static __inline__ void unmask_irq(unsigned int irq)
static __inline__ void unmask_irq(unsigned int irq)
{
{
        if (irq < 8)
        if (irq < 8)
                *IRQ_MSET = 1 << irq;
                *IRQ_MSET = 1 << irq;
}
}
 
 
static __inline__ unsigned long get_enabled_irqs(void)
static __inline__ unsigned long get_enabled_irqs(void)
{
{
        return 0;
        return 0;
}
}
 
 
static __inline__ void irq_init_irq(void)
static __inline__ void irq_init_irq(void)
{
{
        unsigned long flags;
        unsigned long flags;
 
 
        save_flags_cli (flags);
        save_flags_cli (flags);
        *IRQ_MCLR = 0xff;
        *IRQ_MCLR = 0xff;
        *IRQ_MSET = 0x55;
        *IRQ_MSET = 0x55;
        *IRQ_MSET = 0x00;
        *IRQ_MSET = 0x00;
        if (*IRQ_MASK != 0x55)
        if (*IRQ_MASK != 0x55)
                while (1);
                while (1);
        *IRQ_MCLR = 0xff;               /* clear all interrupt enables */
        *IRQ_MCLR = 0xff;               /* clear all interrupt enables */
        restore_flags (flags);
        restore_flags (flags);
}
}
 
 

powered by: WebSVN 2.1.0

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