From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: None (no SPF record) identity=mailfrom; client-ip=2a00:1450:4864:20::543; helo=mail-ed1-x543.google.com; envelope-from=pete@akeo.ie; receiver=edk2-devel@lists.01.org Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A99A32194D387 for ; Tue, 5 Feb 2019 08:26:48 -0800 (PST) Received: by mail-ed1-x543.google.com with SMTP id f9so3330075eds.10 for ; Tue, 05 Feb 2019 08:26:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akeo-ie.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/4HH9hYh/E2gR5pos1S07xEE0fElp9t1hDM5out7Dww=; b=A4G5FTu3j8kUucmTiDq1nqLzBJZyQAKuThYT1DzywHRY6AQyKYRZQZepXO16WL9xxZ 197FSmbtoaEgPED2efgDf9RetNJ1weYJQPUJt/bFItVweWyBM7KnmGILxkHMIrb07SPu KSluEhWTJ3nyGJouaViBc1ef4IfjWvOgrfwJOMKVBT5NV589+qJqBPcvm4w0CT3Vt+e4 u9EDRtpyMlQb6/g5NL+KrpT20HSUClQu1PxVMw40gjD8/U9A3Fp9Abhob2J3nBWtCWaF RIrb9PSsv/m2SpZE4k7waEWYICXGtAf+16lmK0l09iV8sVS8MevCEhQU3HVbtYCOCFrH u7HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/4HH9hYh/E2gR5pos1S07xEE0fElp9t1hDM5out7Dww=; b=OQXGmaiSHYLIdjxsCXydTc8ko7eHuv1u9xsYWAeox0ilzjiFXDNDhTzZFyUAIzAPkB lNLiS6eLl1j6BWg2QZ0Uzp5V/GKUtHJEVcw6aRhqSKDYk574TkcCPyjaHvezG56oE/jn if/+2ENA9/VLWuPU2X2bRCphOrf21lO/js2bUw9LxirlGVgINsWngZ2uvh80fJiEj+uD zESMUvQKvQ38oySOfBNwDFdgWHiWl2FZzR+4Y108qm4BqGV0UF4yfoyOYs3hFXATCYZz wM1N55Ppjn7SoF5LONeqhYdYPWzzFHWFAMDY1B4t9Z8P5a132vYcbwbMV4AsZDxHXXtf 0dMA== X-Gm-Message-State: AHQUAuavxQnSJ2N7CMvoha8swc/l4f8ilV09XJ9SRXkN+y/iUjd7+WDB ZCZUM/tqPov1q6voKw1hLkD2C9rcgo8= X-Google-Smtp-Source: AHgI3IY7dvTaUo9BjmJOo0e/gwlvQtnV4LouC9oAi7ofrpSWD2yzlM+F4Pyq9usyuLIl7nXeD7V+Ug== X-Received: by 2002:a17:906:66db:: with SMTP id k27mr4107159ejp.50.1549384004634; Tue, 05 Feb 2019 08:26:44 -0800 (PST) Received: from localhost.localdomain ([84.203.58.139]) by smtp.gmail.com with ESMTPSA id j16sm3191430ejq.59.2019.02.05.08.26.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 08:26:43 -0800 (PST) From: Pete Batard To: edk2-devel@lists.01.org Date: Tue, 5 Feb 2019 16:25:35 +0000 Message-Id: <20190205162537.6472-21-pete@akeo.ie> X-Mailer: git-send-email 2.17.0.windows.1 In-Reply-To: <20190205162537.6472-1-pete@akeo.ie> References: <20190205162537.6472-1-pete@akeo.ie> Subject: [PATCH v5 edk2-platforms 20/22] Platform/RaspberryPi/RPi3 *NON-OSI*: Add logo driver X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Feb 2019 16:26:49 -0000 X-List-Received-Date: Tue, 05 Feb 2019 16:26:49 -0000 X-List-Received-Date: Tue, 05 Feb 2019 16:26:49 -0000 X-List-Received-Date: Tue, 05 Feb 2019 16:26:49 -0000 X-List-Received-Date: Tue, 05 Feb 2019 16:26:49 -0000 Displays a custom logo during early boot. This custom logo was graciously provided by the Raspberry Pi foundation. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Pete Batard --- Platform/RaspberryPi/RPi3/Drivers/LogoDxe/License.txt | 10 ++ Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.bmp | Bin 0 -> 185398 bytes Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.c | 159 ++++++++++++++++++++ Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.eps | Bin 0 -> 250982 bytes Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.idf | 18 +++ Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.inf | 34 +++++ Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.uni | 20 +++ Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe.inf | 63 ++++++++ Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe.uni | 19 +++ Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxeExtra.uni | 19 +++ Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoExtra.uni | 19 +++ 11 files changed, 361 insertions(+) diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/License.txt b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/License.txt new file mode 100644 index 000000000000..9370146336be --- /dev/null +++ b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/License.txt @@ -0,0 +1,10 @@ +The source code in this directory is licensed under the standard EDK2 terms. + +On the other hand, the Raspberry Pi logo binary (.bmp, .eps) is subject to the +licensing terms and conditions put forward by the Raspberry Pi Foundation at: +- https://www.raspberrypi.org/trademark-rules/ +- https://static.raspberrypi.org/files/Raspberry_Pi_Visual_Guidelines_2018.pdf + +While the logo was obtained and is being used with kind permission from the +Raspberry Pi Foundation, it needs to be noted that this project is not +officially endorsed by the Foundation. diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.bmp b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.bmp new file mode 100644 index 0000000000000000000000000000000000000000..674356fe0b1b12c60ef485d27cb4a659eafe3485 GIT binary patch literal 185398 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 Ll>0Db8uR}EsF|n^ literal 0 HcmV?d00001 diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.c b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.c new file mode 100644 index 000000000000..bb287b339b3b --- /dev/null +++ b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.c @@ -0,0 +1,159 @@ +/** @file + Logo DXE Driver, install Edkii Platform Logo protocol. + +Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.
+This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ +#include +#include +#include +#include +#include +#include +#include +#include + +typedef struct { + EFI_IMAGE_ID ImageId; + EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE Attribute; + INTN OffsetX; + INTN OffsetY; +} LOGO_ENTRY; + +EFI_HII_IMAGE_EX_PROTOCOL *mHiiImageEx; +EFI_HII_HANDLE mHiiHandle; +LOGO_ENTRY mLogos[] = { + { + IMAGE_TOKEN (IMG_LOGO), + EdkiiPlatformLogoDisplayAttributeCenter, + 0, + 0 + } +}; + +/** + Load a platform logo image and return its data and attributes. + + @param This The pointer to this protocol instance. + @param Instance The visible image instance is found. + @param Image Points to the image. + @param Attribute The display attributes of the image returned. + @param OffsetX The X offset of the image regarding the Attribute. + @param OffsetY The Y offset of the image regarding the Attribute. + + @retval EFI_SUCCESS The image was fetched successfully. + @retval EFI_NOT_FOUND The specified image could not be found. +**/ +EFI_STATUS +EFIAPI +GetImage ( + IN EDKII_PLATFORM_LOGO_PROTOCOL *This, + IN OUT UINT32 *Instance, + OUT EFI_IMAGE_INPUT *Image, + OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute, + OUT INTN *OffsetX, + OUT INTN *OffsetY + ) +{ + UINT32 Current; + if (Instance == NULL || Image == NULL || + Attribute == NULL || OffsetX == NULL || OffsetY == NULL) { + return EFI_INVALID_PARAMETER; + } + + Current = *Instance; + if (Current >= ARRAY_SIZE (mLogos)) { + return EFI_NOT_FOUND; + } + + (*Instance)++; + *Attribute = mLogos[Current].Attribute; + *OffsetX = mLogos[Current].OffsetX; + *OffsetY = mLogos[Current].OffsetY; + return mHiiImageEx->GetImageEx (mHiiImageEx, mHiiHandle, mLogos[Current].ImageId, Image); +} + +EDKII_PLATFORM_LOGO_PROTOCOL mPlatformLogo = { + GetImage +}; + +/** + Entrypoint of this module. + + This function is the entrypoint of this module. It installs the Edkii + Platform Logo protocol. + + @param ImageHandle The firmware allocated handle for the EFI image. + @param SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + +**/ +EFI_STATUS +EFIAPI +InitializeLogo ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + EFI_HII_PACKAGE_LIST_HEADER *PackageList; + EFI_HII_DATABASE_PROTOCOL *HiiDatabase; + EFI_HANDLE Handle; + + Status = gBS->LocateProtocol ( + &gEfiHiiDatabaseProtocolGuid, + NULL, + (VOID**) &HiiDatabase + ); + ASSERT_EFI_ERROR (Status); + + Status = gBS->LocateProtocol ( + &gEfiHiiImageExProtocolGuid, + NULL, + (VOID**) &mHiiImageEx + ); + ASSERT_EFI_ERROR (Status); + + // + // Retrieve HII package list from ImageHandle + // + Status = gBS->OpenProtocol ( + ImageHandle, + &gEfiHiiPackageListProtocolGuid, + (VOID**)&PackageList, + ImageHandle, + NULL, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "HII Image Package with logo not found in PE/COFF resource section\n")); + return Status; + } + + // + // Publish HII package list to HII Database. + // + Status = HiiDatabase->NewPackageList ( + HiiDatabase, + PackageList, + NULL, + &mHiiHandle + ); + if (!EFI_ERROR (Status)) { + Handle = NULL; + Status = gBS->InstallMultipleProtocolInterfaces ( + &Handle, + &gEdkiiPlatformLogoProtocolGuid, &mPlatformLogo, + NULL + ); + } + return Status; +} diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.eps b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.eps new file mode 100644 index 0000000000000000000000000000000000000000..f40df6b0149a9b45e2b86a42e074a11c7bce6796 GIT binary patch literal 250982 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 PPKas%y!4z5ke~kpwvJ^n literal 0 HcmV?d00001 diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.idf b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.idf new file mode 100644 index 000000000000..f4c39b78c436 --- /dev/null +++ b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.idf @@ -0,0 +1,18 @@ +// /** @file +// Platform Logo image definition file. +// +// Console Platfrom DXE Driver that specifies whether device can be used as console +// input/output device or error output device and update global variables accordingly. +// +// Copyright (c) 2016, Intel Corporation. All rights reserved.
+// +// This program and the accompanying materials +// are licensed and made available under the terms and conditions of the BSD License +// which accompanies this distribution. The full text of the license may be found at +// http://opensource.org/licenses/bsd-license.php +// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// +// **/ + +#image IMG_LOGO Logo.bmp diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.inf b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.inf new file mode 100644 index 000000000000..8bb82f3223b3 --- /dev/null +++ b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.inf @@ -0,0 +1,34 @@ +## @file +# The default logo bitmap picture shown on setup screen, which is corresponding to gEfiDefaultBmpLogoGuid. +# +# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +## + +[Defines] + INF_VERSION = 0x0001001A + BASE_NAME = Logo + MODULE_UNI_FILE = Logo.uni + FILE_GUID = 7BB28B99-61BB-11D5-9A5D-0090273FC14D + MODULE_TYPE = USER_DEFINED + VERSION_STRING = 1.0 + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64 +# + +[Binaries] + BIN|Logo.bmp|* + +[UserExtensions.TianoCore."ExtraFiles"] + LogoExtra.uni diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.uni b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.uni new file mode 100644 index 000000000000..d21b336446bf --- /dev/null +++ b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/Logo.uni @@ -0,0 +1,20 @@ +// /** @file +// The default logo bitmap picture shown on setup screen, which is corresponding to gEfiDefaultBmpLogoGuid. +// +// This module provides the default logo bitmap picture shown on setup screen, which corresponds to gEfiDefaultBmpLogoGuid. +// +// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+// +// This program and the accompanying materials +// are licensed and made available under the terms and conditions of the BSD License +// which accompanies this distribution. The full text of the license may be found at +// http://opensource.org/licenses/bsd-license.php +// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// +// **/ + + +#string STR_MODULE_ABSTRACT #language en-US "Provides the default logo bitmap picture shown on setup screen, which corresponds to gEfiDefaultBmpLogoGuid" + +#string STR_MODULE_DESCRIPTION #language en-US "This module provides the default logo bitmap picture shown on setup screen, which corresponds to gEfiDefaultBmpLogoGuid." diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe.inf b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe.inf new file mode 100644 index 000000000000..ca4cadec5ca8 --- /dev/null +++ b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe.inf @@ -0,0 +1,63 @@ +#/** @file +# +# The default logo bitmap picture shown on setup screen. +# +# Copyright (c) 2016-2017, Intel Corporation. All rights reserved. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR +# IMPLIED. +# +#**/ + +[Defines] + INF_VERSION = 0x0001001A + BASE_NAME = LogoDxe + MODULE_UNI_FILE = LogoDxe.uni + FILE_GUID = F74D20EE-37E7-48FC-97F7-9B1047749C69 + MODULE_TYPE = DXE_DRIVER + VERSION_STRING = 1.0 + + ENTRY_POINT = InitializeLogo +# +# This flag specifies whether HII resource section is generated into PE image. +# + UEFI_HII_RESOURCE_SECTION = TRUE + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = AARCH64 +# + +[Sources] + Logo.bmp + Logo.c + Logo.idf + +[Packages] + MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec + +[LibraryClasses] + UefiBootServicesTableLib + UefiDriverEntryPoint + DebugLib + +[Protocols] + gEfiHiiDatabaseProtocolGuid ## CONSUMES + gEfiHiiImageExProtocolGuid ## CONSUMES + gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES + gEdkiiPlatformLogoProtocolGuid ## PRODUCES + +[Depex] + gEfiHiiDatabaseProtocolGuid AND + gEfiHiiImageExProtocolGuid + +[UserExtensions.TianoCore."ExtraFiles"] + LogoDxeExtra.uni diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe.uni b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe.uni new file mode 100644 index 000000000000..fe1637534332 --- /dev/null +++ b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe.uni @@ -0,0 +1,19 @@ +/** @file + * + * The default logo bitmap picture shown on setup screen. + * + * Copyright (c) 2016, Intel Corporation. All rights reserved. + * + * This program and the accompanying materials + * are licensed and made available under the terms and conditions of the BSD License + * which accompanies this distribution. The full text of the license may be found at + * http://opensource.org/licenses/bsd-license.php + * + * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + * + **/ + +#string STR_MODULE_ABSTRACT #language en-US "Provides the default logo bitmap picture shown on setup screen." + +#string STR_MODULE_DESCRIPTION #language en-US "This module provides the default logo bitmap picture shown on setup screen, through EDKII Platform Logo protocol." diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxeExtra.uni b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxeExtra.uni new file mode 100644 index 000000000000..d8815b2dac56 --- /dev/null +++ b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxeExtra.uni @@ -0,0 +1,19 @@ +/** @file + * + * Logo Localized Strings and Content + * + * Copyright (c) 2016, Intel Corporation. All rights reserved. + * + * This program and the accompanying materials + * are licensed and made available under the terms and conditions of the BSD License + * which accompanies this distribution. The full text of the license may be found at + * http://opensource.org/licenses/bsd-license.php + * + * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + * + **/ + +#string STR_PROPERTIES_MODULE_NAME +#language en-US +"Logo Image File" diff --git a/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoExtra.uni b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoExtra.uni new file mode 100644 index 000000000000..4f177586266a --- /dev/null +++ b/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoExtra.uni @@ -0,0 +1,19 @@ +/** @file + * + * Logo Localized Strings and Content + * + * Copyright (c) 2013-2014, Intel Corporation. All rights reserved. + * + * This program and the accompanying materials + * are licensed and made available under the terms and conditions of the BSD License + * which accompanies this distribution. The full text of the license may be found at + * http://opensource.org/licenses/bsd-license.php + * + * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + * + **/ + +#string STR_PROPERTIES_MODULE_NAME +#language en-US +"Logo Image File" -- 2.17.0.windows.1