
Hi Stefan,
Thanks.
Shall I need to add sleep() command in the interrupt_init or before it?
I am using Samsung M391B2873EH1-CH9 series 1 GB DDR3 and Denali controller is being used for driving DDR3.
Regards, Prakash
On Tue, May 4, 2010 at 8:04 PM, Stefan Roese sr@denx.de wrote:
Hi Prakash,
On Tuesday 04 May 2010 16:21:19 prakash bedge wrote:
I am facing an error while porting u-boot for my platform because if exception error.
After running the u-boot to detect the DDR and flash u-boot hangs after showing the serial console output. In debugger I am seeing PC at
0x00000400
address which the exception handler vector address.
But when I modify the below statement in the function int interrupt_init (void) in u-boot\lib_ppc\interrupts.c, u-boot continues and I can see the u-boot prompt and I am able to run all u-boot commands.
int interrupt_init (void) { int ret;
/* call cpu specific function from $(CPU)/interrupts.c */ ret = interrupt_init_cpu (&decrementer_count); if (ret) return ret; set_dec (decrementer_count);
--- set_msr (get_msr () | MSR_EE); //Removed this statement. ++ set_msr (get_msr ());
By not setting MSR_EE, you will not be able to receive external interrupts, or even worse, your timer will most likely not work. Try the "sleep" command.
return (0);
}
It seems that there is an exception error and because of this u-boot
hangs.
But I didn't get any error condition till now.
If someone has earlier experienced this kind of issue, please share.
One thing I've noticed in other PPC4xx ports as well, is that DDR auto- calibration (with short memory tests) can lead to exceptions that need to be cleared after the DDR is fully configured. Example:
arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c:
phys_size_t initdram(int board_type) { ...
/* * Clear potential errors resulting from auto-calibration. * If not done, then we could get an interrupt later on when * exceptions are enabled. */ set_mcsr(get_mcsr());
Hard to tell, if you experience the same problem, since we have little information about your platform (which DDR3 core is used etc).
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de