From c65f7cf2fa8f3fac1d8caba5129fb78993c21125 Mon Sep 17 00:00:00 2001
From: ntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Thu, 14 Feb 2008 10:02:51 +0000
Subject: [PATCH] - added check for revA silicon in stm32 flash driver

git-svn-id: svn://svn.berlios.de/openocd/trunk@294 b42882b7-edfa-0310-969c-e2dbd0fdcd60
---
 src/flash/stm32x.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/flash/stm32x.c b/src/flash/stm32x.c
index 7039a3d41..8363039f8 100644
--- a/src/flash/stm32x.c
+++ b/src/flash/stm32x.c
@@ -660,6 +660,15 @@ int stm32x_probe(struct flash_bank_s *bank)
     
 	/* get flash size from target */
 	target_read_u16(target, 0x1FFFF7E0, &num_sectors);
+	
+	/* check for early silicon rev A */
+	if ((device_id >> 16) == 0 )
+	{
+		/* number of sectors incorrect on revA */
+		WARNING( "STM32 Rev A Silicon detected, probe inaccurate - assuming 128k flash" );
+		num_sectors = 128;
+	}
+	
 	INFO( "flash size = %dkbytes", num_sectors );
 	
 	bank->base = 0x08000000;
-- 
GitLab