[U-Boot] [PATCH v2 1/8] omap-common: Common boot code OMAP3 support and cleanup

Pali Rohár
2015-06-09T14:48:36Z

On Monday 08 June 2015 23:24:19 Paul Kocialkowski wrote:
> diff --git a/board/nokia/rx51/lowlevel_init.S b/board/nokia/rx51/lowlevel_init.S
> index 9d4ea1b..9048f31 100644
> --- a/board/nokia/rx51/lowlevel_init.S
> +++ b/board/nokia/rx51/lowlevel_init.S
> @@ -28,18 +28,6 @@ imagesize: /* maximal size of image */
> ih_magic: /* IH_MAGIC in big endian from include/image.h */
> .word 0x56190527
>
> -/*
> - * Routine: save_boot_params (called after reset from start.S)
> - * Description: Copy attached kernel to address KERNEL_ADDRESS
> - * Copy u-boot to address CONFIG_SYS_TEXT_BASE
> - * Return to copied u-boot address
> - */
> -
> -.global save_boot_params
> -save_boot_params:
> - /* Get return address */
> - ldr lr, =save_boot_params_ret
> -
> /* Copy valid attached kernel to address KERNEL_ADDRESS */
>
> copy_kernel_start:

Hi, I did not tested this code yet, but quick look at it I think
effectively means to totally break support for Nokia N900 (RX-51).

Routine save_boot_params() was called directly from start.S before
U-Boot did any HW setup and configuration. It stored needed data to make
U-Boot working and more important it calculated and stored linux kernel
image to safe place in RAM (which U-Boot do not touch) to make it able
to boot.

Nokia N900 setup is special. Nokia internal bootloader (which was not
possible to replace) boot arm image stored in MTD nand.

That arm image is compiled U-Boot binary with Linux kernel and Nokia
bootloader load this image to random address into RAM. To make sure that
U-Boot will be able to boot that kernel image we need to do some magic
before U-Boot relocates itself.

In next weekend (or later) I will try to find some time to test patches
on real N900 device. But I think with your changes it will not work...

--
Pali Roh?r
pali.rohar at gmail.com