From efa329cb892c8b9a5e453638b3ca57c94b71e9a2 Mon Sep 17 00:00:00 2001 From: wdenk Date: Tue, 23 Mar 2004 20:18:25 +0000 Subject: * Add start-up delay to make sure power has stabilized before attempting to switch on USB on SX1 board. * Patch by Josef Wagner, 18 Mar 2004: - Add support for MicroSys XM250 board (PXA255) - Add support for MicroSys PM828 board (MPC8280) - Add support for 32 MB Flash on PM825/826 - new SDRAM refresh rate for PM825/PM826 - added support for MicroSys PM520 (MPC5200) - replaced Query by Identify command in CPU86/flash.c to support 28F160F3B * Fix wrap around problem with udelay() on ARM920T * Add support for Macronix flash on TRAB board --- board/pm826/config.mk | 21 ++++++++------------- board/pm826/flash.c | 13 +++++++++++-- 2 files changed, 19 insertions(+), 15 deletions(-) (limited to 'board/pm826') diff --git a/board/pm826/config.mk b/board/pm826/config.mk index d2ab4fe985..c93bad98e5 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 770a46db73..fee07cf353 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; -- cgit