
At present it is possible to show a logo on the display but it requires some board configuration and an image.
This series aims to make this easier, by showing a logo automatically if there is a display but no splash screen.
The logo is embedded in U-Boot and takes approximately 7KB of space.
Some fixes to the sandbox display support are provided, to make it more robust and to allow running tests with different display depths. Support for 8bpp depths is added, to enable more tests.
This series also includes a lot of improvements to BMP (Windows Bitmap) support:
- support for drawing to depths other than 16bpp - tests for the different types of supported BMP images
For theadorable there is a potentially breaking change to consider.
This series also enables a logo to be shown when running coreboot via qemu, providing a script to help with that.
Simon Glass (23): sandbox: video: Support 8bpp depth video: sandbox: Avoid duplicate display windows console: Avoid serial output before the console is running video: sandbox: Set a maximum frame-buffer size sandbox: video: Correct the address of the copy base sandbox: video: Add BMP tests for 32bpp and 8bpp modes video: Expand video debugging buffer size sandbox: Enable support for the gzip command video: Drop fb_put_byte() el at video: Move BMP pixel-writing into a function video: bmp: Update RLE8 support to use the write function video: Drop the uclass colour map video: Tidy up 24/32 BMP blitting video: Add a test for 16bpp BMP files video: theadorable: Use RGB565 for BMP blitting video: Drop #ifdefs from video_bmp video: Convert CONFIG_VIDEO_LOGO to Kconfig video: Drop VIDEO_LOGO from cfb_console video: Support showing the U-Boot logo video: Show the U-Boot logo by default video: Support virtio devices with the splash screen x86: coreboot: Support getting a logo from virtio x86: coreboot: Add a sample script to build a qemu image
.gitattributes | 1 + README | 1 - arch/sandbox/cpu/sdl.c | 98 +++++++- arch/sandbox/include/asm/sdl.h | 7 + arch/sandbox/include/asm/test.h | 18 ++ board/coreboot/coreboot/coreboot.c | 20 +- cmd/unzip.c | 4 +- common/console.c | 6 +- common/splash.c | 2 +- common/splash_source.c | 14 ++ configs/apalis_imx6_defconfig | 1 + configs/aristainetos2c_defconfig | 1 + configs/aristainetos2ccslb_defconfig | 1 + configs/cm_fx6_defconfig | 1 + configs/colibri-imx6ull-emmc_defconfig | 1 + configs/colibri-imx6ull_defconfig | 1 + configs/colibri_imx6_defconfig | 1 + configs/colibri_imx7_defconfig | 1 + configs/colibri_imx7_emmc_defconfig | 1 + configs/colibri_vf_defconfig | 1 + configs/gurnard_defconfig | 1 + configs/gwventana_emmc_defconfig | 1 + configs/gwventana_gw5904_defconfig | 1 + configs/gwventana_nand_defconfig | 1 + configs/imx6dl_icore_nand_defconfig | 1 + configs/imx6q_icore_nand_defconfig | 1 + configs/imx6qdl_icore_mmc_defconfig | 1 + configs/imx6qdl_icore_nand_defconfig | 1 + configs/imxrt1050-evk_defconfig | 1 + configs/m53menlo_defconfig | 1 + configs/marsboard_defconfig | 1 + configs/mx6cuboxi_defconfig | 1 + configs/mx6sabreauto_defconfig | 1 + configs/mx6sabresd_defconfig | 1 + configs/mx6ul_14x14_evk_defconfig | 1 + configs/mx6ul_9x9_evk_defconfig | 1 + configs/novena_defconfig | 1 + configs/opos6uldev_defconfig | 1 + configs/pico-dwarf-imx7d_defconfig | 1 + configs/pico-hobbit-imx7d_defconfig | 1 + configs/pico-imx6_defconfig | 1 + configs/pico-imx6ul_defconfig | 1 + configs/pico-imx7d_bl33_defconfig | 1 + configs/pico-imx7d_defconfig | 1 + configs/pico-nymph-imx7d_defconfig | 1 + configs/pico-pi-imx7d_defconfig | 1 + configs/riotboard_defconfig | 1 + configs/s5p4418_nanopi2_defconfig | 1 + configs/sandbox_defconfig | 2 + configs/sandbox_flattree_defconfig | 2 + configs/tbs2910_defconfig | 1 + configs/wandboard_defconfig | 1 + drivers/video/Kconfig | 11 + drivers/video/Makefile | 3 + drivers/video/cfb_console.c | 325 +------------------------ drivers/video/console_truetype.c | 21 ++ drivers/video/sandbox_sdl.c | 77 +++++- drivers/video/u_boot_logo.bmp | Bin 0 -> 6932 bytes drivers/video/video-uclass.c | 35 +-- drivers/video/video_bmp.c | 249 +++++++++---------- include/configs/T102xRDB.h | 1 - include/configs/T104xRDB.h | 1 - include/configs/apalis_imx6.h | 1 - include/configs/aristainetos2.h | 1 - include/configs/cm_fx6.h | 1 - include/configs/colibri-imx6ull.h | 1 - include/configs/colibri_imx6.h | 1 - include/configs/colibri_imx7.h | 1 - include/configs/colibri_vf.h | 1 - include/configs/coreboot.h | 3 + include/configs/embestmx6boards.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/imx6-engicam.h | 1 - include/configs/imxrt1050-evk.h | 1 - include/configs/ls1021aqds.h | 1 - include/configs/ls1021atwr.h | 1 - include/configs/m53menlo.h | 1 - include/configs/mx23evk.h | 1 - include/configs/mx28evk.h | 1 - include/configs/mx51evk.h | 1 - include/configs/mx53loco.h | 1 - include/configs/mx6cuboxi.h | 1 - include/configs/mx6sabre_common.h | 1 - include/configs/mx6sxsabresd.h | 1 - include/configs/mx6ul_14x14_evk.h | 1 - include/configs/mx7dsabresd.h | 1 - include/configs/nokia_rx51.h | 1 - include/configs/novena.h | 1 - include/configs/opos6uldev.h | 1 - include/configs/pico-imx6.h | 1 - include/configs/pico-imx6ul.h | 1 - include/configs/pico-imx7d.h | 1 - include/configs/pxm2.h | 1 - include/configs/rut.h | 1 - include/configs/s5p4418_nanopi2.h | 2 - include/configs/wandboard.h | 1 - include/configs/x86-common.h | 6 +- include/splash.h | 1 + include/video.h | 4 +- include/virtio.h | 1 + scripts/Makefile.lib | 21 ++ scripts/build-cb.sh | 19 ++ scripts/config_whitelist.txt | 1 - test/dm/video.c | 189 +++++++++++++- tools/logos/denx-16bpp.bmp.gz | Bin 0 -> 4516 bytes tools/logos/denx-24bpp.bmp.gz | Bin 0 -> 7137 bytes 106 files changed, 678 insertions(+), 539 deletions(-) create mode 100644 drivers/video/u_boot_logo.bmp create mode 100755 scripts/build-cb.sh create mode 100644 tools/logos/denx-16bpp.bmp.gz create mode 100644 tools/logos/denx-24bpp.bmp.gz