I'm attempting to build a u-boot version for P1022 that will boot into SRAM, so that it can discover and configure any installed DIMM. I'm concerned that the standard boot file (config_ddr3_2gb_p1022ds.dat) won't work reliably on a machine fitted with a smaller or slower DIMM.
I've found and fixed the following problems, but there are more remaining. Has anybody got a configuration like this to work?
1. The config_sram_p1022ds.dat file sets the boot vector to f8f80000, rather than f8fff000 used in config_sram_p2020ds.dat
2. The u-boot config file for the P1022DS in SD boot mode sets TEXT_BASE to 0x11000000, rather than the 0xf8f80000 used in P2020DS.h
My config file:
040:424f4f54 Boot signature
044:00000000
048:00080000 Image size - should be overridden by boot-format
04c:00000000
050:00001000 Image location on SD card - should be overridden by boot-format
054:00000000
058:f8f80000 RAM address of image
05c:00000000
060:f8fff000 Start vector
064:00000000
068:00000006 Config size
080:ff720100 Set L2SRAM to f8f80000
084:f8f80000
088:ff720e44 Disable L2 cache ECC errors
08c:0000000c
090:ff720000 Enable L2 as all SRAM
094:80010000
098:ff72e40c Set RD_SAFE on SDHC controller
09c:00000040
0a0:40000001 Delay 0x100 instruction
0a4:00000100
0a8:80000001 End configuration
0ac:80000001
My modified u-boot config section:
#ifdef CONFIG_SDCARD
#define CONFIG_RAMBOOT_SDCARD
#define CONFIG_SYS_RAMBOOT
#define CONFIG_SYS_EXTRA_ENV_RELOC
#define CONFIG_SYS_TEXT_BASE 0xf8f80000
#define CONFIG_RESET_VECTOR_ADDRESS 0xf8fffffc
#endif