From 630a418feac478410d2f23f06cbf85000decc4d2 Mon Sep 17 00:00:00 2001
From: Stefan Tauner <stefan.tauner@gmx.at>
Date: Sun, 26 Aug 2018 04:26:04 +0200
Subject: drivers/spi: store detected flash IDs

Change-Id: I36de9ba6c5967dddd08a71a522cf680d6e146fae
Signed-off-by: Stefan Tauner <stefan.tauner@gmx.at>
Reviewed-on: https://review.coreboot.org/c/28347
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
---
 src/drivers/spi/spi_flash.c | 5 ++++-
 src/include/spi_flash.h     | 2 ++
 2 files changed, 6 insertions(+), 1 deletion(-)

(limited to 'src')

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;
-- 
cgit v1.2.3