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

Dirk Behme dirk.behme at googlemail.com
Tue Jun 2 17:12:37 CEST 2009


Dear Jean-Christophe,

Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 17:56 Sun 31 May     , Dirk Behme wrote:
>> Dear Jean-Christophe,
>>
>> Jean-Christophe PLAGNIOL-VILLARD wrote:
>>> On 09:30 Sat 30 May     , Dirk Behme wrote:
>>>> Reset is SoC specific and not ARM Cortex A8 generic. Move it from generic
>>>> code to OMAP3 SoC specific file.
>>>>
>>>> CC: "Kim, Heung Jun" <riverful at gmail.com>
>>>> Signed-off-by: Dirk Behme <dirk.behme at googlemail.com>
>>>>
>>>> ---
>>>>
>>>> This patches fixes the second issue found by riverful in
>>>>
>>>> http://lists.denx.de/pipermail/u-boot/2009-May/053433.html
>>>>
>>>> The first issue is fixed by
>>>>
>>>> http://lists.denx.de/pipermail/u-boot/2009-May/053444.html
>>>>
>>>>  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

Best regards

Dirk



More information about the U-Boot mailing list