This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

MOAB - larger FLASH


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
 };

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]