mirror of
https://review.coreboot.org/flashrom.git
synced 2025-10-28 20:02:10 +01:00
Improve SPI status register pretty printing
- Move all functions related to SPI status registers to a new file
spi25_statusreg.c. This includes the generic as well as the
SST-specific functions from spi25.c and the chip-specific functions
from a25.c and at25.c.
- introduce helper functions
* spi_prettyprint_status_register_hex()
* spi_prettyprint_status_register_bpl()
* spi_prettyprint_status_register_plain()
Use the latter on every compatible flash chip that has no better printlock
function set and get rid of the implicit pretty printing in the SPI probing
functions.
- remove
* spi_prettyprint_status_register_common()
* spi_prettyprint_status_register_amic_a25lq032() because it can be fully
substituted with spi_prettyprint_status_register_amic_a25l032().
* spi_prettyprint_status_register() (old switch, no longer needed)
- promote and export
* spi_prettyprint_status_register_amic_a25l05p() as spi_prettyprint_status_register_default_bp1().
* spi_prettyprint_status_register_amic_a25l40p() as spi_prettyprint_status_register_default_bp2().
* spi_prettyprint_status_register_st_m25p() as spi_prettyprint_status_register_default_bp3().
- add #define TEST_BAD_REW and use it for a number of Atmel chips which
had only TEST_BAD_READ set even though they dont have erasers or a write
function set.
Corresponding to flashrom svn r1634.
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
This commit is contained in:
@@ -51,20 +51,36 @@ int spi_block_erase_62(struct flashctx *flash, unsigned int addr, unsigned int b
|
||||
int spi_block_erase_c7(struct flashctx *flash, unsigned int addr, unsigned int blocklen);
|
||||
erasefunc_t *spi_get_erasefn_from_opcode(uint8_t opcode);
|
||||
int spi_chip_write_1(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
||||
uint8_t spi_read_status_register(struct flashctx *flash);
|
||||
int spi_write_status_register(struct flashctx *flash, int status);
|
||||
void spi_prettyprint_status_register_bit(uint8_t status, int bit);
|
||||
void spi_prettyprint_status_register_bp(uint8_t status, int bp);
|
||||
void spi_prettyprint_status_register_srwd(uint8_t status);
|
||||
void spi_prettyprint_status_register_welwip(uint8_t status);
|
||||
int spi_prettyprint_status_register(struct flashctx *flash);
|
||||
int spi_disable_blockprotect(struct flashctx *flash);
|
||||
int spi_byte_program(struct flashctx *flash, unsigned int addr, uint8_t databyte);
|
||||
int spi_nbyte_program(struct flashctx *flash, unsigned int addr, uint8_t *bytes, unsigned int len);
|
||||
int spi_nbyte_read(struct flashctx *flash, unsigned int addr, uint8_t *bytes, unsigned int len);
|
||||
int spi_read_chunked(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len, unsigned int chunksize);
|
||||
int spi_write_chunked(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len, unsigned int chunksize);
|
||||
|
||||
/* spi25_statusreg.c */
|
||||
uint8_t spi_read_status_register(struct flashctx *flash);
|
||||
int spi_write_status_register(struct flashctx *flash, int status);
|
||||
int spi_prettyprint_status_register_plain(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_default_bp1(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_default_bp2(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_default_bp3(struct flashctx *flash);
|
||||
int spi_disable_blockprotect(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_amic_a25l032(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_at25df(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_at25df_sec(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_at25f512b(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_at25fs010(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_at25fs040(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_at26df081a(struct flashctx *flash);
|
||||
int spi_disable_blockprotect_at25df(struct flashctx *flash);
|
||||
int spi_disable_blockprotect_at25df_sec(struct flashctx *flash);
|
||||
int spi_disable_blockprotect_at25f512b(struct flashctx *flash);
|
||||
int spi_disable_blockprotect_at25fs010(struct flashctx *flash);
|
||||
int spi_disable_blockprotect_at25fs040(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_sst25(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_sst25vf016(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_sst25vf040b(struct flashctx *flash);
|
||||
|
||||
/* sfdp.c */
|
||||
int probe_spi_sfdp(struct flashctx *flash);
|
||||
|
||||
@@ -74,25 +90,6 @@ int read_opaque(struct flashctx *flash, uint8_t *buf, unsigned int start, unsign
|
||||
int write_opaque(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
|
||||
int erase_opaque(struct flashctx *flash, unsigned int blockaddr, unsigned int blocklen);
|
||||
|
||||
/* a25.c */
|
||||
int spi_prettyprint_status_register_amic_a25l05p(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_amic_a25l40p(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_amic_a25l032(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_amic_a25lq032(struct flashctx *flash);
|
||||
|
||||
/* at25.c */
|
||||
int spi_prettyprint_status_register_at25df(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_at25df_sec(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_at25f512b(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_at25fs010(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_at25fs040(struct flashctx *flash);
|
||||
int spi_prettyprint_status_register_atmel_at26df081a(struct flashctx *flash);
|
||||
int spi_disable_blockprotect_at25df(struct flashctx *flash);
|
||||
int spi_disable_blockprotect_at25df_sec(struct flashctx *flash);
|
||||
int spi_disable_blockprotect_at25f512b(struct flashctx *flash);
|
||||
int spi_disable_blockprotect_at25fs010(struct flashctx *flash);
|
||||
int spi_disable_blockprotect_at25fs040(struct flashctx *flash);
|
||||
|
||||
/* 82802ab.c */
|
||||
uint8_t wait_82802ab(struct flashctx *flash);
|
||||
int probe_82802ab(struct flashctx *flash);
|
||||
|
||||
Reference in New Issue
Block a user