From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Puschmann Date: Wed, 29 Nov 2006 16:52:29 +0100 Subject: [U-Boot-Users] u-boot hangs after relocating itself to ram In-Reply-To: <20061128210525.CBFDE352650@atlas.denx.de> References: <20061128210525.CBFDE352650@atlas.denx.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Wolfgang Denk wrote: > In message 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: #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; > > Best regards, > > Wolfgang Denk > Thanks for your help. Andre