From a6c73c898775bbc59b9d6e1fcb03e340db89ee67 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Sat, 11 Jan 2020 23:18:51 -0700 Subject: drivers/spi/spi_flash: introduce common spi_flash_part_id object To further drive to a common approach for describing the spi flash parts in the drivers add spi_flash_part_id object. All the drivers are updated to utilize the new object. Additionally, the driver_private is also not needed in the spi_flash object. A Chrome OS build of Aleena provides 960 byte saving of text. A subsequent patch will save more memory. Change-Id: I9c0cc75f188ac004ab647805b9551bf06a0c646b Signed-off-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/c/coreboot/+/38378 Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner --- src/drivers/spi/spi_flash_internal.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/drivers/spi/spi_flash_internal.h') diff --git a/src/drivers/spi/spi_flash_internal.h b/src/drivers/spi/spi_flash_internal.h index ef756c78d7..cc258ded20 100644 --- a/src/drivers/spi/spi_flash_internal.h +++ b/src/drivers/spi/spi_flash_internal.h @@ -93,4 +93,18 @@ int spi_flash_probe_gigadevice(const struct spi_slave *spi, u8 *idcode, int spi_flash_probe_adesto(const struct spi_slave *spi, u8 *idcode, struct spi_flash *flash); +struct spi_flash_part_id { + uint32_t id; + const char *name; + /* Log based 2 total number of sectors. */ + uint16_t nr_sectors_shift: 4; + /* Log based 2 sector size */ + uint16_t sector_size_kib_shift: 4; + uint16_t fast_read_dual_output_support : 1; + uint16_t _reserved_for_flags: 7; + /* Block protection. Currently used by Winbond. */ + uint16_t protection_granularity_shift : 5; + uint16_t bp_bits : 3; +}; + #endif /* SPI_FLASH_INTERNAL_H */ -- cgit v1.2.3