changeset 1516:0f22f57f5daa

Add suport for newer part TC58DVG02 (128MB)
author gthomas
date Wed, 25 Feb 2004 17:29:06 +0000
parents d431485fc764
children 7fbd87364c15
files packages/devs/flash/toshiba/tc58xxx/current/ChangeLog packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx.inl packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx_parts.inl
diffstat 3 files changed, 26 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/packages/devs/flash/toshiba/tc58xxx/current/ChangeLog
+++ b/packages/devs/flash/toshiba/tc58xxx/current/ChangeLog
@@ -1,3 +1,8 @@
+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: 
--- a/packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx.inl
+++ b/packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx.inl
@@ -12,7 +12,7 @@
 // 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
@@ -265,6 +265,9 @@ flash_erase_block(void* block, unsigned 
     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);
@@ -316,6 +319,9 @@ flash_program_buf(void* addr, void* data
         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");
@@ -390,6 +396,9 @@ flash_read_buf(void* addr, void* data, i
     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");
--- a/packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx_parts.inl
+++ b/packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx_parts.inl
@@ -12,7 +12,7 @@
 // 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
@@ -72,6 +72,16 @@
     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