Discussion:
[OpenOCD-devel] [PATCH]: 44d6bbe flash Kinetis: fix devices with smallest program flash (8 and 16 kB)
gerrit
2017-06-29 21:10:28 UTC
Permalink
This is an automated email from Gerrit.

Tomas Vanek (***@fbl.cz) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/4173

-- gerrit

commit 44d6bbe8d101fcb5c984d80fbea0bf5e8906fa53
Author: Tomas Vanek <***@fbl.cz>
Date: Thu Jun 29 23:06:55 2017 +0200

flash Kinetis: fix devices with smallest program flash (8 and 16 kB)

Change-Id: I2692b9877a7f877104528f279a69e8cc1cfbcdbf
Reported-by: David Miller Lowe <***@gmail.com>
Signed-off-by: Tomas Vanek <***@fbl.cz>

diff --git a/src/flash/nor/kinetis.c b/src/flash/nor/kinetis.c
index 12efefb..f57579d 100644
--- a/src/flash/nor/kinetis.c
+++ b/src/flash/nor/kinetis.c
@@ -2461,6 +2461,10 @@ static int kinetis_probe_chip(struct kinetis_chip *k_chip)
}

switch (fcfg1_pfsize) {
+ case 0x00:
+ k_chip->pflash_size = 8192;
+ break;
+ case 0x01:
case 0x03:
case 0x05:
case 0x07:
@@ -2471,6 +2475,7 @@ static int kinetis_probe_chip(struct kinetis_chip *k_chip)
break;
case 0x0f:
/* a peculiar case: Freescale states different sizes for 0xf
+ * KL03P24M48SF0RM 32 KB .... duplicate of code 0x3
* K02P64M100SFARM 128 KB ... duplicate of code 0x7
* K22P121M120SF8RM 256 KB ... duplicate of code 0x9
* K22P121M120SF7RM 512 KB ... duplicate of code 0xb
@@ -2562,7 +2567,7 @@ static int kinetis_probe(struct flash_bank *bank)
* parts with more than 32K of PFlash. For parts with
* less the protection unit is set to 1024 bytes */
k_bank->protection_size = MAX(k_chip->pflash_size / 32, 1024);
- bank->num_prot_blocks = 32 / k_chip->num_pflash_blocks;
+ bank->num_prot_blocks = bank->size / k_bank->protection_size;
k_bank->protection_block = bank->num_prot_blocks * k_bank->bank_number;

size_k = bank->size / 1024;

--

Loading...