coreboot/src/include
Kapil Porwal 9a8ba5b39a {lib, drivers/intel}: Move BMP rendering logic out of SoC code
This patch refactors the BMP rendering logic, moving it from
drivers/intel/fsp2_0 to src/lib. This centralizes the code
responsible for rendering BMP images to the framebuffer.

Key changes:
- Move BMP rendering functions (e.g., calculate_logo_coordinates,
  copy_logo_to_framebuffer) and their dependencies to
  src/lib/render_bmp.c and src/lib/render_bmp.h.
- Decouple BMP definitions from UEFI headers by introducing new
  coreboot-specific structures for BMP images and BLT pixels.
- Consolidate bootsplash-related declarations into bootsplash.h,
  including new `fw_splash_vertical_alignment`,
  `fw_splash_horizontal_alignment`, and `struct logo_config`.
- Update `soc_load_logo_by_coreboot` to use the new common
  `load_and_render_logo_to_framebuffer` function and `struct
  logo_config` for rendering.
- Relocate `release_logo` to `src/lib/render_bmp.c` for better
  module structure.
- Update `src/lib/Makefile.mk` to include the new render_bmp.c.

This refactoring improves code organization and reusability, making
BMP rendering accessible without tight coupling to Intel-specific
driver code.

BUG=b:427387842
TEST=Verify firmware splash screen on google/fatcat.

Change-Id: I0e20ea7e44b4b3ccdb2d4aa9b6aa10ed3447ccfc
Signed-off-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/88361
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-07-23 17:11:10 +00:00
..
acpi acpi/acpi.h: Use boolean 2025-07-01 15:08:32 +00:00
arch-generic soc/amd/common/psp_verstage: Remove arch/io.h 2025-04-02 16:03:34 +00:00
boot drivers/option: Add forms in cbtables 2024-12-18 18:16:51 +00:00
console include/console: Add CFR object for setting the logging level 2025-05-02 13:59:14 +00:00
cpu soc/intel/pantherlake: Add new PCI and CPU IDs 2025-06-23 16:29:49 +00:00
device soc/intel/pantherlake: Add new MCH ID for Wildcat Lake 2025-07-04 13:17:15 +00:00
efi efi: Set EFIAPI to 32-bit ABI for FSP1_1 2024-09-20 23:25:30 +00:00
mipi drivers/soundwire: Support Realtek ALC712 codec 2025-04-10 04:35:21 +00:00
pc80 drivers/pc80/pc/keyboard.c: Add function to change a command byte bit 2025-01-22 20:45:37 +00:00
smp include/smp/node: Drop unused is_smp_boot 2025-07-01 15:08:52 +00:00
superio
sys
adainit.h
asan.h
assert.h
b64_decode.h
base3.h
boardid.h
boot_device.h
bootblock_common.h
bootmem.h
bootmode.h
bootsplash.h {lib, drivers/intel}: Move BMP rendering logic out of SoC code 2025-07-23 17:11:10 +00:00
bootstate.h tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
cbfs.h cbfs: Add a function to wait for all CBFS preload operations to complete 2025-07-21 13:45:12 +00:00
cbfs_glue.h
cbmem.h cbmem.h: Change return type of cbmem_get_region 2024-08-29 13:58:21 +00:00
cper.h
crc_byte.h lib/crc_byte: Parenthesize buffer address in CRC macro 2025-01-23 23:00:53 +00:00
ctype.h
delay.h
dimm_info_util.h
dp_aux.h
edid.h
elog.h
endian.h include/endian.h: Add 'always aligned access' support 2025-03-28 20:28:34 +00:00
espi.h
fallback.h
fit.h treewide: Move device_tree to commonlib 2024-06-22 04:02:04 +00:00
fmap.h include/fmap.h: Require FMAP_SECTION_FLASH_START == 0 2025-04-18 14:56:59 +00:00
framebuffer_info.h drivers/intel/gma: Fix mismatching types for fb_add_framebuffer_info 2024-09-02 09:33:59 +00:00
fw_config.h
gpio.h
halt.h
identity.h
imd.h
imd_private.h
input-event-codes.h include/input-event-codes.h: Update to latest HID tree 2024-06-21 16:46:04 +00:00
inttypes.h
kconfig.h
lib.h
limits.h
main_decl.h
memlayout.h
memory_info.h
memrange.h
metadata_hash.h
mrc_cache.h
mtcl.h
nhlt.h
option.h drivers/option: Add CBFS file based option backend 2025-01-22 03:25:40 +00:00
post.h
program_loading.h
ramdetect.h
random.h
reg_script.h
region_file.h
reset.h lib: Introduce early power off support Kconfig option 2025-02-15 18:59:11 +00:00
rmodule.h tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
romstage_common.h
romstage_handoff.h
rtc.h
rules.h soc/amd/common/block/cpu/noncar: Move BSS and DATA out of PT_LOAD 2025-07-18 16:50:07 +00:00
sar.h drivers/wifi: Update Drive Strength BRI Rsp Table revision 2024-12-17 17:27:54 +00:00
sdram_mode.h
smbios.h arch/x86/smbios: Enhance processor characteristics detection 2025-03-21 15:05:41 +00:00
smmstore.h drivers/smmstore: Support 64-bit MMIO addresses 2025-05-08 22:28:16 +00:00
spd.h include/spd.h: Add SPD_MEMORY_TYPE_LPDDR3_INTEL into spd_memory_type 2024-05-09 11:24:40 +00:00
spd_bin.h spd_bin.h: Deduplicate SPD definitions 2025-03-16 05:25:07 +00:00
spd_cache.h
spi-generic.h drivers/spi: add Numonyx and Micron names to STMicro case 2024-10-09 18:09:42 +00:00
spi_bitbang.h
spi_flash.h drivers/spi: add RPMC support 2024-12-03 17:40:39 +00:00
spi_sdcard.h
stage_cache.h
stdarg.h tree: Remove unused <stdarg.h> 2024-05-28 03:22:34 +00:00
stdbool.h include/stdbool: Don't unconditionally typedef bool 2024-09-25 01:05:32 +00:00
stddef.h stddef.h: Introduce nullptr constant 2024-10-03 02:05:44 +00:00
stdint.h
stdio.h tree: Use <stdio.h> for snprintf 2024-05-29 10:33:54 +00:00
stdlib.h
string.h commonlib/bsd: Add strlen() and strnlen() functions 2024-08-14 03:09:03 +00:00
swab.h
symbols.h arch/x86: Add breakpoint to stack canary 2024-12-10 08:47:52 +00:00
thread.h
timer.h
timestamp.h
types.h src/include: Introduce a new BIT_FLAG_32(x) macro 2024-09-04 18:31:25 +00:00
uuid.h
ux_locales.h lib: Add low battery UX locale message 2025-02-15 18:58:48 +00:00
vbe.h
version.h
watchdog.h
wrdd.h
xxhash.h