From mboxrd@z Thu Jan 1 00:00:00 1970 From: Justin Clacherty Date: Thu, 24 Aug 2006 19:49:38 +1000 Subject: [U-Boot-Users] Flash configuration Message-ID: <44ED7632.7010700@redfish-group.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 */