diff options
author | Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | 2007-09-23 01:29:43 +0900 |
---|---|---|
committer | Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | 2007-09-23 01:29:43 +0900 |
commit | b8685affe614ccf5f4ec66252b30e2e524d18948 (patch) | |
tree | 05bc55b8a4a0451e6500f1f52651d81c0f48f012 /board/amcc/common/flash.c | |
parent | 69df3c4da0c93017cceb25a366e794570bd0ed98 (diff) | |
parent | 66dcad3a9a53e0766d90e0084123bd8529522fb0 (diff) | |
download | u-boot-b8685affe614ccf5f4ec66252b30e2e524d18948.tar.gz u-boot-b8685affe614ccf5f4ec66252b30e2e524d18948.tar.xz u-boot-b8685affe614ccf5f4ec66252b30e2e524d18948.zip |
Merge git://www.denx.de/git/u-boot
Conflicts:
CREDITS
Diffstat (limited to 'board/amcc/common/flash.c')
-rw-r--r-- | board/amcc/common/flash.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/board/amcc/common/flash.c b/board/amcc/common/flash.c index e6429ecd13..eba0511f26 100644 --- a/board/amcc/common/flash.c +++ b/board/amcc/common/flash.c @@ -745,19 +745,27 @@ static ulong flash_get_size_2(vu_long * addr, flash_info_t * info) if (info->flash_id & FLASH_BTYPE) { /* set sector offsets for bottom boot block type */ info->start[0] = base + 0x00000000; - info->start[1] = base + 0x00004000; - info->start[2] = base + 0x00006000; - info->start[3] = base + 0x00008000; - for (i = 4; i < info->sector_count; i++) { + info->start[1] = base + 0x00002000; + info->start[2] = base + 0x00004000; + info->start[3] = base + 0x00006000; + info->start[4] = base + 0x00008000; + info->start[5] = base + 0x0000a000; + info->start[6] = base + 0x0000c000; + info->start[7] = base + 0x0000e000; + for (i = 8; i < info->sector_count; i++) { info->start[i] = - base + (i * 0x00010000) - 0x00030000; + base + ((i-7) * 0x00010000); } } else { /* set sector offsets for top boot block type */ i = info->sector_count - 1; + info->start[i--] = base + info->size - 0x00002000; info->start[i--] = base + info->size - 0x00004000; info->start[i--] = base + info->size - 0x00006000; info->start[i--] = base + info->size - 0x00008000; + info->start[i--] = base + info->size - 0x0000a000; + info->start[i--] = base + info->size - 0x0000c000; + info->start[i--] = base + info->size - 0x0000e000; for (; i >= 0; i--) { info->start[i] = base + i * 0x00010000; } |