
Hi,
I've ported u-boot to my PXA270 board and have it working as a network boot loader. I'm now trying to get flash programming working so I can flash the kernel and root file system. Our board has two Intel 512Mib P30 flashes on it configured as 32-bit memory. The 512Mib parts are actually two 256Mib parts on the same die so u-boot should see two banks of 32-bit memory with two flash devices in each bank.
After booting flinfo shows that u-boot has found four devices but the addresses seem to be wrong. It has
bank 1 0x00000000 - 0x03ffffff bank 2 0x04000000 - 0x07ffffff bank3 0x00000000 - 0x03ffffff bank 4 0x00000000 - 0x03ffffff.
Any ideas where I might have gone wrong? The relevant portions of my board header file are below.
Regards, Justin.
#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */ #define PHYS_FLASH_2 0x04000000 /* Flash Bank #2 */
#define CFG_FLASH_CFI #define CFG_FLASH_CFI_DRIVER 1 #define CFG_FLASH_CFI_WIDTH FLASH_CFI_32BIT
#define CFG_FLASH_BASE_1 PHYS_FLASH_1 #define CFG_FLASH_BASE_2 PHYS_FLASH_2 #define CFG_FLASH_BANKS_LIST { CFG_FLASH_BASE_1, CFG_FLASH_BASE_2 }
#define CFG_MONITOR_BASE 0 #define CFG_MONITOR_LEN 0x20000
#define CFG_MAX_FLASH_BANKS 4 /* max number of memory banks */ #define CFG_MAX_FLASH_SECT (4 + 255) /* max number of sectors on one chip */
/* timeout values are in ticks */ #define CFG_FLASH_ERASE_TOUT (25*CFG_HZ) /* Timeout for Flash Erase */ #define CFG_FLASH_WRITE_TOUT (25*CFG_HZ) /* Timeout for Flash Write */
/* write flash less slowly */ #define CFG_FLASH_USE_BUFFER_WRITE 1
/* Flash environment locations */ #define CFG_ENV_IS_IN_FLASH 1 #define CFG_ENV_ADDR (CFG_FLASH_BASE_1 + CFG_MONITOR_LEN) /* Addr of Environment Sector */ #define CFG_ENV_SIZE 0x10000 /* Total Size of Environment */ #define CFG_ENV_SECT_SIZE 0x10000 /* Total Size of Environment Sector */