MCPcopy Create free account
hub / github.com/coreboot/coreboot / dump_fcba

Function dump_fcba

util/ifdtool/ifdtool.c:717–800  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

715}
716
717static void dump_fcba(const struct fcba *fcba, const struct fpsba *fpsba)
718{
719 unsigned int freq;
720
721 printf("\nFound Component Section\n");
722 printf("FLCOMP 0x%08x\n", fcba->flcomp);
723 printf(" Dual Output Fast Read Support: %ssupported\n",
724 (fcba->flcomp & (1 << 30)) ? "" : "not ");
725 printf(" Read ID/Read Status Clock Frequency: ");
726 decode_spi_frequency((fcba->flcomp >> 27) & 7);
727 printf("\n Write/Erase Clock Frequency: ");
728 decode_spi_frequency((fcba->flcomp >> 24) & 7);
729 printf("\n Fast Read Clock Frequency: ");
730 decode_spi_frequency((fcba->flcomp >> 21) & 7);
731 printf("\n Fast Read Support: %ssupported",
732 (fcba->flcomp & (1 << 20)) ? "" : "not ");
733 if (is_platform_with_100x_series_pch() &&
734 chipset != CHIPSET_100_200_SERIES_SUNRISE_POINT) {
735 printf("\n Read eSPI/EC Bus Frequency: ");
736 if (chipset == CHIPSET_500_600_SERIES_TIGER_ALDER_POINT)
737 freq = (fpsba->pchstrp[22] & 0x38) >> 3;
738 else if (chipset == CHIPSET_800_SERIES_METEOR_LAKE)
739 freq = (fpsba->pchstrp[65] & 0x38) >> 3;
740 else if (chipset == CHIPSET_900_SERIES_PANTHER_LAKE)
741 freq = (fpsba->pchstrp[119] & 0x38) >> 3;
742 else
743 freq = (fcba->flcomp >> 17) & 7;
744 decode_espi_frequency(freq);
745
746 printf("\n Quad I/O Read: %s",
747 (fcba->flcomp & (1 << 15)) ? "enabled" : "disabled");
748 printf("\n Quad Output Read: %s",
749 (fcba->flcomp & (1 << 14)) ? "enabled" : "disabled");
750 printf("\n Dual I/O Read: %s",
751 (fcba->flcomp & (1 << 13)) ? "enabled" : "disabled");
752 printf("\n Dual Output Read: %s",
753 (fcba->flcomp & (1 << 12)) ? "enabled" : "disabled");
754 } else {
755 printf("\n Read Clock Frequency: ");
756 decode_spi_frequency((fcba->flcomp >> 17) & 7);
757 }
758
759 switch (ifd_version) {
760 case IFD_VERSION_1:
761 printf("\n Component 2 Density: ");
762 decode_component_density((fcba->flcomp >> 3) & 7);
763 printf("\n Component 1 Density: ");
764 decode_component_density(fcba->flcomp & 7);
765 break;
766 case IFD_VERSION_1_5:
767 case IFD_VERSION_2:
768 printf("\n Component 2 Density: ");
769 decode_component_density((fcba->flcomp >> 4) & 0xf);
770 printf("\n Component 1 Density: ");
771 decode_component_density(fcba->flcomp & 0xf);
772 break;
773 }
774

Callers 1

dump_fdFunction · 0.85

Calls 5

printfFunction · 0.85
decode_espi_frequencyFunction · 0.85
decode_component_densityFunction · 0.85
decode_spi_frequencyFunction · 0.70

Tested by

no test coverage detected