ARM: arm920/s3c24xx: IRQ demulitplexer callback
This patch adds a IRQ demultiplexer callback to the arm920 cpu core code, plus a stub implementation of it for the S3C2410. The purpose is to allow arm920t implementations such as the s3c24x0 to implement interrupt handlers in u-boot without having to touch core arm920t code. Signed-off-by: Harald Welte <laforge@openmoko.org>
This commit is contained in:
parent
a41dbbd98d
commit
be19bd5cd0
@ -161,11 +161,16 @@ void do_fiq (struct pt_regs *pt_regs)
|
||||
|
||||
void do_irq (struct pt_regs *pt_regs)
|
||||
{
|
||||
#if defined (CONFIG_USE_IRQ) && defined (CONFIG_ARCH_INTEGRATOR)
|
||||
#if defined (CONFIG_USE_IRQ)
|
||||
#if defined (ARM920_IRQ_CALLBACK)
|
||||
ARM920_IRQ_CALLBACK();
|
||||
return;
|
||||
#elif defined (CONFIG_ARCH_INTEGRATOR)
|
||||
/* ASSUMED to be a timer interrupt */
|
||||
/* Just clear it - count handled in */
|
||||
/* integratorap.c */
|
||||
*(volatile ulong *)(CFG_TIMERBASE + 0x0C) = 0;
|
||||
#endif /* ARCH_INTEGRATOR */
|
||||
#else
|
||||
printf ("interrupt request\n");
|
||||
show_regs (pt_regs);
|
||||
|
@ -216,4 +216,13 @@ void reset_cpu (ulong ignored)
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
#ifdef CONFIG_USE_IRQ
|
||||
void s3c2410_irq(void)
|
||||
{
|
||||
S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();
|
||||
u_int32_t intpnd = irq->INTPND;
|
||||
|
||||
}
|
||||
#endif /* USE_IRQ */
|
||||
|
||||
#endif /* defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined (CONFIG_TRAB) */
|
||||
|
@ -479,6 +479,8 @@ ulong get_OPB_freq (void);
|
||||
ulong get_PCI_freq (void);
|
||||
#endif
|
||||
#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || defined(CONFIG_LH7A40X)
|
||||
void s3c2410_irq(void);
|
||||
#define ARM920_IRQ_CALLBACK s3c2410_irq
|
||||
ulong get_FCLK (void);
|
||||
ulong get_HCLK (void);
|
||||
ulong get_PCLK (void);
|
||||
|
Loading…
Reference in New Issue
Block a user