changeset 1530:5d84d6804721

Fix page addressing for larger devices
author gthomas
date Sun, 07 Mar 2004 16:44:24 +0000
parents 382e69fac9e0
children cbea1375c6da
files packages/devs/flash/toshiba/tc58xxx/current/ChangeLog packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx.inl
diffstat 2 files changed, 9 insertions(+), 5 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,7 @@
+2004-03-07  Gary Thomas  <gary@mlbassoc.com>
+
+	* include/flash_tc58xxx.inl: Page addressing was wrong for large (> 32MB) devices.
+
 2004-02-25  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
@@ -263,10 +263,10 @@ 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
+    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
+        put_NAND(ROM, ((unsigned long)b_p & 0x06000000) >> 25); // A26..A27
     }
     CYGHWR_FLASH_TC58XXX_ALE(0);
     CYGHWR_FLASH_TC58XXX_CLE(1);
@@ -320,7 +320,7 @@ flash_program_buf(void* addr, void* data
         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
+            put_NAND(ROM, ((unsigned long)addr_ptr & 0x06000000) >> 25);  // A26..A27
         }
         CYGHWR_FLASH_TC58XXX_ALE(0);
 #if FLASH_DEBUG > 1
@@ -397,7 +397,7 @@ flash_read_buf(void* addr, void* data, i
     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
+        put_NAND(ROM, ((unsigned long)addr_ptr & 0x06000000) >> 25);  // A26..A27
     }
     CYGHWR_FLASH_TC58XXX_ALE(0);
 #if FLASH_DEBUG > 1