Hi Alessandro, El Thu, Feb 11, 2010 at 09:46:50PM +0100 Alessandro Rubini ha dit:
> The configuration of SDRAM needs two more writel() operations, > otherwise some boards won't be able to boot. These additional writes > are present in vendor assembly code but were forgotten during the > rewriting in C. > > Signed-off-by: Alessandro Rubini <rub...@gnudd.com> > Acked-by: Matthias Kaehlcke <matth...@kaehlcke.net> i gave my ack after a visual review of the patch, without having tested it. i just installed a patched u-boot on one of my boards and it doesn't boot :( at a first glance the offender seems to be the write to the GlConfig register in force_precharge(), after commenting this line the board comes up. comparing with the initial SDRAM initialization written in assembly i noticed that you set the INIT bit in force_precharge(), while the assembly code doesn't. according to the user manual the INIT must be set to issue PRECHARGE ALL, but if i don't get it wrong this isn't our case, as we assume that PRECHARGE ALL doesn't work (see errata), thus we precharge manually by reading from the RAM. but even after clearing the INIT bit my board refuses to boot. i hope i'll find time this weekend to track this down. if you want to have a look at the initial sequence in assembly, it can be found here: http://lists.denx.de/pipermail/u-boot/2009-December/065133.html cu -- Matthias Kaehlcke Embedded Linux Developer Barcelona We can't solve problems by using the same kind of thinking we used when we created them (Albert Einstein) .''`. using free software / Debian GNU/Linux | http://debian.org : :' : `. `'` gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `- _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot