[U-Boot] [PATCH] ARM Cortex A8: Move OMAP3 specific reset handler to OMAP3 code

Dirk Behme dirk.behme at googlemail.com
Fri Jul 17 15:36:55 CEST 2009


Minkyu Kang wrote:
> Dear Jean and Dirk,
> 
>>>>>>  cpu/arm_cortexa8/omap3/lowlevel_init.S |   12 ++++++++++++
>>>>>>  cpu/arm_cortexa8/start.S               |   14 --------------
>>>>>>  2 files changed, 12 insertions(+), 14 deletions(-)
>>>>>>
>>>>>> Index: u-boot-arm/cpu/arm_cortexa8/omap3/lowlevel_init.S
>>>>>> ===================================================================
>>>>>> --- u-boot-arm.orig/cpu/arm_cortexa8/omap3/lowlevel_init.S
>>>>>> +++ u-boot-arm/cpu/arm_cortexa8/omap3/lowlevel_init.S
>>>>>> @@ -181,6 +181,18 @@ lowlevel_init:
>>>>>>    /* back to arch calling code */
>>>>>>    mov     pc, lr
>>>>>>  +.global reset_cpu
>>>>>> +reset_cpu:
>>>>>> +  ldr     r1, rstctl                      @ get addr for global reset
>>>>>> +                                          @ reg
>>>>>> +  mov     r3, #0x2                        @ full reset pll + mpu
>>>>>> +  str     r3, [r1]                        @ force reset
>>>>>> +  mov     r0, r0
>>>>>> +_loop_forever:
>>>>>> +  b       _loop_forever
>>>>>> +rstctl:
>>>>>> +  .word   PRM_RSTCTRL
>>>>>> +
>>>>> please move this to reset.S other wise fine
>>>> Most probably your idea is that each file should only contain
>>>> functionality which fits 100% (120%?) what the file name implies (?).
>>>> While from general point of view this is correct, it makes no sense to
>>>> create new files again and again just to follow this rule. We already
>>>> created a cache.c on your request, now you request a new file reset.S
>>>> for ~5 assembly lines. This new file would contain more comments (e.g.
>>>> GPL header) than useful code.
>>> the idea is different here
>>> I want to have only code in lowlevel_init.S that can be disable by
>>> CONFIG_SKIP_LOWLEVEL_INIT and do it via Makefile
>> Looking at recent OMAP3 lowlevel_init.S most probably some other stuff
>> has to be moved to make this work, too. So for the moment, the
>> cleanest way is to move above reset_cpu to low_levelinit.S. And then
>> later, after thorough investigation and testing, move the stuff needed
>> for your idea to an appropriate place. This move will be consistent
>> then and will avoid polluting source tree with unnecessary files until
>> then.
>>
>> So let's do it in two steps:
>>
>> a) Now, move reset_cpu to lowlevel_init.S so that Riverful can go on
>> with his work
>>
>> b) Later, move everything necessary in one consistent patch set while
>> you implement your "CONFIG_SKIP_LOWLEVEL_INIT via Makefile" idea
>>
> 
> As you known riverful and me prepare the new SOC (s5pc100) patch.
> so, we've been waiting for this issue to be resolved.
> Please let me know how do you solve this problem.
> 
> I think... as Wolfgang said.. it would be better make new file.

Do you like to send a patch for this?

> I hope to be progressed this issue :)

Me too :)

Best regards

Dirk



More information about the U-Boot mailing list