[PATCH 00/23] video: Support a U-Boot logo more easily

Simon Glass sjg at chromium.org
Fri Nov 19 21:23:44 CET 2021


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

-- 
2.34.0.rc2.393.gf8c9666880-goog



More information about the U-Boot mailing list