util/ifdtool: Fix SPI frequency as per Gen11 SPI flash guide
BUG=b:153888802 TEST=Able to list correct SPI frequency as per TGL SPI flash guide Without this CL : Found Component Section FLCOMP 0x093030f6 Dual Output Fast Read Support: not supported Read ID/Read Status Clock Frequency: 33MHz Write/Erase Clock Frequency: 33MHz Fast Read Clock Frequency: 33MHz Fast Read Support: supported Read Clock Frequency: 20MHz With this CL : Found Component Section FLCOMP 0x093030f6 Dual Output Fast Read Support: not supported Read ID/Read Status Clock Frequency: 50MHz Write/Erase Clock Frequency: 50MHz Fast Read Clock Frequency: 50MHz Fast Read Support: supported Read Clock Frequency: 20MHz Signed-off-by: Subrata Banik <subrata.banik@intel.com> Change-Id: Id0a0a0cbd948ef8334cf522c09e881b464e87f0e Reviewed-on: https://review.coreboot.org/c/coreboot/+/44819 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
bd2da5a4b5
commit
d16ef4d21e
|
@ -448,7 +448,7 @@ static void dump_frba_layout(const frba_t *frba, const char *layout_fname)
|
||||||
printf("Wrote layout to %s\n", layout_fname);
|
printf("Wrote layout to %s\n", layout_fname);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void decode_spi_frequency(unsigned int freq)
|
static void _decode_spi_frequency(unsigned int freq)
|
||||||
{
|
{
|
||||||
switch (freq) {
|
switch (freq) {
|
||||||
case SPI_FREQUENCY_20MHZ:
|
case SPI_FREQUENCY_20MHZ:
|
||||||
|
@ -478,6 +478,37 @@ static void decode_spi_frequency(unsigned int freq)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void _decode_spi_frequency_500_series(unsigned int freq)
|
||||||
|
{
|
||||||
|
switch (freq) {
|
||||||
|
case SPI_FREQUENCY_100MHZ:
|
||||||
|
printf("100MHz");
|
||||||
|
break;
|
||||||
|
case SPI_FREQUENCY_50MHZ:
|
||||||
|
printf("50MHz");
|
||||||
|
break;
|
||||||
|
case SPI_FREQUENCY_500SERIES_33MHZ:
|
||||||
|
printf("33MHz");
|
||||||
|
break;
|
||||||
|
case SPI_FREQUENCY_25MHZ:
|
||||||
|
printf("25MHz");
|
||||||
|
break;
|
||||||
|
case SPI_FREQUENCY_14MHZ:
|
||||||
|
printf("14MHz");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
printf("unknown<%x>MHz", freq);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void decode_spi_frequency(unsigned int freq)
|
||||||
|
{
|
||||||
|
if (chipset == CHIPSET_500_SERIES_TIGER_POINT)
|
||||||
|
_decode_spi_frequency_500_series(freq);
|
||||||
|
else
|
||||||
|
_decode_spi_frequency(freq);
|
||||||
|
}
|
||||||
|
|
||||||
static void decode_component_density(unsigned int density)
|
static void decode_component_density(unsigned int density)
|
||||||
{
|
{
|
||||||
switch (density) {
|
switch (density) {
|
||||||
|
|
|
@ -63,6 +63,14 @@ enum spi_frequency {
|
||||||
SPI_FREQUENCY_17MHZ = 6,
|
SPI_FREQUENCY_17MHZ = 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum spi_frequency_500_series {
|
||||||
|
SPI_FREQUENCY_100MHZ = 0,
|
||||||
|
SPI_FREQUENCY_50MHZ = 1,
|
||||||
|
SPI_FREQUENCY_500SERIES_33MHZ = 3,
|
||||||
|
SPI_FREQUENCY_25MHZ = 4,
|
||||||
|
SPI_FREQUENCY_14MHZ = 6,
|
||||||
|
};
|
||||||
|
|
||||||
enum component_density {
|
enum component_density {
|
||||||
COMPONENT_DENSITY_512KB = 0,
|
COMPONENT_DENSITY_512KB = 0,
|
||||||
COMPONENT_DENSITY_1MB = 1,
|
COMPONENT_DENSITY_1MB = 1,
|
||||||
|
|
Loading…
Reference in New Issue