
Hi
2009/8/16 alfred steele alfred.jaquez@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