[U-Boot] [PATCH v2] arm: cm4008, cm41xx: Fix ROM relocation
Albert ARIBAUD
albert.u.boot at aribaud.net
Thu Jul 12 21:37:10 CEST 2012
Hi Yann,
On Thu, 05 Jul 2012 17:19:00 +0200,
"Andreas Bießmann" <andreas.devel at googlemail.com> wrote:
> Dear Yann Vernier,
>
> On 05.07.2012 15:22, Yann Vernier wrote:
> > Changed CONFIG_SYS_TEXT_BASE to actual address (required for
> > board_init_f) and moved it into cm4008.h, along with a warning that it
> > must match CONFIG_SYS_FLASH_BASE (since lowlevel_init relocates there).
> > lowlevel_init now uses CONFIG_SYS_FLASH_BASE to map ROM, although the
> > second bank is still mapped at 0x02400000-0x027fffff.
> > ---
> > Changes for v2:
> > - Update to use CONFIG_SYS_FLASH_ constants only (no PHYS_FLASH)
> > - Use tabs where appropriate
> > - Update cm41xx also
> > - Explain the lowlevel_init change
> >
> > Signed-off-by: Yann Vernier <yann.vernier at orsoc.se>
> > ---
> > arch/arm/cpu/arm920t/ks8695/lowlevel_init.S | 9 +++++++--
> > board/cm4008/config.mk | 1 -
> > board/cm41xx/config.mk | 1 -
> > include/configs/cm4008.h | 7 ++++---
> > include/configs/cm41xx.h | 7 ++++---
> > 5 files changed, 15 insertions(+), 10 deletions(-)
> > delete mode 100644 board/cm4008/config.mk
> > delete mode 100644 board/cm41xx/config.mk
> >
> > diff --git a/arch/arm/cpu/arm920t/ks8695/lowlevel_init.S b/arch/arm/cpu/arm920t/ks8695/lowlevel_init.S
> > index df13de6..7bb9ede 100644
> > --- a/arch/arm/cpu/arm920t/ks8695/lowlevel_init.S
> > +++ b/arch/arm/cpu/arm920t/ks8695/lowlevel_init.S
> > @@ -92,11 +92,16 @@ lowlevel_init:
> > * ram from address 0, and flash at 32MB.
> > */
> > ldr r1, =(KS8695_IO_BASE+KS8695_MEM_CTRL0)
> > + /* Remap flash memory to 768MB size, such that it covers
> > + both 0 (boot) and 512MB (run) regions */
> > ldr r2, =0xbfc00040
> > str r2, [r1] /* large flash map */
> > - ldr pc, =(highflash+0x02000000-0x00f00000) /* jump to high flash address */
> > + /* Relies on CONFIG_SYS_FLASH_BASE==CONFIG_SYS_TEXT_BASE */
> > + ldr pc, =(highflash) /* jump to high flash address */
> > highflash:
> > - ldr r2, =0x8fe00040
> > + /* Move ROM to high address, and reconfigure to 4MiB size */
> > + ldr r2, =(((CONFIG_SYS_FLASH_BASE+0x3f0000)<<(22-16))| \
> > + (CONFIG_SYS_FLASH_BASE>>(16-12))|0x40)
>
> again some magic ... Well I do not know this architecture in detail and
> can nothing say about the register footprint. I just hope somebody with
> access to tech spec of this cpu is able to understand how 'Move ROM to
> high address, and reconfigure to 4MiB size' is related to this magic.
>
> Beside that I tend to ack this patch. Yann, have you some proposal to
> resolve my doubts?
Did not hear any answer to this. Do we get a V3 for this patch?
Or should I assume that the pversions to pick are V2 for 1/3 and 2/3,
and V3 for 3/3?
Amicalement,
--
Albert.
More information about the U-Boot
mailing list