coreboot/src/drivers/intel
Subrata Banik 78d15d9a12 drivers/intel/fsp2_0: Add Kconfig to select FSP for BMP rendering
This patch introduces `USE_COREBOOT_FOR_BMP_RENDERING`, a Kconfig option
allowing platforms to choose coreboot to use its native bitmap (BMP)
logo image rendering and skip using the FSP for this purpose during
the boot process.

By default this option is disabled (default 'n'), therefore, the FSP
is utilized for displaying the BMP logo by populating the necessary
FSP UPD parameters.

Select this option for platforms that will use a coreboot native
implementation for BMP rendering (note: the native coreboot rendering
path is still under development/to be implemented).

This Kconfig provides the switch for such future integration.

Key changes:
- A new boolean Kconfig `USE_COREBOOT_FOR_BMP_RENDERING` is added under
  `drivers/intel/fsp2_0/Kconfig`. It depends on `BMP_LOGO` and
  defaults to 'n'.
- The help text clarifies that selecting this option will skip FSP-based
  BMP rendering. Deselection implies a fallback to the FSP based
  implementation.
- The function `soc_load_logo`, previously responsible for populating
  FSP UPD parameters for the logo, is renamed to `soc_load_logo_by_fsp`.
  This clarifies its role is specific to FSP-driven logo display.
- The call to `soc_load_logo_by_fsp` in `fsp2_0/silicon_init.c` is
  now conditional on `CONFIG(BMP_LOGO)` being enabled but the new
  `CONFIG(USE_COREBOOT_FOR_BMP_RENDERING)` remains disabled.
- Implementations and calls to the renamed function are updated across
  relevant SoC directories (AMD Mendocino, Intel Alder Lake, Apollolake,
  Cannon Lake, Meteor Lake, Panther Lake, Skylake).

This change offers platforms greater flexibility in managing BMP logo
display, allowing them to either leverage FSP capabilities or integrate
with coreboot's native methods as they become available.

BUG=b:409718202
TEST=Built and booted google/fatcat. Verified boot splash was rendered
by FSP as `USE_COREBOOT_FOR_BMP_RENDERING` was set to `n`.

Change-Id: Ieda085df02263b9bf4bdd8f5d0e2137bef75def9
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/87513
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
2025-05-08 16:51:25 +00:00
..
dptf drivers/intel/dptf: Suppress unnecessary static function 2025-01-24 06:29:51 +00:00
fsp1_1 {drivers, lib}: Move BMP_LOGO Kconfig options to common library 2025-03-06 19:02:22 +00:00
fsp2_0 drivers/intel/fsp2_0: Add Kconfig to select FSP for BMP rendering 2025-05-08 16:51:25 +00:00
gma drivers/intel/gma: Drop unused MAILBOXES_DESKTOP 2025-02-06 09:18:25 +00:00
i210 drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
ish soc/intel: Add Wildcat Lake CPU and PCIe device IDs 2025-04-23 20:59:41 +00:00
mipi_camera drivers/intel/mipi_camera: Rework info print output 2025-04-21 17:01:15 +00:00
pmc_mux tree: Use <stdio.h> for snprintf 2024-05-29 10:33:54 +00:00
ptt drivers: Add SPDX license headers to Kconfig files 2024-02-18 01:59:32 +00:00
soundwire tree: Drop duplicated <device/{path,resource}.h> 2024-04-12 04:24:20 +00:00
touch soc/intel: Add Wildcat Lake CPU and PCIe device IDs 2025-04-23 20:59:41 +00:00
usb4/retimer drivers/intel/usb4: Move log message from SoC code to driver code 2025-03-10 15:24:19 +00:00