Message ID | 1416386268-31398-3-git-send-email-sr@denx.de |
---|---|
State | Accepted |
Headers | show |
Dear Stefan Roese, In message <1416386268-31398-3-git-send-email-sr@denx.de> you wrote: > When an MPC5200 based board is used with SPL support, the main > U-Boot needs to clear the GD (global data) struct again. > > Otherwise the generic board init code in board_init_f (when > CONFIG_SYS_GENERIC_BOARD is defined) will not initialize all > GD variables correctly. Resulting in a hangup on the a4m2k > board. > > Signed-off-by: Stefan Roese <sr@denx.de> > Cc: Wolfgang Denk <wd@denx.de> > --- > arch/powerpc/cpu/mpc5xxx/start.S | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) Applied, thanks. Best regards, Wolfgang Denk
diff --git a/arch/powerpc/cpu/mpc5xxx/start.S b/arch/powerpc/cpu/mpc5xxx/start.S index 02c706e..94eb0d3 100644 --- a/arch/powerpc/cpu/mpc5xxx/start.S +++ b/arch/powerpc/cpu/mpc5xxx/start.S @@ -76,6 +76,21 @@ _start: * been done in the SPL u-boot version. */ GET_GOT /* initialize GOT access */ + + /* + * The GD (global data) struct needs to get cleared. Lets do + * this by calling memset(). + * This function is called when the platform is build with SPL + * support from the main (full-blown) U-Boot. And the GD needs + * to get cleared (again) so that the following generic + * board support code, defined via CONFIG_SYS_GENERIC_BOARD, + * initializes all variables correctly. + */ + mr r3, r2 /* parameter 1: GD pointer */ + li r4,0 /* parameter 2: value to fill */ + li r5,GD_SIZE /* parameter 3: count */ + bl memset + bl board_init_f /* run 1st part of board init code (in Flash)*/ /* NOTREACHED - board_init_f() does not return */ #else
When an MPC5200 based board is used with SPL support, the main U-Boot needs to clear the GD (global data) struct again. Otherwise the generic board init code in board_init_f (when CONFIG_SYS_GENERIC_BOARD is defined) will not initialize all GD variables correctly. Resulting in a hangup on the a4m2k board. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Wolfgang Denk <wd@denx.de> --- arch/powerpc/cpu/mpc5xxx/start.S | 15 +++++++++++++++ 1 file changed, 15 insertions(+)