@@ -215,6 +215,10 @@ static int multiboot_ui_set_props(struct udevice *dev, struct scene *scn,
scene_obj_set_hide(scn, OBJ_AUTOBOOT, !lpriv->opt_autoboot);
if (upriv->logo) {
+ ret = scene_img_set_data(scn, OBJ_U_BOOT_LOGO, upriv->logo,
+ upriv->logo_size);
+ if (ret)
+ return log_msg_ret("log", ret);
ret = scene_obj_set_pos(scn, OBJ_U_BOOT_LOGO, 1045, 10);
if (ret)
return log_msg_ret("lop", ret);
@@ -92,8 +92,11 @@ static int simple_ui_show(struct udevice *dev)
abuf_printf(buf, "Boot control");
if (upriv->logo) {
- ret = scene_img_set_data(scn, OBJ_U_BOOT_LOGO,
- upriv->logo, upriv->logo_size);
+ const void *logo;
+ int size;
+
+ logo = video_get_u_boot_logo(&size);
+ ret = scene_img_set_data(scn, OBJ_U_BOOT_LOGO, logo, size);
if (ret)
return log_msg_ret("log", ret);
ret = scene_obj_set_pos(scn, OBJ_U_BOOT_LOGO, 1135, 10);
@@ -80,9 +80,18 @@ int bootflow_menu_set_props(struct expo *exp, struct scene *scn, bool has_logo,
1366, 60);
ret |= scene_obj_set_halign(scn, OBJ_MENU_TITLE, SCENEOA_CENTRE);
- if (has_logo)
+ if (has_logo) {
+ const void *logo;
+ int size;
+
ret |= scene_obj_set_pos(scn, OBJ_U_BOOT_LOGO, 1165, 100);
+ logo = video_get_u_boot_logo(&size);
+ ret |= scene_img_set_data(scn, OBJ_U_BOOT_LOGO, logo, size);
+ if (ret)
+ return log_msg_ret("log", ret);
+ }
+
ret |= scene_obj_set_bbox(scn, OBJ_PROMPT1A, 0, 590,
1366, 590 + 40);
ret |= scene_obj_set_bbox(scn, OBJ_PROMPT1B, 0, 620,
@@ -120,6 +120,9 @@
"bootctl,ui";
graphical = "if-available";
textual = "if-available";
+#ifdef CANONICAL_LOGO
+ logo = /incbin/("/home/sglass/u/boot/bootctl/canonical.bmp");
+#endif
};
ui-simple {
@@ -396,7 +396,7 @@ static int check_multiboot_ui(struct unit_test_state *uts,
ut_assertok(bc_ui_add(ui_dev, &info[0]));
ut_assertok(bc_ui_add(ui_dev, &info[1]));
ut_assertok(bc_ui_render(ui_dev));
- ut_asserteq(16645, video_compress_fb(uts, vid_dev, false));
+ ut_asserteq(13702, video_compress_fb(uts, vid_dev, false));
/* dump after render - buf2 is golden for multiboot_ui */
uc_priv = dev_get_uclass_priv(ui_dev);
@@ -435,7 +435,7 @@ static int check_multiboot_ui(struct unit_test_state *uts,
/* switch back to multiboot UI style and check against buf2 */
ut_assertok(bc_ui_switch_layout(ui_dev));
ut_assertok(bc_ui_render(ui_dev));
- ut_asserteq(16645, video_compress_fb(uts, vid_dev, false));
+ ut_asserteq(13702, video_compress_fb(uts, vid_dev, false));
/* dump after switch back to multiboot - buf4 should match buf2 */
ut_assertok(membuf_new(&buf4, 4096));