[U-Boot-Users] u-boot hangs after relocating itself to ram

Andre Puschmann andre.puschmann at stud.tu-ilmenau.de
Wed Nov 29 16:52:29 CET 2006


Wolfgang Denk wrote:
> In message <ekhurb$vvk$1 at sea.gmane.org> you wrote:
> 
>> I have ported u-boot to a custom board based on a freescale mpc5200. I
>> can successfully copy u-boot into flash using the connected bdi2000 and
>> we get some output on the debug port. It seems that the board crashes
>> right after relocation to ram (see output). I already
>> read the regarding faq entry but I'm not sure if this problem has
>> something to do with faulty sdram initialization.
> 
> Guess why the FAQ is there?
> 
>> Can this be a sdram related problem or what might cause this behavior?
> 
> Please re-read the FAQ.
> 
>> Any comments and suggestions are more than welcome.
> 
> The FAQ is based on (a)  a  lot  of  experience  and  (b)  a  lot  of
> questions from engineers who've been there before you. Don't ignore
> it.

Hello,
I really admire the experience of all those engineers and don't wanna
spam the list.
I read the FAQ many times and double-checked the sdram initialization as
well as compared it with other code.

But I still didn't find the problem and I'm still hanging at this point.

Are there any other configuration parts that are necessary to know at
this point of u-boot loading?


here is the dram init-code I'm using:
<code>
#define SDRAM_MODE 0x00CD0000 /* burst_len = 8, cas = 3, wrt_str set */
#define SDRAM_CONTROL 0x504F0000
#define SDRAM_CONFIG1 0x62322900
#define SDRAM_CONFIG2 0x88C70004

/* configure SDRAM start/end */
*(vu_long *)MPC5XXX_SDRAM_CS0CFG = 0x00000016;  /* 8MB at 0x00000000 */
*(vu_long *)MPC5XXX_SDRAM_CS1CFG = 0x00000000;	/* disabled */

/* setup config registers */
*(vu_long *)MPC5XXX_SDRAM_CONFIG1 = SDRAM_CONFIG1;
*(vu_long *)MPC5XXX_SDRAM_CONFIG2 = SDRAM_CONFIG2;

/* unlock mode register */
*(vu_long *)MPC5XXX_SDRAM_CTRL = (SDRAM_CONTROL | MODE_EN);

/* precharge all banks */
*(vu_long *)MPC5XXX_SDRAM_CTRL = (SDRAM_CONTROL | MODE_EN | SOFT_PRE);

/* set mode register */
*(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_MODE;

/* precharge all banks */
*(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | MODE_EN | SOFT_REF;

/* auto refresh */
*(vu_long *)MPC5XXX_SDRAM_CTRL = (SDRAM_CONTROL | MODE_EN | SOFT_REF);

/* set mode register */
*(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_MODE;

/* normal operation */
*(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL;
</code>


> 
> Best regards,
> 
> Wolfgang Denk
> 

Thanks for your help.


Andre





More information about the U-Boot mailing list