diff --git a/src/drivers/spi/spi_flash.c b/src/drivers/spi/spi_flash.c index 1b835a15ae..57bdaf4cb1 100644 --- a/src/drivers/spi/spi_flash.c +++ b/src/drivers/spi/spi_flash.c @@ -343,8 +343,11 @@ int spi_flash_generic_probe(const struct spi_slave *spi, for (i = 0; i < ARRAY_SIZE(flashes); ++i) if (flashes[i].shift == shift && flashes[i].idcode == *idp) { /* we have a match, call probe */ - if (flashes[i].probe(spi, idp, flash) == 0) + if (flashes[i].probe(spi, idp, flash) == 0) { + flash->vendor = idp[0]; + flash->model = (idp[1] << 8) | idp[2]; return 0; + } } /* No match, return error. */ diff --git a/src/include/spi_flash.h b/src/include/spi_flash.h index 64ad7fe04a..09908eb9f8 100644 --- a/src/include/spi_flash.h +++ b/src/include/spi_flash.h @@ -89,6 +89,8 @@ struct spi_flash_ops { struct spi_flash { struct spi_slave spi; + u8 vendor; + u16 model; const char *name; u32 size; u32 sector_size;