# HG changeset patch # User gthomas # Date 1077730146 0 # Node ID 0f22f57f5daa1537f481c266f2396a32fa05b6f7 # Parent d431485fc764e0e373f53fdc6bb0c4e8dd50eb6f Add suport for newer part TC58DVG02 (128MB) 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,8 @@ +2004-02-25 Gary Thomas + + * include/flash_tc58xxx_parts.inl: + * include/flash_tc58xxx.inl: Add support for TC58DVG02 (128MB) part. + 2003-09-19 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 @@ -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"); diff --git a/packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx_parts.inl b/packages/devs/flash/toshiba/tc58xxx/current/include/flash_tc58xxx_parts.inl --- 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