1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-07-02 06:23:18 +02:00

tree/: Convert flashchip probe func ptr to enumerate

This forges the way for flashchips.c to be pure declarative
data and lookup functions for dispatch to be pure. This
means that the flashchips data could be extracted out to
be agnostic data of the flashrom code and algorithms.

TEST='R|W|E && --flash-name' on ARM, AMD & Intel DUT's.

Change-Id: I00aaab9c83f305cd47e78c36d9c2867f2b73c396
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/66781
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nikolai Artemiev <nartemiev@google.com>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
This commit is contained in:
Edward O'Callaghan
2022-08-15 12:05:31 +10:00
committed by Felix Singer
parent 74c3e56ec2
commit 10e7a0ebd7
4 changed files with 650 additions and 596 deletions

View File

@ -217,6 +217,27 @@ enum decode_range_func {
};
typedef void (decode_range_func_t)(size_t *start, size_t *len, const struct wp_bits *, size_t chip_len);
enum probe_func {
NO_PROBE_FUNC = 0, /* 0 indicates no probe function set. */
PROBE_JEDEC = 1,
PROBE_JEDEC_29GL,
PROBE_OPAQUE,
PROBE_EDI_KB9012,
PROBE_AT82802AB,
PROBE_W29EE011,
PROBE_EN29LV640B,
PROBE_SPI_AT25F,
PROBE_SPI_AT45DB,
PROBE_SPI_BIG_SPANSION,
PROBE_SPI_RDID,
PROBE_SPI_RDID4,
PROBE_SPI_REMS,
PROBE_SPI_RES1,
PROBE_SPI_RES2,
PROBE_SPI_SFDP,
PROBE_SPI_ST95,
};
struct flashchip {
const char *vendor;
const char *name;
@ -258,7 +279,7 @@ struct flashchip {
SPI_EDI = 1,
} spi_cmd_set;
int (*probe) (struct flashctx *flash);
enum probe_func probe;
/* Delay after "enter/exit ID mode" commands in microseconds.
* NB: negative values have special meanings, see TIMING_* below.