This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
MOAB - larger FLASH
- From: Gary Thomas <gary at mlbassoc dot com>
- To: eCos patches <ecos-patches at ecos dot sourceware dot org>
- Date: Wed, 25 Feb 2004 10:30:48 -0700
- Subject: MOAB - larger FLASH
- Organization: MLB Associates
The MOAB board now supports 128MB NAND FLASH devices.
--
Gary Thomas <gary@mlbassoc.com>
MLB Associates
Index: devs/flash/toshiba/tc58xxx/current/ChangeLog
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/devs/flash/toshiba/tc58xxx/current/ChangeLog,v
retrieving revision 1.1
diff -u -5 -p -r1.1 ChangeLog
--- devs/flash/toshiba/tc58xxx/current/ChangeLog 19 Sep 2003 17:11:22 -0000 1.1
+++ devs/flash/toshiba/tc58xxx/current/ChangeLog 25 Feb 2004 17:26:57 -0000
@@ -1,5 +1,10 @@
+2004-02-25 Gary Thomas <gary@mlbassoc.com>
+
+ * include/flash_tc58xxx_parts.inl:
+ * include/flash_tc58xxx.inl: Add support for TC58DVG02 (128MB) part.
+
2003-09-19 Gary Thomas <gary@mlbassoc.com>
* include/flash_tc58xxx_parts.inl:
* include/flash_tc58xxx.inl:
* cdl/flash_toshiba_tc58xxx.cdl: New package - support for NAND FLASH
Index: devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx.inl
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx.inl,v
retrieving revision 1.1
diff -u -5 -p -r1.1 flash_tc58xxx.inl
--- devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx.inl 19 Sep 2003 17:11:23 -0000 1.1
+++ devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx.inl 25 Feb 2004 16:50:38 -0000
@@ -10,11 +10,11 @@
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
// Copyright (C) 2003 Jonathan Larmour
-// Copyright (C) 2003 Gary Thomas
+// Copyright (C) 2003, 2004 Gary Thomas
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
@@ -263,10 +263,13 @@ flash_erase_block(void* block, unsigned
put_NAND(ROM, FLASH_Block_Erase);
CYGHWR_FLASH_TC58XXX_CLE(0);
CYGHWR_FLASH_TC58XXX_ALE(1);
put_NAND(ROM, ((unsigned long)b_p & 0x0001FE00) >> 9); // A9..A16
put_NAND(ROM, ((unsigned long)b_p & 0x01FE0000) >> 17); // A17..A24
+ if (flash_dev_info->device_size > 0x02000000) {
+ put_NAND(ROM, ((unsigned long)b_p & 0x06000000) >> 19); // A26..A27
+ }
CYGHWR_FLASH_TC58XXX_ALE(0);
CYGHWR_FLASH_TC58XXX_CLE(1);
put_NAND(ROM, FLASH_Start_Erase);
CYGHWR_FLASH_TC58XXX_CLE(0);
while (!CYGHWR_FLASH_TC58XXX_RDY()) cnt++; // Wait for operation to complete
@@ -314,10 +317,13 @@ flash_program_buf(void* addr, void* data
CYGHWR_FLASH_TC58XXX_CLE(0);
CYGHWR_FLASH_TC58XXX_ALE(1);
put_NAND(ROM, ((unsigned long)addr_ptr & 0x000000FF) >> 0); // A0..A7
put_NAND(ROM, ((unsigned long)addr_ptr & 0x0001FE00) >> 9); // A9..A16
put_NAND(ROM, ((unsigned long)addr_ptr & 0x01FE0000) >> 17); // A17..A24
+ if (flash_dev_info->device_size > 0x02000000) {
+ put_NAND(ROM, ((unsigned long)addr_ptr & 0x06000000) >> 19); // A26..A27
+ }
CYGHWR_FLASH_TC58XXX_ALE(0);
#if FLASH_DEBUG > 1
diag_printf(">>\n");
#endif
// Move one page of data to buffer
@@ -388,10 +394,13 @@ flash_read_buf(void* addr, void* data, i
CYGHWR_FLASH_TC58XXX_CLE(0);
CYGHWR_FLASH_TC58XXX_ALE(1);
put_NAND(ROM, ((unsigned long)addr_ptr & 0x000000FF) >> 0); // A0..A7
put_NAND(ROM, ((unsigned long)addr_ptr & 0x0001FE00) >> 9); // A9..A16
put_NAND(ROM, ((unsigned long)addr_ptr & 0x01FE0000) >> 17); // A17..A24
+ if (flash_dev_info->device_size > 0x02000000) {
+ put_NAND(ROM, ((unsigned long)addr_ptr & 0x06000000) >> 19); // A26..A27
+ }
CYGHWR_FLASH_TC58XXX_ALE(0);
#if FLASH_DEBUG > 1
diag_printf(">>\n");
#endif
cnt = 0;
Index: devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx_parts.inl
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx_parts.inl,v
retrieving revision 1.1
diff -u -5 -p -r1.1 flash_tc58xxx_parts.inl
--- devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx_parts.inl 19 Sep 2003 17:11:23 -0000 1.1
+++ devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx_parts.inl 25 Feb 2004 16:13:16 -0000
@@ -10,11 +10,11 @@
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
// Copyright (C) 2003 Jonathan Larmour
-// Copyright (C) 2003 Gary Thomas
+// Copyright (C) 2003, 2004 Gary Thomas
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
@@ -68,10 +68,20 @@
block_size : 0x4000 * CYGNUM_FLASH_INTERLEAVE,
page_size : 0x200 * CYGNUM_FLASH_INTERLEAVE,
block_count: 2048,
device_size: 0x2000000 * CYGNUM_FLASH_INTERLEAVE,
base_mask : ~(0x2000000 * CYGNUM_FLASH_INTERLEAVE - 1),
+},
+#endif
+#if defined(CYGHWR_DEVS_FLASH_TOSHIBA_TC58DVG02)
+{ // 1024Mb (128MB)
+ device_id : FLASHWORD(0x79),
+ block_size : 0x4000 * CYGNUM_FLASH_INTERLEAVE,
+ page_size : 0x200 * CYGNUM_FLASH_INTERLEAVE,
+ block_count: 8192,
+ device_size: 0x8000000 * CYGNUM_FLASH_INTERLEAVE,
+ base_mask : ~(0x8000000 * CYGNUM_FLASH_INTERLEAVE - 1),
},
#endif
#endif // ifndef CYGONCE_DEVS_FLASH_TOSHIBA_TC58XXX_PARTS_INL
// EOF flash_tc58xxx_parts.inl
Index: devs/flash/powerpc/moab/current/src/moab_nand_flash.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/devs/flash/powerpc/moab/current/src/moab_nand_flash.c,v
retrieving revision 1.1
diff -u -5 -p -r1.1 moab_nand_flash.c
--- devs/flash/powerpc/moab/current/src/moab_nand_flash.c 19 Sep 2003 17:11:22 -0000 1.1
+++ devs/flash/powerpc/moab/current/src/moab_nand_flash.c 25 Feb 2004 17:27:37 -0000
@@ -8,11 +8,11 @@
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
// Copyright (C) 2003 Nick Garnett <nickg@calivar.com>
-// Copyright (C) 2003 Gary Thomas
+// Copyright (C) 2003, 2004 Gary Thomas
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
@@ -56,13 +56,15 @@
#define CYGARC_HAL_COMMON_EXPORT_CPU_MACROS
#include <cyg/hal/ppc_regs.h> // Platform registers
#include <cyg/hal/hal_io.h> // I/O macros
#include <cyg/hal/hal_if.h> // Virtual vector interfaces
-// There's a single TC58256 on the MOAB board.
+// There's a single TC58256 or TC58DVG02 on the MOAB board.
#define CYGHWR_DEVS_FLASH_TOSHIBA_TC58256
+#define CYGHWR_DEVS_FLASH_TOSHIBA_TC58DVG02
+#define CYGNUM_FLASH_BLANK (1)
#define CYGNUM_FLASH_INTERLEAVE (1)
#define CYGNUM_FLASH_WIDTH (8)
#define CYGNUM_FLASH_SERIES (1)
#define CYGNUM_FLASH_BASE (_MOAB_NAND)
Index: hal/powerpc/moab/current/ChangeLog
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/hal/powerpc/moab/current/ChangeLog,v
retrieving revision 1.14
diff -u -5 -p -r1.14 ChangeLog
--- hal/powerpc/moab/current/ChangeLog 9 Dec 2003 02:45:36 -0000 1.14
+++ hal/powerpc/moab/current/ChangeLog 25 Feb 2004 17:28:05 -0000
@@ -1,5 +1,10 @@
+2004-02-25 Gary Thomas <gary@mlbassoc.com>
+
+ * misc/redboot_RAM+FLASH.ecm: Remove FIS - can't be supported in
+ this configuration.
+
2003-12-08 Gary Thomas <gary@mlbassoc.com>
* src/moab.S: Fix cycle time on NAND FLASH.
2003-10-15 Gary Thomas <gary@mlbassoc.com>
Index: hal/powerpc/moab/current/misc/redboot_RAM+FLASH.ecm
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/hal/powerpc/moab/current/misc/redboot_RAM+FLASH.ecm,v
retrieving revision 1.3
diff -u -5 -p -r1.3 redboot_RAM+FLASH.ecm
--- hal/powerpc/moab/current/misc/redboot_RAM+FLASH.ecm 14 Oct 2003 23:19:13 -0000 1.3
+++ hal/powerpc/moab/current/misc/redboot_RAM+FLASH.ecm 25 Feb 2004 17:23:20 -0000
@@ -43,10 +43,14 @@ cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS
cdl_option CYGHWR_DEVS_ETH_PHY_DP83847 {
inferred_value 1
};
+cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
+ inferred_value 0
+};
+
cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
user_value 4096
};
cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
@@ -86,10 +90,14 @@ cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMEN
inferred_value 2
};
cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
inferred_value 1
+};
+
+cdl_option CYGOPT_REDBOOT_FIS {
+ user_value 0
};
cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
user_value 0x00080000
};