[U-Boot] PrimeCell Peripherals

Gururaja Hebbar K R gururajakr at sanyo.co.in
Wed Sep 24 10:31:49 CEST 2008


Hi, 

> From: Roman Mashak [mailto:romez777 at gmail.com] 
> Subject: Re: [U-Boot] PrimeCell Peripherals
> 
> I'm a bit confused: 'do_irq' is defined in several files, 
> including CPU-specific (arm920t, 720t etc.) and ARM 
> architecture library ($(U_BOOT)/lib_arm). So if we build for 
> arm920t-based platform (provided that CONFIG_USE_IRQ is 
> defined), then which one will be actually compiled in resulting image?

Looking at uboot\cpu\arm920t\interrupts.c
a. If ARM920_IRQ_CALLBACK is defined (which is only used in s3c2410), function is called which points to s3c2410_irq()
b. if the platform is CONFIG_ARCH_INTEGRATOR, then it is assumed that it is 
for timer interrupt (which is not necessary be since timer interrupt is not enabled in integrator)


Looking at uboot\cpu\arm720t\interrupts.c
a. if CONFIG_S3C4510B is defined then platform specific interrupt handler is called ( IRQ_HANDLER[pending>>2].m_func() )
b. Noting for integrator
c here is the interesting part

Since LPC2292 uses the interrupt controller similar to VIC, It uses the VICVectAddr to get the respective function address & jumps to it.

So, a similar function i.e., do_irq is needed for arm926ej-s. Again inside it, a similar steps as in lpc2292 can be done to jump to respective function.

But i am not seeing anyone using this function yet. 


Regards
Gururaja





More information about the U-Boot mailing list