[U-Boot] [PATCH V2] arm: timer and interrupt init rework
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Sat May 2 01:23:05 CEST 2009
On 01:00 Sat 02 May , Dirk Behme wrote:
> Dear Jean-Christophe,
>
> Jean-Christophe PLAGNIOL-VILLARD wrote:
>> actually the timer init use the interrupt_init as init callback
>> which make the interrupt and timer implementation difficult to follow
>>
>> so now rename it as int timer_init(void) and use interrupt_init for interrupt
>>
>> btw also remane the corresponding file to the functionnality implemented
>>
>> as ixp arch implement two timer - one based on interrupt - so all the timer
>> related code is moved to timer.c
>>
>> as some timer need interrupt and we need delay in the board init
>>
>> the new init sequence is now
>> interrupt_init (if used)
>> timer_init
>> board_init
>>
>> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ...
>> diff --git a/cpu/arm_cortexa8/omap3/Makefile b/cpu/arm_cortexa8/omap3/Makefile
>> index b96b3dd..edf5cb2 100644
>> --- a/cpu/arm_cortexa8/omap3/Makefile
>> +++ b/cpu/arm_cortexa8/omap3/Makefile
>> @@ -26,7 +26,13 @@ include $(TOPDIR)/config.mk
>> LIB = $(obj)lib$(SOC).a
>> SOBJS := lowlevel_init.o
>> -COBJS := sys_info.o board.o clock.o interrupts.o mem.o syslib.o
>> +
>> +COBJS += board.o
>> +COBJS += clock.o
>> +COBJS += mem.o
>> +COBJS += syslib.o
>> +COBJS += sys_info.o
>> +COBJS += timer.o
>
> What do we win with this?
simple to allow vertical patch to be applied instead of have merge problem
so yes it's needed
>> diff --git a/lib_arm/board.c b/lib_arm/board.c
>> index 5d05d9b..b678a63 100644
>> --- a/lib_arm/board.c
>> +++ b/lib_arm/board.c
>> @@ -265,8 +265,11 @@ init_fnc_t *init_sequence[] = {
>> #if defined(CONFIG_ARCH_CPU_INIT)
>> arch_cpu_init, /* basic arch cpu dependent setup */
>> #endif
>> - board_init, /* basic board dependent setup */
>> +#if defined(CONFIG_USE_IRQ)
>> interrupt_init, /* set up exceptions */
>> +#endif
>> + timer_init, /* initialize timer */
>> + board_init, /* basic board dependent setup */
>> env_init, /* initialize environment */
>> init_baudrate, /* initialze baudrate settings */
>> serial_init, /* serial communications setup */
>
> ... if you tested this on an OMAP3 board: I'm not sure, but it seems to
> me that the initialization order might change by this?
maybe read the commit message will answer your question
Best Regards,
J.
More information about the U-Boot
mailing list