diff options
author | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2007-01-09 17:19:41 +0000 |
---|---|---|
committer | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2007-01-09 17:19:41 +0000 |
commit | a4f2e1eaaca40dbcc7916755efb094cacafbb65c (patch) | |
tree | e9ae7ed6e2d83e85810c1925d086645f1f9dea98 /src/flash | |
parent | e8947e0d13ef40d6f1fca606edc78d2b82ba8476 (diff) | |
download | openocd_libswd-a4f2e1eaaca40dbcc7916755efb094cacafbb65c.tar.gz openocd_libswd-a4f2e1eaaca40dbcc7916755efb094cacafbb65c.tar.bz2 openocd_libswd-a4f2e1eaaca40dbcc7916755efb094cacafbb65c.tar.xz openocd_libswd-a4f2e1eaaca40dbcc7916755efb094cacafbb65c.zip |
- disabled FT2232 debug output (that code should be fairly stable)
- fixed bug in jtag.c where JTAG command type was wrong for PATHMOVE commands
- added lattice ISP cable (experimental)
- properly initialize parallel port (clear tristate bit)
- fixed jtag/Makefile.am that failed with some versions of autotools
- print error number if read() in gdbserver.c failed on Windows
- fixed handling of opcodes with bits 27-25 b011 (comment was correct, code had a bug)
- added support for AT91SAM7SE internal flash
git-svn-id: svn://svn.berlios.de/openocd/trunk@122 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/flash')
-rw-r--r-- | src/flash/at91sam7.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/flash/at91sam7.c b/src/flash/at91sam7.c index 84916829..dc9c2d72 100644 --- a/src/flash/at91sam7.c +++ b/src/flash/at91sam7.c @@ -405,6 +405,40 @@ int at91sam7_read_part_info(struct flash_bank_s *bank) return ERROR_OK; } + if (at91sam7_info->cidr_arch == 0x72 ) + { + at91sam7_info->num_nvmbits = 2; + at91sam7_info->nvmbits = (status>>8)&0x03; + bank->base = 0x100000; + bank->bus_width = 4; + if (bank->size==0x80000) /* AT91SAM7SE512 */ + { + at91sam7_info->target_name = "AT91SAM7SE512"; + at91sam7_info->num_lockbits = 32; + at91sam7_info->pagesize = 256; + at91sam7_info->pages_in_lockregion = 64; + at91sam7_info->num_pages = 32*64; + } + if (bank->size==0x40000) + { + at91sam7_info->target_name = "AT91SAM7SE256"; + at91sam7_info->num_lockbits = 16; + at91sam7_info->pagesize = 256; + at91sam7_info->pages_in_lockregion = 64; + at91sam7_info->num_pages = 16*64; + } + if (bank->size==0x08000) + { + at91sam7_info->target_name = "AT91SAM7SE32"; + at91sam7_info->num_lockbits = 8; + at91sam7_info->pagesize = 128; + at91sam7_info->pages_in_lockregion = 32; + at91sam7_info->num_pages = 8*32; + } + + return ERROR_OK; + } + if (at91sam7_info->cidr_arch == 0x75 ) { at91sam7_info->num_nvmbits = 3; |