
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@gmail.com Signed-off-by: Dirk Behme dirk.behme@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