# HG changeset patch # User gthomas # Date 1078677864 0 # Node ID 5d84d68047215e0df193eba3afe2f8f1413dbce2 # Parent 382e69fac9e0f19bbdbec9c2ee8fbd661476ec09 Fix page addressing for larger devices diff --git a/packages/devs/flash/toshiba/tc58xxx/current/ChangeLog b/packages/devs/flash/toshiba/tc58xxx/current/ChangeLog --- 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 + + * include/flash_tc58xxx.inl: Page addressing was wrong for large (> 32MB) devices. + 2004-02-25 Gary Thomas * include/flash_tc58xxx_parts.inl: diff --git a/packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx.inl b/packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx.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