[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