Mercurial > ecos
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
