From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 772EAC433F5 for ; Fri, 19 Nov 2021 20:31:51 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E49C661131 for ; Fri, 19 Nov 2021 20:31:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org E49C661131 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1E65D83433; Fri, 19 Nov 2021 21:31:42 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="bkpDTi5L"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0BEC483744; Fri, 19 Nov 2021 21:24:27 +0100 (CET) Received: from mail-ot1-x32d.google.com (mail-ot1-x32d.google.com [IPv6:2607:f8b0:4864:20::32d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 0222A833E7 for ; Fri, 19 Nov 2021 21:24:17 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sjg@chromium.org Received: by mail-ot1-x32d.google.com with SMTP id a23-20020a9d4717000000b0056c15d6d0caso18435667otf.12 for ; Fri, 19 Nov 2021 12:24:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=r2eU19BxJafUxNVdWPF8hvA/6i6BdIsgd6iy3acsiBE=; b=bkpDTi5LLe/LKaNvWFXso/mJOaHZcWFsS2rqdJH65UgomXaJdo4a6OdpTS95S6vzet 7qKHF/YsjvRUD9TaNK0xqKsMXP5iWb/8t0zIGx6XOxE50i2pfSQwAlqspWQfsBgdIu2x Da32+PsjRwjQxVvBNb7DGDhtewKi48KU+MxYY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=r2eU19BxJafUxNVdWPF8hvA/6i6BdIsgd6iy3acsiBE=; b=NJ/JUx2wd8zXxOQrEr7OYaQtmxrRvZyxRxxzroFHSdUuSRT8GkvhTrmes6xRjAcJ0N Ha2RSjZFWtMYSftVskFv0aXIeF9+fUf9bkfnLqIrm5Jv38YTYSI/HTchI0PCkqMi6Tnv XpwWD+GJ30uMmMZv4CdonQ1FhiCNO4wc68eE7j1ZJjBmtcb0PgYakaSuYOEuTP2pQOxs ohfWuBl4Zbd2H1sAlHWFu+PSRGBuZIaviKP69AYw0jhCkmc3scBolfQlG4aVHi5mB8sI Kl8c74rmKgOX9oZ1HIAdpSH2c/YCG5HUZCORHWGwCvVMf/jphNN9fbaSAicEO2NeLFV7 atXQ== X-Gm-Message-State: AOAM5339fI6einm6muDLWevcEZ+rglP+cuWg5I4VX2/kjOBVTnUyQah2 NHLlE+5kIyPN/66HYZjM18SqjGHEDFMx4Q== X-Google-Smtp-Source: ABdhPJwS930mOu139m14c3QPg0cJr8/UwghDpNU8YIuuvLBwJq36CEOeJqbOzjs1yMqqP4fnr8XQ/g== X-Received: by 2002:a05:6830:3155:: with SMTP id c21mr6957934ots.183.1637353455911; Fri, 19 Nov 2021 12:24:15 -0800 (PST) Received: from kiwi.bld.corp.google.com (c-67-190-101-114.hsd1.co.comcast.net. [67.190.101.114]) by smtp.gmail.com with ESMTPSA id bl33sm197093oib.47.2021.11.19.12.24.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Nov 2021 12:24:15 -0800 (PST) From: Simon Glass To: U-Boot Mailing List Cc: Anatolij Gustschin , Tom Rini , Simon Glass , Adrian Alonso , Alison Wang , Alistair Delva , Alper Nebi Yasak , Andy Shevchenko , Baruch Siach , Bin Meng , =?UTF-8?q?Eric=20B=C3=A9nard?= , Fabio Estevam , Giulio Benetti , Harald Seiler , Heiko Schocher , Heinrich Schuchardt , Jaehoon Chung , Jagan Teki , Jason Liu , Marcel Ziswiler , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Marek Vasut , Nikita Kiryanov , Olaf Mandel , Otavio Salvador , Ovidiu Panait , =?UTF-8?q?Pali=20Roh=C3=A1r?= , Patrice Chotard , Patrick Delaunay , Peng Fan , Priyanka Jain , Rasmus Villemoes , Richard Hu , Rick Chen , Roger Pau Monne , Samuel Egli , Sean Anderson , Soeren Moch , Stefan Bosch , Stefan Reinauer , Stefan Roese , Stefano Babic , Steffen Jaeckel , =?UTF-8?q?S=C3=A9bastien=20Szymanski?= , Tero Kristo , Tim Harvey , Vadim Bendebury , Vanessa Maegima , uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH 00/23] video: Support a U-Boot logo more easily Date: Fri, 19 Nov 2021 13:23:44 -0700 Message-Id: <20211119202408.1815506-1-sjg@chromium.org> X-Mailer: git-send-email 2.34.0.rc2.393.gf8c9666880-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Fri, 19 Nov 2021 21:31:36 +0100 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.37 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean 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