Patchwork [U-Boot,1/1] m68k/lib: fix serial driver relocation

login
register
mail settings
Submitter Angelo Dureghello
Date Nov. 23, 2012, 10:23 p.m.
Message ID <20121123222338.GA28670@angel3>
Download mbox | patch
Permalink /patch/201421/
State Accepted
Delegated to: Tom Rini
Headers show

Comments

Angelo Dureghello - Nov. 23, 2012, 10:23 p.m.
Fix coldfire serial driver bindings no more relocated to ram after last
changes to drivers/serial/serial.c (regression).
Serial initialization in ram has to be called after that gd->reloc_off is
calculated.

Signed-off-by: Angelo Dureghello <sysamfw@gmail.com>
Cc: Jason Jin <jason.jin@freescale.com>
---
esw@bus-elektronik.de - Jan. 11, 2013, 2:45 p.m.
Am 2012-11-23 23:23, schrieb Angelo Dureghello:
> Fix coldfire serial driver bindings no more relocated to ram after last
> changes to drivers/serial/serial.c (regression).
> Serial initialization in ram has to be called after that gd->reloc_off is
> calculated.
> 
> Signed-off-by: Angelo Dureghello <sysamfw@gmail.com>
> Cc: Jason Jin <jason.jin@freescale.com>
> ---
> diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c
> index 02d73fd..373570c 100644
> --- a/arch/m68k/lib/board.c
> +++ b/arch/m68k/lib/board.c
> @@ -402,14 +402,14 @@ void board_init_r (gd_t *id, ulong dest_addr)
> 
>         gd->flags |= GD_FLG_RELOC;      /* tell others: relocation done */
> 
> -       serial_initialize();
> -
>         debug ("Now running in RAM - U-Boot at: %08lx\n", dest_addr);
> 
>         WATCHDOG_RESET ();
> 
>         gd->reloc_off =  dest_addr - CONFIG_SYS_MONITOR_BASE;
> 
> +	serial_initialize();
> +
>         monitor_flash_len = (ulong)&__init_end - dest_addr;
> 
>  #if defined(CONFIG_NEEDS_MANUAL_RELOC)
> 

Acked-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
Tested-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
Tom Rini - Jan. 11, 2013, 11:45 p.m.
On Fri, Jan 11, 2013 at 03:45:26PM +0100, Jens Scharsig wrote:
> Am 2012-11-23 23:23, schrieb Angelo Dureghello:
> > Fix coldfire serial driver bindings no more relocated to ram after last
> > changes to drivers/serial/serial.c (regression).
> > Serial initialization in ram has to be called after that gd->reloc_off is
> > calculated.
> > 
> > Signed-off-by: Angelo Dureghello <sysamfw@gmail.com>
> > Cc: Jason Jin <jason.jin@freescale.com>
> > ---
> > diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c
> > index 02d73fd..373570c 100644
> > --- a/arch/m68k/lib/board.c
> > +++ b/arch/m68k/lib/board.c
> > @@ -402,14 +402,14 @@ void board_init_r (gd_t *id, ulong dest_addr)
> > 
> >         gd->flags |= GD_FLG_RELOC;      /* tell others: relocation done */
> > 
> > -       serial_initialize();
> > -
> >         debug ("Now running in RAM - U-Boot at: %08lx\n", dest_addr);
> > 
> >         WATCHDOG_RESET ();
> > 
> >         gd->reloc_off =  dest_addr - CONFIG_SYS_MONITOR_BASE;
> > 
> > +	serial_initialize();
> > +
> >         monitor_flash_len = (ulong)&__init_end - dest_addr;
> > 
> >  #if defined(CONFIG_NEEDS_MANUAL_RELOC)
> > 
> 
> Acked-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
> Tested-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>

Applied to u-boot/master, thanks!

Patch

diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c
index 02d73fd..373570c 100644
--- a/arch/m68k/lib/board.c
+++ b/arch/m68k/lib/board.c
@@ -402,14 +402,14 @@  void board_init_r (gd_t *id, ulong dest_addr)

        gd->flags |= GD_FLG_RELOC;      /* tell others: relocation done */

-       serial_initialize();
-
        debug ("Now running in RAM - U-Boot at: %08lx\n", dest_addr);

        WATCHDOG_RESET ();

        gd->reloc_off =  dest_addr - CONFIG_SYS_MONITOR_BASE;

+	serial_initialize();
+
        monitor_flash_len = (ulong)&__init_end - dest_addr;

 #if defined(CONFIG_NEEDS_MANUAL_RELOC)