Dear Kyle Moffett, In message <1298311199-18775-2-git-send-email-kyle.d.moff...@boeing.com> you wrote: > Some board models (such as the submitted P2020-based HWW-1U-1A hardware) > need specialized code to run when a reset is requested to ensure proper > synchronization with other hardware. > > In order to facilitate such board ports, we add a board_reset_r() > routine which is called from the do_reset() command function instead of > directly poking at the MPC85xx "RSTCR" (reset control) register. > > Signed-off-by: Kyle Moffett <kyle.d.moff...@boeing.com> > --- > arch/powerpc/cpu/mpc85xx/cpu.c | 7 +++++-- > 1 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/cpu/mpc85xx/cpu.c b/arch/powerpc/cpu/mpc85xx/cpu.c > index 1aad2ba..dbc662f 100644 > --- a/arch/powerpc/cpu/mpc85xx/cpu.c > +++ b/arch/powerpc/cpu/mpc85xx/cpu.c > @@ -204,8 +204,10 @@ int checkcpu (void) > > int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > { > -/* Everything after the first generation of PQ3 parts has RSTCR */ > -#if defined(CONFIG_MPC8540) || defined(CONFIG_MPC8541) || \ > +#if defined(CONFIG_BOARD_RESET_R) > + extern void board_reset_r(void); > + board_reset_r(); > +#elif defined(CONFIG_MPC8540) || defined(CONFIG_MPC8541) || \ > defined(CONFIG_MPC8555) || defined(CONFIG_MPC8560) > unsigned long val, msr;
Please implement without #ifdef's using a weak function - see arch/powerpc/cpu/mpc86xx/cpu.c for an example. Actually you might want to facto this out into common code. Side note: don't use ever "extern" function declarations in the code; use proper prototype declarations in some header file instead. > @@ -221,6 +223,7 @@ int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char > * const argv[]) > val |= 0x70000000; > mtspr(DBCR0,val); > #else > + /* Everything after the first generation of PQ3 parts has RSTCR */ > volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); Note that this declaration is now basicy in the middle of code, which is ugly at best. What is the "volatile" needed for? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de An Elephant is a mouse with an Operating System. - Knuth _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot