drivers/spi/spi_flash: remove spi flash names

The names of each spi flash cause quite a bit of bloat in the text
size of each stage/program. Remove the name entirely from spi flash
in order to reduce overhead. In order to pack space as closely as
possible the previous 32-bit id and mask were split into 2 16-bit
ids and masks.

On Chrome OS build of Aleena there's a savings of >2.21KiB in each
of verstage, romstage, and ramstage.

Change-Id: Ie98f7e1c7d116c5d7b4bf78605f62fee89dee0a5
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38380
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
Aaron Durbin
2020-01-23 11:45:30 -07:00
parent 98eeb96135
commit fc7b953366
16 changed files with 349 additions and 339 deletions

View File

@@ -46,56 +46,56 @@
static const struct spi_flash_part_id flash_table_ai[] = {
{
.id = 0x8d,
.name = "SST25VF040B",
/* SST25VF040B */
.id[0] = 0x8d,
.nr_sectors_shift = 7,
},{
.id = 0x8e,
.name = "SST25VF080B",
/* SST25VF080B */
.id[0] = 0x8e,
.nr_sectors_shift = 8,
},{
.id = 0x80,
.name = "SST25VF080",
/* SST25VF080 */
.id[0] = 0x80,
.nr_sectors_shift = 8,
},{
.id = 0x41,
.name = "SST25VF016B",
/* SST25VF016B */
.id[0] = 0x41,
.nr_sectors_shift = 9,
},{
.id = 0x4a,
.name = "SST25VF032B",
/* SST25VF032B */
.id[0] = 0x4a,
.nr_sectors_shift = 10,
},{
.id = 0x01,
.name = "SST25WF512",
/* SST25WF512 */
.id[0] = 0x01,
.nr_sectors_shift = 4,
},{
.id = 0x02,
.name = "SST25WF010",
/* SST25WF010 */
.id[0] = 0x02,
.nr_sectors_shift = 5,
},{
.id = 0x03,
.name = "SST25WF020",
/* SST25WF020 */
.id[0] = 0x03,
.nr_sectors_shift = 6,
},{
.id = 0x04,
.name = "SST25WF040",
/* SST25WF040 */
.id[0] = 0x04,
.nr_sectors_shift = 7,
},{
.id = 0x05,
.name = "SST25WF080",
/* SST25WF080 */
.id[0] = 0x05,
.nr_sectors_shift = 8,
},{
.id = 0x14,
.name = "SST25WF080B",
/* SST25WF080B */
.id[0] = 0x14,
.nr_sectors_shift = 8,
},
};
static const struct spi_flash_part_id flash_table_pp256[] = {
{
.id = 0x4b,
.name = "SST25VF064C",
/* SST25VF064C */
.id[0] = 0x4b,
.nr_sectors_shift = 11,
},
};
@@ -254,7 +254,7 @@ static const struct spi_flash_ops_descriptor descai = {
const struct spi_flash_vendor_info spi_flash_sst_ai_vi = {
.id = VENDOR_ID_SST,
.sector_size_kib_shift = 2,
.match_id_mask = 0xff,
.match_id_mask[0] = 0xff,
.ids = flash_table_ai,
.nr_part_ids = ARRAY_SIZE(flash_table_ai),
.desc = &descai,
@@ -265,7 +265,7 @@ const struct spi_flash_vendor_info spi_flash_sst_vi = {
.id = VENDOR_ID_SST,
.page_size_shift = 8,
.sector_size_kib_shift = 2,
.match_id_mask = 0xff,
.match_id_mask[0] = 0xff,
.ids = flash_table_pp256,
.nr_part_ids = ARRAY_SIZE(flash_table_pp256),
.desc = &spi_flash_pp_0x20_sector_desc,