diff options
Diffstat (limited to 'board/pm826')
-rw-r--r-- | board/pm826/config.mk | 21 | ||||
-rw-r--r-- | board/pm826/flash.c | 13 |
2 files changed, 19 insertions, 15 deletions
diff --git a/board/pm826/config.mk b/board/pm826/config.mk index d2ab4fe..c93bad9 100644 --- a/board/pm826/config.mk +++ b/board/pm826/config.mk @@ -1,5 +1,5 @@ # -# (C) Copyright 2001, 2002 +# (C) Copyright 2001-2004 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. # # See file CREDITS for list of people who contributed to this @@ -22,21 +22,16 @@ # # -# PM826 boards +# MicroSys PM826 board: # -# This should be equal to the CFG_FLASH_BASE or -# CFG_BOOTROM_BASE define in config_PM826.h -# for the "final" configuration, with U-Boot -# in flash, or the address in RAM where -# U-Boot is loaded at for debugging. -# -ifeq ($(CONFIG_BOOT_ROM),y) - TEXT_BASE := 0xFF800000 - PLATFORM_CPPFLAGS += -DCONFIG_BOOT_ROM -else - TEXT_BASE := 0xFF000000 +sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp + +ifndef TEXT_BASE +## Standard: boot 64-bit flash +TEXT_BASE = 0xFF000000 + endif PLATFORM_CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE) -I$(TOPDIR) diff --git a/board/pm826/flash.c b/board/pm826/flash.c index 770a46d..fee07cf 100644 --- a/board/pm826/flash.c +++ b/board/pm826/flash.c @@ -69,6 +69,11 @@ ulong flash_get_size (volatile unsigned long *baseaddr, info->sector_count = 39; info->size = 0x00800000; /* 4 * 2 MB = 8 MB */ break; + case INTEL_ID_28F640C3B: + info->flash_id = FLASH_28F640C3B; + info->sector_count = 135; + info->size = 0x02000000; /* 16 * 2 MB = 32 MB */ + break; default: return (0); /* no or unknown flash */ } @@ -79,10 +84,11 @@ ulong flash_get_size (volatile unsigned long *baseaddr, volatile unsigned long *tmp = baseaddr; /* set up sector start adress table (bottom sector type) - * AND unlock the sectors (if our chip is 160C3) + * AND unlock the sectors (if our chip is 160C3 or 640C3) */ for (i = 0; i < info->sector_count; i++) { - if ((info->flash_id & FLASH_TYPEMASK) == FLASH_28F160C3B) { + if (((info->flash_id & FLASH_TYPEMASK) == FLASH_28F160C3B) || + ((info->flash_id & FLASH_TYPEMASK) == FLASH_28F640C3B)) { tmp[0] = 0x00600060; tmp[1] = 0x00600060; tmp[0] = 0x00D000D0; @@ -177,6 +183,9 @@ void flash_print_info (flash_info_t * info) case FLASH_28F160F3B: printf ("28F160F3B (16 M, bottom sector)\n"); break; + case FLASH_28F640C3B: + printf ("28F640C3B (64 M, bottom sector)\n"); + break; default: printf ("Unknown Chip Type\n"); break; |