
Wolfgang Denk wrote:
In message ekhurb$vvk$1@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