Skip to content
Snippets Groups Projects
Commit f486f86c authored by ntfreak's avatar ntfreak
Browse files

- correct stm32 connectivity line programming as per latest manual

git-svn-id: svn://svn.berlios.de/openocd/trunk@2439 b42882b7-edfa-0310-969c-e2dbd0fdcd60
parent 3eb441bb
No related branches found
No related tags found
No related merge requests found
...@@ -304,14 +304,15 @@ static int stm32x_protect_check(struct flash_bank_s *bank) ...@@ -304,14 +304,15 @@ static int stm32x_protect_check(struct flash_bank_s *bank)
if (stm32x_info->ppage_size == 2) if (stm32x_info->ppage_size == 2)
{ {
/* high density flash */ /* high density flash/connectivity line protection */
set = 1; set = 1;
if (protection & (1 << 31)) if (protection & (1 << 31))
set = 0; set = 0;
/* bit 31 controls sector 62 - 255 protection */ /* bit 31 controls sector 62 - 255 protection for high density
* bit 31 controls sector 62 - 127 protection for connectivity line */
for (s = 62; s < bank->num_sectors; s++) for (s = 62; s < bank->num_sectors; s++)
{ {
bank->sectors[s].is_protected = set; bank->sectors[s].is_protected = set;
...@@ -333,7 +334,7 @@ static int stm32x_protect_check(struct flash_bank_s *bank) ...@@ -333,7 +334,7 @@ static int stm32x_protect_check(struct flash_bank_s *bank)
} }
else else
{ {
/* medium density flash */ /* low/medium density flash protection */
for (i = 0; i < num_bits; i++) for (i = 0; i < num_bits; i++)
{ {
set = 1; set = 1;
...@@ -776,10 +777,10 @@ static int stm32x_probe(struct flash_bank_s *bank) ...@@ -776,10 +777,10 @@ static int stm32x_probe(struct flash_bank_s *bank)
} }
else if ((device_id & 0x7ff) == 0x418) else if ((device_id & 0x7ff) == 0x418)
{ {
/* connectivity line density - we have 1k pages /* connectivity line density - we have 2k pages
* 4 pages for a protection area */ * 2 pages for a protection area */
page_size = 1024; page_size = 2048;
stm32x_info->ppage_size = 4; stm32x_info->ppage_size = 2;
/* check for early silicon */ /* check for early silicon */
if (num_pages == 0xffff) if (num_pages == 0xffff)
...@@ -921,6 +922,10 @@ static int stm32x_info(struct flash_bank_s *bank, char *buf, int buf_size) ...@@ -921,6 +922,10 @@ static int stm32x_info(struct flash_bank_s *bank, char *buf, int buf_size)
snprintf(buf, buf_size, "A"); snprintf(buf, buf_size, "A");
break; break;
case 0x1001:
snprintf(buf, buf_size, "Z");
break;
default: default:
snprintf(buf, buf_size, "unknown"); snprintf(buf, buf_size, "unknown");
break; break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment