]> code.ossystems Code Review - bsp/u-boot.git/commit
spi: Add SPI NOR protection mechanism
authorFabio Estevam <fabio.estevam@freescale.com>
Fri, 16 Oct 2015 20:19:47 +0000 (17:19 -0300)
committerOtavio Salvador <otavio@ossystems.com.br>
Wed, 28 Oct 2015 13:02:27 +0000 (11:02 -0200)
commit540baa3b85ab68129559b9e364de69022daeaab7
tree7c62efb576d7c49b57135ee9e69757bf9ffa4348
parent6e057b95c8d2937661763c8201c479cd04bc91fa
spi: Add SPI NOR protection mechanism

Many SPI flashes have protection bits (BP2, BP1 and BP0) in the
status register that can protect selected regions of the SPI NOR.

Take these bits into account when performing erase operations,
making sure that the protected areas are skipped.

Tested on a mx6qsabresd:

=> sf probe
SF: Detected M25P32 with page size 256 Bytes, erase size 64 KiB, total 4 MiB
=> sf protect lock  0x3f0000 0x10000
=> sf erase 0x3f0000 0x10000
offset 0x3f0000 is protected and cannot be erased
SF: 65536 bytes @ 0x3f0000 Erased: ERROR
=> sf protect unlock  0x3f0000 0x10000
=> sf erase 0x3f0000 0x10000
SF: 65536 bytes @ 0x3f0000 Erased: OK

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
common/cmd_sf.c
drivers/mtd/spi/sf-uclass.c
drivers/mtd/spi/sf_internal.h
drivers/mtd/spi/sf_ops.c
drivers/mtd/spi/sf_probe.c
include/spi_flash.h