Skip to content
Snippets Groups Projects
Commit 03deff43 authored by Stefan Roese's avatar Stefan Roese
Browse files

cfi_flash: Read PPB sector protection from device for AMD/Spansion chips


Patch 66863b05 [cfi_flash: add support for Spansion flash PPB sector
protection] introduced the PPB (Persistent Protection Bit) locking for
Spansion chips. But right now the sector protection status (locked vs
unlocked) is set to unlocked for all sectors upon bootup. The real
sector protection status is ignored.

This patch now reads the current sector protection status and uses
it for these AMD/Spansion flash chips.

Signed-off-by: default avatarStefan Roese <sr@denx.de>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Holger Brunck <holger.brunck@keymile.com>
Tested-by: default avatarHolger Brunck <holger.brunck@keymile.com>
parent 20043a4c
No related branches found
No related tags found
No related merge requests found
......@@ -2183,6 +2183,27 @@ ulong flash_get_size (phys_addr_t base, int banknum)
FLASH_OFFSET_PROTECT,
FLASH_STATUS_PROTECT);
break;
case CFI_CMDSET_AMD_EXTENDED:
case CFI_CMDSET_AMD_STANDARD:
if (!manufact_match(info, AMD_MANUFACT)) {
/* default: not protected */
info->protect[sect_cnt] = 0;
break;
}
/* Read protection (PPB) from sector */
flash_write_cmd(info, 0, 0,
info->cmd_reset);
flash_unlock_seq(info, 0);
flash_write_cmd(info, 0,
info->addr_unlock1,
FLASH_CMD_READ_ID);
info->protect[sect_cnt] =
flash_isset(
info, sect_cnt,
FLASH_OFFSET_PROTECT,
FLASH_STATUS_PROTECT);
break;
default:
/* default: not protected */
info->protect[sect_cnt] = 0;
......
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