Hi,
I was trying to
turn on I-Cache while u-boot is executing out of Flash on MPC5121 ADS board, and
just found the board refused to boot. After debug and tried many different ways,
we finally found that the root of the problem is the SYNC macro definition in
u-boot include/ppc_asm.tmpl file. The SYNC was defined as
#define SYNC \
sync;
\
isync
By turning on I-cache on powerpc e300 core, ICE bit of HID0 needs
to be set. Before setting ICE, an isync operation need to be issued. In the
cpu/mpc512x/start.S file, this is done by using a 'SYNC' statement. But we found
we need to add one more sync operation to guarantee isync is complete.
I think it is more safe to change the SYNC definition in
ppc_asm.tmpl to the following,
#define SYNC \
sync; \
isync;
\
sync
Just a suggestion.
Best
Regards,
Ronda