
I am using board having ppc440x5 core with customized chip and not a standard 440Gx.
Board is using Denali controller, as the register are completely different we can not use the standard u-boot initialization. We performed board specific initialization and training for DDR2.
When the code enter into board_init_r() console shows following messages:
Top of RAM usable for U-Boot at: 20000000 Reserving 178k for U-Boot at: 1ffd3000 Reserving 1040k for malloc() at: 1fecf000 Reserving 128 Bytes for Board Info at: 1fecef80 Reserving 64 Bytes for Global Data at: 1fecef40 New Stack Pointer is: 1fecef28
Now running in RAM - U-Boot at: 1ffd3000 Bus Fault @ 0x1ffd5764, fixup 0x00000000 Machine Check Exception.
NIP: 1FFD5764 XER: 00000000 LR: 1FFD5764 REGS: 1fecee20 TRAP: 0200 DEAR: 00000000 MSR: 00021000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00
GPR00: 1FFD5338 1FECEF10 1FECEF40 1FFD3000 1FFD6814 00000034 00000034 1FFD5764 GPR08: 00000600 00002098 00000030 2FAF07FE FFFFFFFF C000B330 20002A00 20013000 GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 GPR24: 00000000 1FECEF40 1FFD3000 1FED3000 1FFD3000 1FECEF80 20002B10 20013000 Call backtrace: 1FFD680C 1FFD56D8 A462C4EC machine check
We tried to debug it with BDI as per steps given @ http://www.denx.de/wiki/view/DULG/DebuggingUBoot#Section_10.1.2.
We have verified by using BDI that uboot code is placed in DDR, but getting an exception and u-boot is in continuously reboot mode.
Will it ok if we disable the MSR for ME,EE,CE? Or still it looks DDR initialization issue ?
~Anup B