[U-Boot] Incorrect board init with 256M RAM on MX31
Magnus Lilja
lilja.magnus at gmail.com
Sun Aug 16 13:39:13 CEST 2009
Hi
2009/8/16 alfred steele <alfred.jaquez at gmail.com>:
> Hi All,
>
> When i use 128M in my board configuration and pass the same to he
> kernel using bd_info , the linux kernel just boots up fine. But when
> i change the config to put 256M which is the actual physical DDR size
> on our board,
> the userspace crashes because of a "unhandled page fault" via Unable
> to handle kernel NULL pointer dereference".
> First off, perhaps the U-boot is not initializing the memory properly.
> Although i thought, the board specific "dram_init" does it with the
> correct config params picked up from the board config file.
That depends on how your dram_init looks like, none of the i.MX31
dram_init's I've looked at handles more than one DRAM bank.
>
> I change the following in the board specific config:
> #define CONFIG_NR_DRAM_BANKS 2
> #define PHYS_SDRAM_1 CSD0_BASE
> #define PHYS_SDRAM_1_SIZE (256 * 1024 * 1024)
Not that I've been working with multiple banks myself but if you have
2 banks then my guess is that you have to supply the start address and
size of each of the banks.
> What else does the uboot need to convey to the kernel.
> I am using Freescale MX31 board.
> Any hints/clues?
You need to setup the SDRAM controller in i.MX31 to reflect your
actual DRAM configuration.
It also depends on if you have one 256M DRAM or two 128M.
/Magnus
More information about the U-Boot
mailing list