diff options
author | Shelley Chen <shchen@google.com> | 2024-01-03 14:00:07 -0800 |
---|---|---|
committer | Subrata Banik <subratabanik@google.com> | 2024-01-11 03:54:42 +0000 |
commit | fddf9162a3f82ab6da5b29d3bf88b1d46b04f56d (patch) | |
tree | e97aed9aaf84b0a974b2bd201c0bb85f86bc9371 /src/lib/bmp_logo.c | |
parent | 4f24c354eafa4ec6654df40c896ce2a5f32b5587 (diff) |
vc/google: Show different logos for different ChromeOS devices
This commit adds support for showing different logos on the ChromeOS
firmware splash screen based on the device model (between
Chromebook-Plus and regular ChromeOS devices like Chromebook and
Chromebox). This allows OEMs to customize the branding on their
devices.
This patch also introduces three new Kconfigs:
- CHROMEOS_FW_SPLASH_SCREEN
- CHROMEOS_LOGO_PATH
- CHROMEBOOK_PLUS_LOGO_PATH
which allow users to enable the fw splash screen feature in the
vendorcode. Previously, we were using the BMP_LOGO Kconfig in
drivers/intel/fsp2_0, but we didn't want the top level Kconfigs to be
located inside the architecture specific files.
BUG=b:317880956
BRANCH=None
TEST=emerge-rex coreboot chromeos-bootimage
verify that FW splash screen appears
Change-Id: I56613d1e7e81e25b31ad034edae0f716c94c4960
Signed-off-by: Shelley Chen <shchen@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79775
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Diffstat (limited to 'src/lib/bmp_logo.c')
-rw-r--r-- | src/lib/bmp_logo.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/bmp_logo.c b/src/lib/bmp_logo.c index 330ed6fff4..288877780a 100644 --- a/src/lib/bmp_logo.c +++ b/src/lib/bmp_logo.c @@ -5,9 +5,17 @@ #include <cbfs.h> #include <cbmem.h> #include <stdint.h> +#include <vendorcode/google/chromeos/chromeos.h> static const struct cbmem_entry *logo_entry; +#if !CONFIG(HAVE_CUSTOM_BMP_LOGO) +const char *bmp_logo_filename(void) +{ + return "logo.bmp"; +} +#endif + void bmp_load_logo(uint32_t *logo_ptr, uint32_t *logo_size) { void *logo_buffer; @@ -24,7 +32,7 @@ void bmp_load_logo(uint32_t *logo_ptr, uint32_t *logo_size) if (!logo_buffer) return; - *logo_size = cbfs_load("logo.bmp", logo_buffer, 1 * MiB); + *logo_size = cbfs_load(bmp_logo_filename(), logo_buffer, 1 * MiB); if (*logo_size) *logo_ptr = (uintptr_t)logo_buffer; } |