From nobody Fri May 9 19:25:44 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1534421631163327.269617108047; Thu, 16 Aug 2018 05:13:51 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id CC611210F375D; Thu, 16 Aug 2018 05:13:45 -0700 (PDT) Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) (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 5541C210F375D for ; Thu, 16 Aug 2018 05:13:44 -0700 (PDT) Received: by mail-pf1-x435.google.com with SMTP id j26-v6so1941669pfi.10 for ; Thu, 16 Aug 2018 05:13:44 -0700 (PDT) Received: from localhost.localdomain ([120.31.149.194]) by smtp.gmail.com with ESMTPSA id j27-v6sm46736311pfj.91.2018.08.16.05.13.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 16 Aug 2018 05:13:42 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4864:20::435; helo=mail-pf1-x435.google.com; envelope-from=ming.huang@linaro.org; receiver=edk2-devel@lists.01.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=fAE8KN8Df6KOVu2QhxXO/gVwqdvqNcGH/IbrKuIVguw=; b=MYjN4rxTcTefiP4JZaWfRAOqs+zCE6q+zmnS4Y7GFtyKz2ZSl5qbDR+6Smm+Tyh+U8 ui9+f/JGV7D97RGWWjUJwLC9Ky2Rx3un2P32vpznXo0Q/11fIFYDQ4NQlt0aemhAzTlX c/4+akZkt8t8RKpPs/wSEPy0zYfzX5Jw7rnfA= 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=fAE8KN8Df6KOVu2QhxXO/gVwqdvqNcGH/IbrKuIVguw=; b=KLeErLSU+/IIFomqAUB259mZ+aoNMwoQucETeq7xOQNoeqbUIz2HlGRen8vLpESniD da8+PwhHdm+kCZuKGHg5Gz+30z1JK7k7DNARrmO3Sw+FOLuOG0Y0QbHVFcSqOWyrUANs SW3iNJCeI4ZMwjffATZW4xA5M7dlha7HiPi1kkXSPfOsdJaAvA+PuSMXknUooUA1/D6k l28OAGMPc7gaVqKNFbKKtRsTiNGnx3ruLEqCGvN1yuO7lJe1YZvuF23eHU0lHCCTfJog yyfuyrYyuqODUwo8tbc/x66goVmLMfAI0AjGP3y8RjddS/HqY6LNMBLVv/GpWdFOr4BK KWlw== X-Gm-Message-State: AOUpUlEZnxYfL2jUXJQEIT+m+FE9hgvcc5X3bdkvJ/9iOlIpjef91KcS ZL8b1cJFby9M4QgfFgMG9eehDg== X-Google-Smtp-Source: AA+uWPyb3yRYyDMnHUJkkiZcXE0rtaKOn/DWpWf096WFlX/h/GzxistSsV+k9jaWP1EeXpqKOWxb4A== X-Received: by 2002:a62:3a5b:: with SMTP id h88-v6mr32089319pfa.61.1534421622831; Thu, 16 Aug 2018 05:13:42 -0700 (PDT) From: Ming Huang To: leif.lindholm@linaro.org, linaro-uefi@lists.linaro.org, edk2-devel@lists.01.org, graeme.gregory@linaro.org Date: Thu, 16 Aug 2018 20:12:14 +0800 Message-Id: <20180816121239.44129-12-ming.huang@linaro.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180816121239.44129-1-ming.huang@linaro.org> References: <20180816121239.44129-1-ming.huang@linaro.org> Subject: [edk2] [PATCH edk2-platforms v3 11/36] Hisilicon/D06: Add Hi1620OemConfigUiLib X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: huangming23@huawei.com, xinliang.liu@linaro.org, john.garry@huawei.com, zhangjinsong2@huawei.com, guoheyi@huawei.com, Yang XinYi , huangdaode@hisilicon.com, michael.d.kinney@intel.com, lersek@redhat.com, wanghuiqiang@huawei.com MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDMRC_1 RDKM_2 RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Yang XinYi This library is added for oem setup menu item. Setup item include: 1 DDR option item; 2 BMC option item; 3 Ras option item; 4 Misc option item; Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yang XinYi --- Silicon/Hisilicon/HisiPkg.dec | = 1 + Platform/Hisilicon/D06/D06.dsc | = 5 +- Silicon/Hisilicon/Drivers/HisiAcpiPlatformDxe/AcpiPlatformDxe.inf | = 2 +- Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLib.inf | = 68 ++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.h | = 142 ++++++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUi.h | = 64 ++++ Silicon/Hisilicon/Include/Library/OemConfigData.h | = 84 +++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c | = 363 ++++++++++++++++++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MemoryConfig.hfr | = 154 +++++++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MemoryConfig.uni | = 103 ++++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MiscConfig.hfr | = 41 +++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MiscConfig.uni | = 27 ++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLib.uni | = 24 ++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLibStrings.uni | = 42 +++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.Vfr | = 89 +++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfig.hfr | = 219 ++++++++++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfigStrings.uni | = 111 ++++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PciePortConfig.hfr | = 167 +++++++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/RasConfig.hfr | = 172 ++++++++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/RasConfig.uni | = 85 +++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/iBMCConfig.hfr | = 81 +++++ Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/iBMCConfig.uni | = 34 ++ 22 files changed, 2076 insertions(+), 2 deletions(-) diff --git a/Silicon/Hisilicon/HisiPkg.dec b/Silicon/Hisilicon/HisiPkg.dec index 0595790df8..6d95381719 100644 --- a/Silicon/Hisilicon/HisiPkg.dec +++ b/Silicon/Hisilicon/HisiPkg.dec @@ -45,6 +45,7 @@ gHisiTokenSpaceGuid =3D {0xc8bc553e, 0x12bf, 0x11e6, {0x97, 0x4f, 0x87, = 0xf7, 0x7c, 0xfd, 0x52, 0x1d}} =20 gHisiEfiMemoryMapGuid =3D {0xf8870015, 0x6994, 0x4b98, {0x95, 0xa2, 0xb= d, 0x56, 0xda, 0x91, 0xc0, 0x7f}} + gOemConfigGuid =3D {0x42927b59, 0x58fc, 0x41be, {0x8f, 0x59, 0xd1, 0x7c,= 0x02, 0x1a, 0x70, 0x13}} gVersionInfoHobGuid =3D {0xe13a14c, 0x859c, 0x4f22, {0x82, 0xbd, 0x18, 0= xe, 0xe1, 0x42, 0x12, 0xbf}} gOemBootVariableGuid =3D {0xb7784577, 0x5aaf, 0x4557, {0xa1, 0x99, 0xd4,= 0xa4, 0x2f, 0x45, 0x06, 0xf8}} gEfiHisiSocControllerGuid =3D {0xee369cc3, 0xa743, 0x5382, {0x75, 0x64, = 0x53, 0xe4, 0x31, 0x19, 0x38, 0x35}} diff --git a/Platform/Hisilicon/D06/D06.dsc b/Platform/Hisilicon/D06/D06.dsc index 9d4a86a4f4..bec422670d 100644 --- a/Platform/Hisilicon/D06/D06.dsc +++ b/Platform/Hisilicon/D06/D06.dsc @@ -330,7 +330,10 @@ #ACPI # MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf - Silicon/Hisilicon/Drivers/HisiAcpiPlatformDxe/AcpiPlatformDxe.inf + Silicon/Hisilicon/Drivers/HisiAcpiPlatformDxe/AcpiPlatformDxe.inf { + + NULL|Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLib.inf + } =20 Silicon/Hisilicon/Hi1620/Hi1620AcpiTables/AcpiTablesHi1620.inf Silicon/Hisilicon/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf diff --git a/Silicon/Hisilicon/Drivers/HisiAcpiPlatformDxe/AcpiPlatformDxe.= inf b/Silicon/Hisilicon/Drivers/HisiAcpiPlatformDxe/AcpiPlatformDxe.inf index e268a56bbd..281a4f2ebd 100644 --- a/Silicon/Hisilicon/Drivers/HisiAcpiPlatformDxe/AcpiPlatformDxe.inf +++ b/Silicon/Hisilicon/Drivers/HisiAcpiPlatformDxe/AcpiPlatformDxe.inf @@ -56,7 +56,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiTableStorageFile ## CONSUMES =20 [Depex] - gEfiAcpiTableProtocolGuid + gEfiAcpiTableProtocolGuid AND gEfiVariableWriteArchProtocolGuid =20 [UserExtensions.TianoCore."ExtraFiles"] AcpiPlatformExtra.uni diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLib.i= nf b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLib.inf new file mode 100644 index 0000000000..fba619e9ba --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLib.inf @@ -0,0 +1,68 @@ +## @file +# OEM config Library used by BDS +# +# Copyright (c) 2018, Hisilicon Limited. All rights reserved. +# Copyright (c) 2018, Linaro Limited. All rights reserved. +# This program and the accompanying materials are licensed and made avail= able under +# the terms and conditions of the BSD License that accompanies this distr= ibution. +# 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 IM= PLIED. +# +## +[Defines] + INF_VERSION =3D 0x0001001A + BASE_NAME =3D OemConfigUiLib + MODULE_UNI_FILE =3D OemConfigUiLib.uni + FILE_GUID =3D 32B373AC-00B6-471b-B3AE-6E4A4501F6BA + MODULE_TYPE =3D DXE_DRIVER + VERSION_STRING =3D 1.0 + LIBRARY_CLASS =3D NULL|DXE_DRIVER UEFI_APPLICATION + CONSTRUCTOR =3D OemConfigUiLibConstructor + DESTRUCTOR =3D OemConfigUiLibDestructor + +[Sources] + iBMCConfig.hfr + iBMCConfig.uni + MemoryConfig.hfr + MemoryConfig.uni + MiscConfig.hfr + MiscConfig.uni + OemConfig.c + OemConfig.h + OemConfigUiLibStrings.uni + OemConfigVfr.Vfr + PcieConfig.hfr + PcieConfigStrings.uni + PciePortConfig.hfr + RasConfig.hfr + RasConfig.uni + +[Packages] + MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec + Silicon/Hisilicon/HisiPkg.dec + +[LibraryClasses] + BaseLib + BaseMemoryLib + DebugLib + DevicePathLib + HiiLib + MemoryAllocationLib + PrintLib + UefiBootServicesTableLib + UefiHiiServicesLib + UefiRuntimeServicesTableLib + +[Guids] + gEfiHiiPlatformSetupFormsetGuid ## CONSUMES ## GUID (Indic= ate the formset class guid to be displayed) + gEfiIfrFrontPageGuid ## CONSUMES ## GUID (Indic= ate the formset in this library need to dispaly in which page) + gEfiIfrTianoGuid ## CONSUMES ## GUID (Exten= ded IFR Guid Opcode) + gOemConfigGuid + gVersionInfoHobGuid + +[Protocols] + gEfiHiiConfigAccessProtocolGuid ## CONSUMES diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.h b/Si= licon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.h new file mode 100644 index 0000000000..f91400150c --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.h @@ -0,0 +1,142 @@ +/** @file +The Oem config reference implement + +Copyright (c) 2018, Hisilicon Limited. All rights reserved. +Copyright (c) 2018, Linaro Limited. 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 IMPLI= ED. + +**/ + +#ifndef _OEM_CONFIG_H_ +#define _OEM_CONFIG_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "Library/OemConfigData.h" +#include +#include +#include +#include +#include +#include +#include + +// +// These are the VFR compiler generated data representing our VFR data. +// +extern UINT8 OemConfigVfrBin[]; + +// +// HII specific Vendor Device Path definition. +// +typedef struct { + VENDOR_DEVICE_PATH VendorDevicePath; + EFI_DEVICE_PATH_PROTOCOL End; +} HII_VENDOR_DEVICE_PATH; + +#define OEM_CONFIG_CALLBACK_DATA_SIGNATURE SIGNATURE_32 ('O', 'E', 'M', '= C') +typedef struct { + UINTN Signature; + EFI_HII_HANDLE HiiHandle; + EFI_HANDLE DriverHandle; + EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess; +} OEM_CONFIG_CALLBACK_DATA; + +/** + This function allows a caller to extract the current configuration for o= ne + or more named elements from the target driver. + + + @param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL. + @param Request A null-terminated Unicode string in format. + @param Progress On return, points to a character in the Request s= tring. + Points to the string's null terminator if request= was successful. + Points to the most recent '&' before the first fa= iling name/value + pair (or the beginning of the string if the failu= re is in the + first name/value pair) if the request was not suc= cessful. + @param Results A null-terminated Unicode string in format which + has all values filled in for the names in the Req= uest string. + String to be allocated by the called function. + + @retval EFI_SUCCESS The Results is filled with the requested= values. + @retval EFI_OUT_OF_RESOURCES Not enough memory to store the results. + @retval EFI_INVALID_PARAMETER Request is illegal syntax, or unknown na= me. + @retval EFI_NOT_FOUND Routing data doesn't match any storage i= n this driver. + +**/ +EFI_STATUS +EFIAPI +OemExtractConfig ( + IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, + IN CONST EFI_STRING Request, + OUT EFI_STRING *Progress, + OUT EFI_STRING *Results + ); + +/** + This function processes the results of changes in configuration. + + + @param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL. + @param Configuration A null-terminated Unicode string in = format. + @param Progress A pointer to a string filled in with the offset o= f the most + recent '&' before the first failing name/value pa= ir (or the + beginning of the string if the failure is in the = first + name/value pair) or the terminating NULL if all w= as successful. + + @retval EFI_SUCCESS The Results is processed successfully. + @retval EFI_INVALID_PARAMETER Configuration is NULL. + @retval EFI_NOT_FOUND Routing data doesn't match any storage i= n this driver. + +**/ +EFI_STATUS +EFIAPI +OemRouteConfig ( + IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, + IN CONST EFI_STRING Configuration, + OUT EFI_STRING *Progress + ); + +/** + This function is invoked if user selected a interactive opcode from Devi= ce Manager's + Formset. If user set VBIOS, the new value is saved to EFI variable. + + @param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL. + @param Action Specifies the type of action taken by the browser. + @param QuestionId A unique value which is sent to the original expo= rting driver + so that it can identify the type of data to expec= t. + @param Type The type of value for the question. + @param Value A pointer to the data being sent to the original = exporting driver. + @param ActionRequest On return, points to the action requested by the = callback function. + + @retval EFI_SUCCESS The callback successfully handled the act= ion. + @retval EFI_INVALID_PARAMETER The setup browser call this function with= invalid parameters. + +**/ +EFI_STATUS +EFIAPI +OemCallback ( + IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, + IN EFI_BROWSER_ACTION Action, + IN EFI_QUESTION_ID QuestionId, + IN UINT8 Type, + IN EFI_IFR_TYPE_VALUE *Value, + OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest + ); + +VOID GetReleaseTime (EFI_TIME *Time); +#endif diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUi.h b/= Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUi.h new file mode 100644 index 0000000000..792e544c22 --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUi.h @@ -0,0 +1,64 @@ +/** @file + +Copyright (c) 2018, Hisilicon Limited. All rights reserved. +Copyright (c) 2018, Linaro Limited. 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 IMPLI= ED. + +Module Name: + + OemConfigUi.h + +Abstract: + + NVData structure used by the OEM Config. + +Revision History: + + +**/ + +#ifndef _OEM_CONFIG_UI_H_ +#define _OEM_CONFIG_UI_H_ + +#include + +#define OEM_CONFIG_FORM_ID 1 +#define MEMORY_CONFIG_FORM_ID 2 +#define IBMC_CONFIG_FORM_ID 3 +#define PCIE_CONFIG_FORM_ID 4 +#define MISC_CONFIG_FORM_ID 5 +#define RAS_CONFIG_FORM_ID 6 + +#define VFR_FORMID_PCIE_SOCKET0 0x4100 +#define VFR_FORMID_PCIE_SOCKET1 0x4200 +#define VFR_FORMID_PCIE_PORT0 0x4000 +#define VFR_FORMID_PCIE_PORT1 0x4001 +#define VFR_FORMID_PCIE_PORT2 0x4002 +#define VFR_FORMID_PCIE_PORT3 0x4003 +#define VFR_FORMID_PCIE_PORT4 0x4004 +#define VFR_FORMID_PCIE_PORT5 0x4005 +#define VFR_FORMID_PCIE_PORT6 0x4006 +#define VFR_FORMID_PCIE_PORT7 0x4007 +#define VFR_FORMID_PCIE_PORT8 0x4008 +#define VFR_FORMID_PCIE_PORT9 0x4009 +#define VFR_FORMID_PCIE_PORT10 0x4010 +#define VFR_FORMID_PCIE_PORT11 0x4011 +#define VFR_FORMID_PCIE_PORT12 0x4012 +#define VFR_FORMID_PCIE_PORT13 0x4013 +#define VFR_FORMID_PCIE_PORT14 0x4014 +#define VFR_FORMID_PCIE_PORT15 0x4015 + +#define VFR_FORMID_MEMORY_RAS 0x6100 +#define VFR_FORMID_CORRECT_ERROR 0x6101 +#define VFR_FORMID_PCIE_RAS 0x6200 + +#define RMT_PATTERN_LENGTH 256 + + +#endif diff --git a/Silicon/Hisilicon/Include/Library/OemConfigData.h b/Silicon/Hi= silicon/Include/Library/OemConfigData.h new file mode 100644 index 0000000000..478821ae2c --- /dev/null +++ b/Silicon/Hisilicon/Include/Library/OemConfigData.h @@ -0,0 +1,84 @@ +/** @file +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ + + +#ifndef _OEM_CONFIG_DATA_H_ +#define _OEM_CONFIG_DATA_H_ + +#define PCIE_MAX_TOTAL_PORTS 16 +#define OEM_CONFIG_NAME L"OemConfig" +#define PLATFORM_SETUP_VARIABLE_FLAG (EFI_VARIABLE_BOOTSERVICE_ACC= ESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE) + +#pragma pack(1) +typedef struct { + /*Memory Config*/ + UINT8 DdrDebugLevel; + UINT8 DdrFreqLimit; + UINT8 DdrRefreshSupport; + UINT8 DdrRefreshRate; + UINT8 RankMargin; + UINT8 RankMarginMode; + UINT32 rmtPatternLength; + UINT8 perbitmargin; + UINT8 CaMargin; + UINT8 CaVrefMarginOption; + UINT8 NumaEn; + UINT8 HwMemTest; + UINT8 DieInterleaving; + UINT8 ChannelInterleaving; + UINT8 RankInterleaving; + UINT8 EccSupport; + /*iBMC Config*/ + UINT8 BmcWdtEnable; + UINT8 BmcWdtTimeout; + UINT8 BmcWdtAction; + UINT8 OSWdtEnable; + UINT8 OSWdtTimeout; + UINT8 OSWdtAction; + /*PCIe Config*/ + UINT8 PcieSRIOVSupport; + UINT8 PciePort[PCIE_MAX_TOTAL_PORTS]; + UINT8 PcieLinkSpeedPort[PCIE_MAX_TOTAL_PORTS]; + UINT8 PcieLinkDeEmphasisPort[PCIE_MAX_TOTAL_PORTS]; + UINT8 PcieLinkStatusPort[PCIE_MAX_TOTAL_PORTS]; + UINT8 PcieLinkSpeedRateStatusPort[PCIE_MAX_TOTAL_PORTS]; + UINT8 PcieLinkMaxPort[PCIE_MAX_TOTAL_PORTS]; + UINT8 PcieMaxPayloadSizePort[PCIE_MAX_TOTAL_PORTS]; + UINT8 PcieAspmPort[PCIE_MAX_TOTAL_PORTS]; + /*Misc Config*/ + UINT8 EnableSmmu; + UINT8 EnableFdtTable; + UINT8 EnableSpcr; + /*RAS Config*/ + UINT8 EnRasSupport; + UINT8 EnPoison; + UINT8 CheckAlgorithm; + UINT8 PatrolScrub; + UINT8 PatrolScrubDuration; + UINT8 DemandScrubMode; + UINT8 CorrectErrorThreshold; + UINT8 AdvanceDeviceCorrection; + UINT8 RankSparing; + UINT8 FunnelPeriod; + UINT8 DpcFeature; + UINT8 EcrcFeature; + UINT8 CompletionTimeout; + UINT8 CompletionTimeoutValue; + UINT8 HotPlug; + +} OEM_CONFIG_DATA; +#pragma pack() + +#endif diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c b/Si= licon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c new file mode 100644 index 0000000000..1e3635307c --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfig.c @@ -0,0 +1,363 @@ +/** @file +The OEM config reference implementation + +Copyright (c) 2018, Hisilicon Limited. All rights reserved. +Copyright (c) 2018, Linaro Limited. 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 IMPLI= ED. + +**/ + +#include "OemConfig.h" + +OEM_CONFIG_CALLBACK_DATA mOemConfigPrivate =3D { + OEM_CONFIG_CALLBACK_DATA_SIGNATURE, + NULL, + NULL, + { + OemExtractConfig, + OemRouteConfig, + OemCallback + } +}; + +HII_VENDOR_DEVICE_PATH mOemHiiVendorDevicePath =3D { + { + { + HARDWARE_DEVICE_PATH, + HW_VENDOR_DP, + { + (UINT8) (sizeof (VENDOR_DEVICE_PATH)), + (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8) + } + }, + { 0x874c4dcb, 0x08ec, 0x4fe6, { 0xb5, 0x8e, 0x3a, 0x9e, 0x1c, 0x26, 0x= 70, 0xb9 } } + }, + { + END_DEVICE_PATH_TYPE, + END_ENTIRE_DEVICE_PATH_SUBTYPE, + { + (UINT8) (END_DEVICE_PATH_LENGTH), + (UINT8) ((END_DEVICE_PATH_LENGTH) >> 8) + } + } +}; + + + + + + +/** + This function allows a caller to extract the current configuration for o= ne + or more named elements from the target driver. + + + @param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL. + @param Request A null-terminated Unicode string in format. + @param Progress On return, points to a character in the Request s= tring. + Points to the string's null terminator if request= was successful. + Points to the most recent '&' before the first fa= iling name/value + pair (or the beginning of the string if the failu= re is in the + first name/value pair) if the request was not suc= cessful. + @param Results A null-terminated Unicode string in format which + has all values filled in for the names in the Req= uest string. + String to be allocated by the called function. + + @retval EFI_INVALID_PARAMETER Request is illegal syntax, or unknown na= me. + @retval EFI_NOT_FOUND Routing data doesn't match any storage i= n this driver. + +**/ +EFI_STATUS +EFIAPI +OemExtractConfig ( + IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, + IN CONST EFI_STRING Request, + OUT EFI_STRING *Progress, + OUT EFI_STRING *Results + ) +{ + if (Progress =3D=3D NULL || Results =3D=3D NULL) { + return EFI_INVALID_PARAMETER; + } + *Progress =3D Request; + return EFI_NOT_FOUND; +} + +/** + This function processes the results of changes in configuration. + + @param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL. + @param Configuration A null-terminated Unicode string in = format. + @param Progress A pointer to a string filled in with the offset o= f the most + recent '&' before the first failing name/value pa= ir (or the + beginning of the string if the failure is in the = first + name/value pair) or the terminating NULL if all w= as successful. + + @retval EFI_INVALID_PARAMETER Configuration is NULL. + @retval EFI_NOT_FOUND Routing data doesn't match any storage i= n this driver. + +**/ +EFI_STATUS +EFIAPI +OemRouteConfig ( + IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, + IN CONST EFI_STRING Configuration, + OUT EFI_STRING *Progress + ) +{ + if (Configuration =3D=3D NULL || Progress =3D=3D NULL) { + return EFI_INVALID_PARAMETER; + } + + *Progress =3D Configuration; + + return EFI_NOT_FOUND; +} + +/** + This function is invoked if user selected a interactive opcode from Devi= ce Manager's + Formset. If user set VBIOS, the new value is saved to EFI variable. + + @param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL. + @param Action Specifies the type of action taken by the browser. + @param QuestionId A unique value which is sent to the original expo= rting driver + so that it can identify the type of data to expec= t. + @param Type The type of value for the question. + @param Value A pointer to the data being sent to the original = exporting driver. + @param ActionRequest On return, points to the action requested by the = callback function. + + @retval EFI_SUCCESS The callback successfully handled the act= ion. + @retval EFI_INVALID_PARAMETER The setup browser call this function with= invalid parameters. + +**/ +EFI_STATUS +EFIAPI +OemCallback ( + IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, + IN EFI_BROWSER_ACTION Action, + IN EFI_QUESTION_ID QuestionId, + IN UINT8 Type, + IN EFI_IFR_TYPE_VALUE *Value, + OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest + ) +{ + if (Action !=3D EFI_BROWSER_ACTION_CHANGING) { + // + // Do nothing for other UEFI Action. Only do call back when data is ch= anged. + // + return EFI_UNSUPPORTED; + } + if ((Value =3D=3D NULL) || (ActionRequest =3D=3D NULL)) { + return EFI_INVALID_PARAMETER; + } + + return EFI_SUCCESS; +} + +/** + Install Boot Manager Menu driver. + + @param ImageHandle The image handle. + @param SystemTable The system table. + + @retval EFI_SUCEESS Install Boot manager menu success. + @retval Other Return error status. + +**/ +EFI_STATUS +EFIAPI +OemConfigUiLibConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + OEM_CONFIG_DATA Configuration; + VOID *Hob; + VERSION_INFO *VersionInfo; + UINTN BufSize; + BOOLEAN Action; + EFI_STRING ConfigRequestHdr; + EFI_TIME Time =3D {0}; + CHAR16 TmpString[0x100] =3D {0}; + + mOemConfigPrivate.DriverHandle =3D NULL; + Status =3D gBS->InstallMultipleProtocolInterfaces ( + &mOemConfigPrivate.DriverHandle, + &gEfiDevicePathProtocolGuid, + &mOemHiiVendorDevicePath, + &gEfiHiiConfigAccessProtocolGuid, + &mOemConfigPrivate.ConfigAccess, + NULL + ); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Publish our HII data. + // + mOemConfigPrivate.HiiHandle =3D HiiAddPackages ( + &gOemConfigGuid, + mOemConfigPrivate.DriverHandle, + OemConfigVfrBin, + OemConfigUiLibStrings, + NULL + ); + if (mOemConfigPrivate.HiiHandle =3D=3D NULL) { + DEBUG ((DEBUG_ERROR, "OemConfigUiLibConstructor(), Fail to Add Oem Hii= Package.\n")); + return EFI_INVALID_PARAMETER; + } + // + //BIOS Build Time Init + // + Hob =3D GetFirstGuidHob (&gVersionInfoHobGuid); + if (Hob =3D=3D NULL) { + DEBUG ((DEBUG_ERROR, "[%a]:[%d] Version information HOB not found!\n", + __FILE__, __LINE__)); + return EFI_NOT_FOUND; + } + VersionInfo =3D GET_GUID_HOB_DATA (Hob); + Time =3D VersionInfo->BuildTime; + UnicodeSPrint ( + TmpString, + sizeof (TmpString), + L"%02d/%02d/%04d %02d:%02d", + Time.Month, + Time.Day, + Time.Year, + Time.Hour, + Time.Minute + ); + HiiSetString ( + mOemConfigPrivate.HiiHandle, + STRING_TOKEN (STR_MISC_BIOS_BUILDTIME), + TmpString, + "en-US" + ); + // + // Check Oem Config Variable. + // + ConfigRequestHdr =3D HiiConstructConfigHdr ( + &gOemConfigGuid, + OEM_CONFIG_NAME, + mOemConfigPrivate.DriverHandle + ); + ZeroMem (&Configuration, sizeof (OEM_CONFIG_DATA)); + BufSize =3D sizeof (OEM_CONFIG_DATA); + Status =3D gRT->GetVariable ( + OEM_CONFIG_NAME, + &gOemConfigGuid, + NULL, + &BufSize, + &Configuration + ); + if (EFI_ERROR (Status)) { + Action =3D HiiSetToDefaults (ConfigRequestHdr, EFI_HII_DEFAULT_CLASS_S= TANDARD); + if (!Action) { + // + //Set the default value of the DDR option + // + Configuration.DdrDebugLevel =3D 0; + Configuration.DdrFreqLimit =3D 0; + Configuration.DdrRefreshSupport =3D 0; + Configuration.DdrRefreshRate =3D 0; + Configuration.RankMargin =3D 0; + Configuration.RankMarginMode =3D 2; + Configuration.rmtPatternLength =3D 256; + Configuration.perbitmargin =3D 0x0; + Configuration.CaMargin =3D 0x0; + Configuration.CaVrefMarginOption =3D 0x0; + Configuration.NumaEn =3D 1; + Configuration.HwMemTest =3D 0; + Configuration.DieInterleaving =3D 0; + Configuration.ChannelInterleaving =3D 1; + Configuration.RankInterleaving =3D 2; + Configuration.EccSupport =3D 0; + // + //Set the default value of the BMC option + // + Configuration.BmcWdtEnable =3D 0; + Configuration.BmcWdtTimeout =3D 15; + Configuration.BmcWdtAction =3D 1; + Configuration.OSWdtEnable =3D 0; + Configuration.OSWdtTimeout =3D 5; + Configuration.OSWdtAction =3D 1; + // + //Set the default value of the Misc option + // + Configuration.EnableSmmu =3D 1; + Configuration.EnableFdtTable =3D 0; + Configuration.EnableSpcr =3D 0; + // + //Set the default value of the Ras option + // + Configuration.EnRasSupport =3D 1; + Configuration.EnPoison =3D 1; + Configuration.CheckAlgorithm =3D 0; + Configuration.PatrolScrub =3D 1; + Configuration.PatrolScrubDuration =3D 24; + Configuration.DemandScrubMode =3D 0; + Configuration.CorrectErrorThreshold =3D 0; + Configuration.AdvanceDeviceCorrection =3D 0; + Configuration.RankSparing =3D 0; + Configuration.FunnelPeriod =3D 0; + Configuration.DpcFeature =3D 0; + Configuration.EcrcFeature =3D 0; + Configuration.CompletionTimeout =3D 1; + Configuration.CompletionTimeoutValue =3D 0; + Configuration.HotPlug =3D 1; + Status =3D gRT->SetVariable ( + OEM_CONFIG_NAME, + &gOemConfigGuid, + EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE= _ACCESS, + sizeof (OEM_CONFIG_DATA), + &Configuration + ); + } + } else { + Action =3D HiiValidateSettings (ConfigRequestHdr); + if (!Action) { + return EFI_INVALID_PARAMETER; + } + } + return EFI_SUCCESS; +} + +/** + Unloads the application and its installed protocol. + + @param ImageHandle Handle that identifies the image to be unloaded. + @param SystemTable The system table. + + @retval EFI_SUCCESS The image has been unloaded. +**/ +EFI_STATUS +EFIAPI +OemConfigUiLibDestructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + + Status =3D gBS->UninstallMultipleProtocolInterfaces ( + mOemConfigPrivate.DriverHandle, + &gEfiDevicePathProtocolGuid, + &mOemHiiVendorDevicePath, + &gEfiHiiConfigAccessProtocolGuid, + &mOemConfigPrivate.ConfigAccess, + NULL + ); + + HiiRemovePackages (mOemConfigPrivate.HiiHandle); + + return Status; +} + diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MemoryConfig.hfr= b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MemoryConfig.hfr new file mode 100644 index 0000000000..c709975c38 --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MemoryConfig.hfr @@ -0,0 +1,154 @@ +/** @file +* +* Memory Config form at Oem Config fromset. +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ + +form formid =3D MEMORY_CONFIG_FORM_ID, + title =3D STRING_TOKEN(STR_MEMORY_CONFIG_FORM_TITLE); + + oneof varid =3D OEM_CONFIG_DATA.DdrDebugLevel, + prompt =3D STRING_TOKEN (STR_MEM_PRINT_LEVEL_PROMPT), + help =3D STRING_TOKEN (STR_MEM_PRINT_LEVEL_HELP), + option text =3D STRING_TOKEN (STR_MEM_PRINT_LEVEL_DISABLE), value= =3D 0, flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_MEM_PRINT_LEVEL_MINIMUM), value = =3D 1, flags =3D RESET_REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN (STR_MEM_PRINT_LEVEL_MINMAX), value = =3D 2, flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_MEM_PRINT_LEVEL_MAXIMUM), value= =3D 3, flags =3D RESET_REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.DdrFreqLimit, + prompt =3D STRING_TOKEN(STR_XMP_DDR_FREQ_LIMIT_PROMPT), + help =3D STRING_TOKEN(STR_XMP_DDR_FREQ_LIMIT_HELP), + option text =3D STRING_TOKEN(STR_AUTO), value =3D 0, flags =3D MAN= UFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DDR_FREQ_1333_STRING), value =3D = 5, flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DDR_FREQ_1600_STRING), value =3D = 7, flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DDR_FREQ_1866_STRING), value =3D = 9, flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DDR_FREQ_2133_STRING), value =3D = 11, flags =3D RESET_REQUIRED ; + option text =3D STRING_TOKEN(STR_DDR_FREQ_2400_STRING), value =3D = 13, flags =3D RESET_REQUIRED ; + option text =3D STRING_TOKEN(STR_DDR_FREQ_2667_STRING), value =3D = 15, flags =3D RESET_REQUIRED ; + option text =3D STRING_TOKEN(STR_DDR_FREQ_2933_STRING), value =3D = 17, flags =3D RESET_REQUIRED ; + option text =3D STRING_TOKEN(STR_DDR_FREQ_3200_STRING), value =3D = 19, flags =3D RESET_REQUIRED ; + endoneof; + + suppressif TRUE; + oneof varid =3D OEM_CONFIG_DATA.DdrRefreshSupport, + prompt =3D STRING_TOKEN(STR_DDR_REFRESH_SUPPORT_PROMPT), + help =3D STRING_TOKEN(STR_DDR_REFRESH_SUPPORT_HELP), + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D= MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags = =3D RESET_REQUIRED; + endoneof; + + suppressif ideqval OEM_CONFIG_DATA.DdrRefreshSupport =3D=3D 0; + oneof varid =3D OEM_CONFIG_DATA.DdrRefreshRate, + prompt =3D STRING_TOKEN(STR_DDR_REFRESH_PROMPT), + help =3D STRING_TOKEN(STR_DDR_REFRESH_HELP), + option text =3D STRING_TOKEN(STR_32MS), value =3D 0, flags =3D= MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_64MS), value =3D 1, flags =3D= RESET_REQUIRED; + endoneof; + endif; + + oneof varid =3D OEM_CONFIG_DATA.RankMargin, + prompt =3D STRING_TOKEN (STR_RMT_PROMPT), + help =3D STRING_TOKEN (STR_RMT_HELP), + option text =3D STRING_TOKEN (STR_DISABLE), value =3D 0, flags = =3D DEFAULT | MANUFACTURING |RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_ENABLE), value =3D 1, flags = =3D RESET_REQUIRED; + endoneof; + + suppressif ideqval OEM_CONFIG_DATA.RankMargin =3D=3D 0; + oneof varid =3D OEM_CONFIG_DATA.RankMarginMode, + prompt =3D STRING_TOKEN (STR_RMTM_PROMPT), + help =3D STRING_TOKEN (STR_RMTM_HELP), + option text =3D STRING_TOKEN (STR_RMTM_SFC), value =3D 1, = flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_RMTM_EXMBIST), value =3D 2, = flags =3D DEFAULT | MANUFACTURING |RESET_REQUIRED; + endoneof; + + numeric varid =3D OEM_CONFIG_DATA.rmtPatternLength, + prompt =3D STRING_TOKEN (STR_RMT_PATTERN_PROMPT), + help =3D STRING_TOKEN (STR_RMT_PATTERN_HELP), + flags =3D RESET_REQUIRED, + minimum =3D 1, + maximum =3D 32767, + step =3D 1, + default =3D RMT_PATTERN_LENGTH, + endnumeric; + + oneof varid =3D OEM_CONFIG_DATA.perbitmargin, + prompt =3D STRING_TOKEN (STR_PER_BIT_MARGIN_PROMPT), + help =3D STRING_TOKEN (STR_PER_BIT_MARGIN_HELP), + option text =3D STRING_TOKEN (STR_DISABLE), value =3D 0, flags= =3D MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_ENABLE), value =3D 1, flags= =3D RESET_REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.CaMargin, + prompt =3D STRING_TOKEN (STR_CA_MARGINS_PROMPT), + help =3D STRING_TOKEN (STR_CA_MARGINS_HELP), + option text =3D STRING_TOKEN (STR_DISABLE), value =3D 0, flags= =3D MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_ENABLE), value =3D 1, flags= =3D RESET_REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.CaVrefMarginOption, + prompt =3D STRING_TOKEN (STR_CAVREF_MARGINS_PROMPT), + help =3D STRING_TOKEN (STR_CAVREF_MARGINS_HELP), + option text =3D STRING_TOKEN (STR_CAVREF_MARGINS_OPTION0), val= ue =3D 0, flags =3D MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_CAVREF_MARGINS_OPTION2), va= lue =3D 1, flags =3D RESET_REQUIRED; + endoneof; + endif; + + oneof varid =3D OEM_CONFIG_DATA.DieInterleaving, + prompt =3D STRING_TOKEN(STR_DIE_INTERLEAVING_PROMPT), + help =3D STRING_TOKEN(STR_DIE_INTERLEAVING_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value = =3D 0, flags =3D RESET_REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_ENABLE), value = =3D 1, flags =3D RESET_REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.ChannelInterleaving, + prompt =3D STRING_TOKEN(STR_CHANNEL_INTERLEAVING_PROMPT), + help =3D STRING_TOKEN(STR_CHANNEL_INTERLEAVING_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value = =3D 0, flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value = =3D 1, flags =3D RESET_REQUIRED | MANUFACTURING | DEFAULT; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.RankInterleaving, + prompt =3D STRING_TOKEN(STR_RANK_INTERLEAVING_PROMPT), + help =3D STRING_TOKEN(STR_RANK_INTERLEAVING_HELP), + option text =3D STRING_TOKEN(STR_1WAY_STRING), value = =3D 1, flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_2WAY_STRING), value = =3D 2, flags =3D RESET_REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_4WAY_STRING), value = =3D 4, flags =3D RESET_REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.NumaEn, + prompt =3D STRING_TOKEN(STR_NUMA_PROMPT), + help =3D STRING_TOKEN(STR_NUMA_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, fl= ags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, fl= ags =3D RESET_REQUIRED | MANUFACTURING | DEFAULT; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.HwMemTest, + prompt =3D STRING_TOKEN (STR_MEM_TEST_PROMPT), + help =3D STRING_TOKEN (STR_MEM_TEST_HELP), + option text =3D STRING_TOKEN (STR_DISABLE), value =3D 0, flags = =3D MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_ENABLE), value =3D 1, flags = =3D RESET_REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.EccSupport, + prompt =3D STRING_TOKEN (STR_ECC_SUPPORT_PROMPT), + help =3D STRING_TOKEN (STR_ECC_SUPPORT_HELP), + option text =3D STRING_TOKEN (STR_DISABLE), value =3D 0, flags = =3D MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_ECC_EN), value =3D 1, flags = =3D RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_SDEC_EN), value =3D 2, flags = =3D RESET_REQUIRED; + endoneof; + endif; + +endform; + diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MemoryConfig.uni= b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MemoryConfig.uni new file mode 100644 index 0000000000..0ecf5e59cf --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MemoryConfig.uni @@ -0,0 +1,103 @@ +/** @file +* +* String definitions for the Memory Config. +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ + +/=3D# + +#langdef en-US "English" + +#string STR_MEMORY_CONFIG_FORM_TITLE #language en-US "Memory Config= uration" +#string STR_MEMORY_CONFIG_FORM_HELP #language en-US "Displays and = provides option to change the Memory Settings" +#string STR_MEMORY_RAS_CONFIG_FORM_TITLE #language en-US "Memory RAS Co= nfiguration" +#string STR_MEMORY_RAS_CONFIG_FORM_HELP #language en-US "Displays and = provides option to change the Ras Configuration" +#string STR_MEM_PRINT_LEVEL_PROMPT #language en-US "Memory Print = Level" +#string STR_MEM_PRINT_LEVEL_HELP #language en-US "Memory Print = Level Set. Disable: Do not print any MRC statement/ Minimum: Print the most= important(High level) MRC statement/ Minmax: Print the Mid-important(Mid l= evel) and most important MRC statement/ Maximum: Print all of the MRC state= ment" +#string STR_ENABLE #language en-US "Enabled" +#string STR_DISABLE #language en-US "Disabled" + +#string STR_MEM_PRINT_LEVEL_MINIMUM #language en-US "Minimum" +#string STR_MEM_PRINT_LEVEL_MINMAX #language en-US "Minmax" +#string STR_MEM_PRINT_LEVEL_MAXIMUM #language en-US "Maximum" +#string STR_MEM_PRINT_LEVEL_DISABLE #language en-US "Disable" + +#string STR_XMP_DDR_FREQ_LIMIT_PROMPT #language en-US "Memory Freque= ncy" +#string STR_XMP_DDR_FREQ_LIMIT_HELP #language en-US "Maximum Memor= y Frequency Selections in Mhz. Do not select Reserved" +#string STR_AUTO #language en-US "Auto" +#string STR_DDR_FREQ_1333_STRING #language en-US "1333" +#string STR_DDR_FREQ_1600_STRING #language en-US "1600" +#string STR_DDR_FREQ_1866_STRING #language en-US "1866" +#string STR_DDR_FREQ_2133_STRING #language en-US "2133" +#string STR_DDR_FREQ_2400_STRING #language en-US "2400" +#string STR_DDR_FREQ_2600_STRING #language en-US "2600" +#string STR_DDR_FREQ_2667_STRING #language en-US "2667" +#string STR_DDR_FREQ_2800_STRING #language en-US "2800" +#string STR_DDR_FREQ_2933_STRING #language en-US "2993" +#string STR_DDR_FREQ_3000_STRING #language en-US "3000" +#string STR_DDR_FREQ_3200_STRING #language en-US "3200" + +#string STR_DDR_REFRESH_SUPPORT_PROMPT #language en-US "Custom Refres= h Enable" +#string STR_DDR_REFRESH_SUPPORT_HELP #language en-US "Memory Custom= Refresh Enable " +#string STR_DDR_REFRESH_PROMPT #language en-US "Custom Refres= h Rate" +#string STR_DDR_REFRESH_HELP #language en-US "Memory Custom= Refresh Rate " +#string STR_32MS #language en-US "32ms" +#string STR_64MS #language en-US "64ms" + +#string STR_RMT_PROMPT #language en-US "Rank Margin T= ool" +#string STR_RMT_HELP #language en-US "Enable the ra= nk margin tool to run after DDR memory training" +#string STR_RMTM_PROMPT #language en-US "Rank Margin M= ode" +#string STR_RMTM_HELP #language en-US "Select test m= ode for rank margin test" +#string STR_RMTM_SFC #language en-US "SFC" +#string STR_RMTM_EXMBIST #language en-US "EXMBIST" +#string STR_RMT_PATTERN_PROMPT #language en-US "RMT Pattern L= ength" +#string STR_RMT_PATTERN_HELP #language en-US "Set the patte= rn length(1-32767) for the Rank Margin Tool" +#string STR_PER_BIT_MARGIN_PROMPT #language en-US "Per Bit Margi= n" +#string STR_PER_BIT_MARGIN_HELP #language en-US "Enables the l= ogging from the serial port of DDR Per Bit Margin Data" +#string STR_CA_MARGINS_PROMPT #language en-US "CA Margin" +#string STR_CA_MARGINS_HELP #language en-US "Enables CA ma= rgin" +#string STR_CAVREF_MARGINS_PROMPT #language en-US "CAVref Margin" +#string STR_CAVREF_MARGINS_HELP #language en-US "CAVref margin= Options" +#string STR_CAVREF_MARGINS_OPTION0 #language en-US "VDD/2^2 conne= cted to QVrefVA and BVrefCA" +#string STR_CAVREF_MARGINS_OPTION2 #language en-US "Internally ge= nerated Vref connected to QVrefCA^3 VDD/2^2 connected to BVrefCA" + +#string STR_DIE_INTERLEAVING_PROMPT #language en-US "Die Interleav= ing" +#string STR_DIE_INTERLEAVING_HELP #language en-US "Select Die In= terleaving setting" +#string STR_CHANNEL_INTERLEAVING_PROMPT #language en-US "Channel Inter= leaving" +#string STR_CHANNEL_INTERLEAVING_HELP #language en-US "Select Channe= l Interleaving setting" +#string STR_RANK_INTERLEAVING_PROMPT #language en-US "Rank Interlea= ving" +#string STR_RANK_INTERLEAVING_HELP #language en-US "Select Rank I= nterleaving setting" + +#string STR_1WAY_STRING #language en-US "1-way Interle= ave" +#string STR_2WAY_STRING #language en-US "2-way Interle= ave" +#string STR_3WAY_STRING #language en-US "3-way Interle= ave" +#string STR_4WAY_STRING #language en-US "4-way Interle= ave" +#string STR_6WAY_STRING #language en-US "6-way Interle= ave" +#string STR_8WAY_STRING #language en-US "8-way Interle= ave" + +#string STR_NUMA_PROMPT #language en-US "NUMA" +#string STR_NUMA_HELP #language en-US "Enable or Dis= able Non uniform Memory Access (NUMA)." + +#string STR_MEM_TEST_PROMPT #language en-US "Memory Test" +#string STR_MEM_TEST_HELP #language en-US "Enable/disabl= e memory test during normal boot" + +#string STR_ECC_SUPPORT_PROMPT #language en-US "ECC/SDEC Supp= ort" +#string STR_ECC_SUPPORT_HELP #language en-US "Enable/disabl= e DDR Ecc/SDEC Support" +#string STR_ECC_EN #language en-US "Ecc Enable" +#string STR_SDEC_EN #language en-US "SDEC Enable" + + + + + diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MiscConfig.hfr b= /Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MiscConfig.hfr new file mode 100644 index 0000000000..9e3ac73116 --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MiscConfig.hfr @@ -0,0 +1,41 @@ +/** @file +* +* Misc Config form at Oem Config fromset. +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ +form formid =3D MISC_CONFIG_FORM_ID, + title =3D STRING_TOKEN(STR_MISC_CONFIG_FORM_TITLE); + + oneof varid =3D OEM_CONFIG_DATA.EnableSmmu, + prompt =3D STRING_TOKEN(STR_OEM_TABLE), + help =3D STRING_TOKEN(STR_OEM_CONFIG_HELP), + option text =3D STRING_TOKEN(STR_DISABLED), value =3D 0, flags =3D 0; + option text =3D STRING_TOKEN(STR_ENABLED), value =3D 1, flags =3D DE= FAULT; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.EnableFdtTable, + prompt =3D STRING_TOKEN(STR_FDT_TABLE), + help =3D STRING_TOKEN(STR_FDT_CONFIG_HELP), + option text =3D STRING_TOKEN(STR_DISABLED), value =3D 0, flags =3D D= EFAULT; + option text =3D STRING_TOKEN(STR_ENABLED), value =3D 1, flags =3D 0; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.EnableSpcr, + prompt =3D STRING_TOKEN(STR_ENABLE_SPCR_TABLE), + help =3D STRING_TOKEN(STR_ENABLE_SPCR_HELP), + option text =3D STRING_TOKEN(STR_DISABLED), value =3D 0, flags =3D D= EFAULT; + option text =3D STRING_TOKEN(STR_ENABLED), value =3D 1, flags =3D 0; + endoneof; + +endform; diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MiscConfig.uni b= /Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MiscConfig.uni new file mode 100644 index 0000000000..53eb1622c4 --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/MiscConfig.uni @@ -0,0 +1,27 @@ +/** @file +* +* String definitions for the Misc Config form. +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ + +#langdef en-US "English" + +#string STR_OEM_TABLE #language en-US "Support Smmu" +#string STR_OEM_CONFIG_HELP #language en-US "Enable or Disable= Smmu." +#string STR_FDT_TABLE #language en-US "Install DTB Table" +#string STR_FDT_CONFIG_HELP #language en-US "Enable or Disable= Fdt Table." +#string STR_ENABLE_SPCR_TABLE #language en-US "Support SPCR" +#string STR_ENABLE_SPCR_HELP #language en-US "Enable or Disable= SPCR Table." +#string STR_ENABLE_GOP_FRAME_BUFFER #language en-US "Support GOP FB" +#string STR_ENABLE_GOP_FRAME_BUFFER_HELP #language en-US "Enable or D= isable GOP frame buffer." diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLib.u= ni b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLib.uni new file mode 100644 index 0000000000..0b2c63a625 --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLib.uni @@ -0,0 +1,24 @@ +/** @file +* +* OEM Config Library used by UiApp +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ + +#string STR_MODULE_ABSTRACT +#language en-US "OEM Config Library used by BDS" + +#string STR_MODULE_DESCRIPTION +#language en-US "OEM Config Library used by BDS" + + diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLibSt= rings.uni b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLibStr= ings.uni new file mode 100644 index 0000000000..afc048e6cd --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigUiLibStrings.u= ni @@ -0,0 +1,42 @@ +/** @file +* +* String definitions for the OEM Config. +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ + +/=3D# + +#langdef en-US "English" + +#string STR_EMPTY_STRING #language en-US "" +#string STR_BIOS_BUILDTIME_STRING #language en-US "Build Date" +#string STR_MISC_BIOS_BUILDTIME #language en-US "" +#string SYSTEM_TIME #language en-US "System Time" +#string SYSTEM_TIME_HELP #language en-US "System Time (HH:M= M:SS)" +#string SYSTEM_DATE #language en-US "System Date" +#string SYSTEM_DATE_HELP #language en-US "System Date (MM/D= D/YYYY) Use [ENTER],[TAB] or [SHIFT-TAB] to select a field. Use [+] or [-] = to configure system Time." +#string STR_OEM_CONFIG #language en-US "Oem Config" +#string STR_ENABLED #language en-US "Enabled" +#string STR_DISABLED #language en-US "Disabled" +#string STR_MEMORY_CONFIG_FORM_TITLE #language en-US "Memory Config" +#string STR_MEMORY_CONFIG_FORM_HELP #language en-US "Display Memory DI= MM information." +#string STR_PCIE_CONFIG_FORM_TITLE #language en-US "PCIe Config" +#string STR_PCIE_CONFIG_FORM_HELP #language en-US "Display PCIe info= rmation." +#string STR_MISC_CONFIG_FORM_TITLE #language en-US "MISC Config" +#string STR_MISC_CONFIG_FORM_HELP #language en-US "Include SMMU Supp= ort Enable and Change the boot manner of DTB/ACPI." +#string STR_IBMC_CONFIG_FORM_TITLE #language en-US "IBMC Config" +#string STR_IBMC_CONFIG_FORM_HELP #language en-US "Include IBMC WDT(= Watchdog Timer) Config." +#string STR_RAS_CONFIG_FORM_TITLE #language en-US "RAS Config" +#string STR_RAS_CONFIG_FORM_HELP #language en-US "Displays and prov= ides option to change the Ras Configuration" +#string STR_EXIT_STRING #language en-US "Press ESC to exit= ." diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.Vfr= b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.Vfr new file mode 100644 index 0000000000..470e9ace3d --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/OemConfigVfr.Vfr @@ -0,0 +1,89 @@ +/** @file +* +* OEM Config formset. +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ +#include "OemConfigUi.h" +#include "Library/OemConfigData.h" + +formset + guid =3D gOemConfigGuid, + title =3D STRING_TOKEN(STR_OEM_CONFIG), + help =3D STRING_TOKEN(STR_OEM_CONFIG), + classguid =3D gEfiIfrFrontPageGuid, // for MdeModule Bds. + efivarstore OEM_CONFIG_DATA, + attribute =3D EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLAT= ILE, + name =3D OemConfig, + guid =3D gOemConfigGuid; + + form formid =3D OEM_CONFIG_FORM_ID, + title =3D STRING_TOKEN(STR_OEM_CONFIG); + + grayoutif TRUE; + text + help =3D STRING_TOKEN(STR_EMPTY_STRING), + text =3D STRING_TOKEN(STR_BIOS_BUILDTIME_STRING), + text =3D STRING_TOKEN(STR_MISC_BIOS_BUILDTIME), + flags =3D 0, + key =3D 0; + endif; + + date + prompt =3D STRING_TOKEN(SYSTEM_DATE), + help =3D STRING_TOKEN(SYSTEM_DATE_HELP), + flags =3D 0x10, + default =3D 2017/1/1, + enddate; + + time + prompt =3D STRING_TOKEN(SYSTEM_TIME), + help =3D STRING_TOKEN(SYSTEM_TIME_HELP), + flags =3D 0x10, + endtime; + + subtitle text =3D STRING_TOKEN(STR_EMPTY_STRING); + + goto MEMORY_CONFIG_FORM_ID, + prompt =3D STRING_TOKEN(STR_MEMORY_CONFIG_FORM_TITLE), + help =3D STRING_TOKEN(STR_MEMORY_CONFIG_FORM_HELP); + + goto IBMC_CONFIG_FORM_ID, + prompt =3D STRING_TOKEN(STR_IBMC_CONFIG_FORM_TITLE), + help =3D STRING_TOKEN(STR_IBMC_CONFIG_FORM_HELP); + + suppressif TRUE; + goto PCIE_CONFIG_FORM_ID, + prompt =3D STRING_TOKEN(STR_PCIE_CONFIG_FORM_TITLE), + help =3D STRING_TOKEN(STR_PCIE_CONFIG_FORM_HELP); + endif; + + goto MISC_CONFIG_FORM_ID, + prompt =3D STRING_TOKEN(STR_MISC_CONFIG_FORM_TITLE), + help =3D STRING_TOKEN(STR_MISC_CONFIG_FORM_HELP); + + goto RAS_CONFIG_FORM_ID, + prompt =3D STRING_TOKEN(STR_RAS_CONFIG_FORM_TITLE), + help =3D STRING_TOKEN(STR_RAS_CONFIG_FORM_HELP); + + subtitle text =3D STRING_TOKEN(STR_EMPTY_STRING); + subtitle text =3D STRING_TOKEN(STR_EXIT_STRING); + + endform; + +#include "MemoryConfig.hfr" +#include "iBMCConfig.hfr" +#include "PcieConfig.hfr" +#include "MiscConfig.hfr" +#include "RasConfig.hfr" +endformset; diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfig.hfr b= /Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfig.hfr new file mode 100644 index 0000000000..7cf7cdd29b --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfig.hfr @@ -0,0 +1,219 @@ +/** @file +* +* PCIe Config form at Oem Config fromset. +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ +form formid =3D PCIE_CONFIG_FORM_ID, + title =3D STRING_TOKEN (STR_PCIE_CONFIG_FORM_TITLE); + + goto VFR_FORMID_PCIE_SOCKET0, + prompt =3D STRING_TOKEN (STR_PCIE_CPU_0_PROMPT), + help =3D STRING_TOKEN (STR_PCIE_CPU_PROMPT_HELP); + + goto VFR_FORMID_PCIE_SOCKET1, + prompt =3D STRING_TOKEN (STR_PCIE_CPU_1_PROMPT), + help =3D STRING_TOKEN (STR_PCIE_CPU_PROMPT_HELP); + + oneof varid =3D OEM_CONFIG_DATA.PcieSRIOVSupport, + prompt =3D STRING_TOKEN (STR_SRIOV_SUPPORT_PROMPT), + help =3D STRING_TOKEN (STR_SRIOV_SUPPORT_HELP), + option text =3D STRING_TOKEN (STR_DISABLE), value =3D 0, flags =3D= MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN (STR_ENABLE), value =3D 1, flags =3D= RESET_REQUIRED; + endoneof; + +endform; + +form formid =3D VFR_FORMID_PCIE_SOCKET0, + title =3D STRING_TOKEN(STR_PCIE_CPU_0_PROMPT); + + goto VFR_FORMID_PCIE_PORT2, + prompt =3D STRING_TOKEN(STR_PCIE_PORT_2_PROMPT), + help =3D STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP); + + goto VFR_FORMID_PCIE_PORT4, + prompt =3D STRING_TOKEN(STR_PCIE_PORT_4_PROMPT), + help =3D STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP); + + goto VFR_FORMID_PCIE_PORT5, + prompt =3D STRING_TOKEN(STR_PCIE_PORT_5_PROMPT), + help =3D STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP); + + goto VFR_FORMID_PCIE_PORT6, + prompt =3D STRING_TOKEN(STR_PCIE_PORT_6_PROMPT), + help =3D STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP); + + goto VFR_FORMID_PCIE_PORT7, + prompt =3D STRING_TOKEN(STR_PCIE_PORT_7_PROMPT), + help =3D STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP); + +endform; + +form formid =3D VFR_FORMID_PCIE_SOCKET1, + title =3D STRING_TOKEN(STR_PCIE_CPU_1_PROMPT); + goto VFR_FORMID_PCIE_PORT10, + prompt =3D STRING_TOKEN(STR_PCIE_PORT_10_PROMPT), + help =3D STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP); + + goto VFR_FORMID_PCIE_PORT12, + prompt =3D STRING_TOKEN(STR_PCIE_PORT_12_PROMPT), + help =3D STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP); + + goto VFR_FORMID_PCIE_PORT13, + prompt =3D STRING_TOKEN(STR_PCIE_PORT_13_PROMPT), + help =3D STRING_TOKEN(STR_PCIE_PORT_PROMPT_HELP); +endform; + +form formid =3D VFR_FORMID_PCIE_PORT0, + title =3D STRING_TOKEN(STR_PCIE_PORT_0_PROMPT); + #undef INDEX + #define INDEX 0 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT1, + title =3D STRING_TOKEN(STR_PCIE_PORT_1_PROMPT); + + #undef INDEX + #define INDEX 1 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT2, + title =3D STRING_TOKEN(STR_PCIE_PORT_2_PROMPT); + + #undef INDEX + #define INDEX 2 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT3, + title =3D STRING_TOKEN(STR_PCIE_PORT_3_PROMPT); + + #undef INDEX + #define INDEX 3 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT4, + title =3D STRING_TOKEN(STR_PCIE_PORT_4_PROMPT); + + #undef INDEX + #define INDEX 4 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT5, + title =3D STRING_TOKEN(STR_PCIE_PORT_5_PROMPT); + + #undef INDEX + #define INDEX 5 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT6, + title =3D STRING_TOKEN(STR_PCIE_PORT_6_PROMPT); + + #undef INDEX + #define INDEX 6 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT7, + title =3D STRING_TOKEN(STR_PCIE_PORT_7_PROMPT); + + #undef INDEX + #define INDEX 7 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT8, + title =3D STRING_TOKEN(STR_PCIE_PORT_8_PROMPT); + + #undef INDEX + #define INDEX 8 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT9, + title =3D STRING_TOKEN(STR_PCIE_PORT_9_PROMPT); + + #undef INDEX + #define INDEX 9 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT10, + title =3D STRING_TOKEN(STR_PCIE_PORT_10_PROMPT); + + #undef INDEX + #define INDEX 10 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT11, + title =3D STRING_TOKEN(STR_PCIE_PORT_11_PROMPT); + + #undef INDEX + #define INDEX 11 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT12, + title =3D STRING_TOKEN(STR_PCIE_PORT_12_PROMPT); + + #undef INDEX + #define INDEX 12 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT13, + title =3D STRING_TOKEN(STR_PCIE_PORT_13_PROMPT); + + #undef INDEX + #define INDEX 13 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT14, + title =3D STRING_TOKEN(STR_PCIE_PORT_14_PROMPT); + + #undef INDEX + #define INDEX 14 + #include "PciePortConfig.hfr" + +endform; + +form formid =3D VFR_FORMID_PCIE_PORT15, + title =3D STRING_TOKEN(STR_PCIE_PORT_15_PROMPT); + + #undef INDEX + #define INDEX 15 + #include "PciePortConfig.hfr" + +endform; + diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfigString= s.uni b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfigStrings.uni new file mode 100644 index 0000000000..d87d30f975 --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PcieConfigStrings.uni @@ -0,0 +1,111 @@ +/** @file +* +* String definitions for the PCIe Config form. +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ + +/=3D# + +#langdef en-US "English" + +#string STR_BLANK_STRING #language en-US "" +#string STR_PCIE_CPU_PROMPT_HELP #language en-US "Press to = config this CPU." +#string STR_PCIE_CPU_0_NULL_PROMPT #language en-US "" +#string STR_PCIE_CPU_0_PROMPT #language en-US "CPU 0 PCIE Config= uration" +#string STR_PCIE_CPU_1_PROMPT #language en-US "CPU 1 PCIE Config= uration" +#string STR_SRIOV_SUPPORT_PROMPT #language en-US "SRIOV" +#string STR_SRIOV_SUPPORT_HELP #language en-US "This option enabl= es / disables the SRIOV function" + +#string STR_PCIE_PORT_PROMPT_HELP #language en-US "Press to = config this port." +#string STR_PCIE_PORT_0_NULL_PROMPT #language en-US "" +#string STR_PCIE_PORT_0_PROMPT #language en-US "CPU 0 Pcie - Port= 0" +#string STR_PCIE_PORT_1_PROMPT #language en-US "CPU 0 Pcie - Port= 1" +#string STR_PCIE_PORT_2_PROMPT #language en-US "CPU 0 Pcie - Port= 2" +#string STR_PCIE_PORT_3_PROMPT #language en-US "CPU 0 Pcie - Port= 3" +#string STR_PCIE_PORT_4_PROMPT #language en-US "CPU 0 Pcie - Port= 4" +#string STR_PCIE_PORT_5_PROMPT #language en-US "CPU 0 Pcie - Port= 5" +#string STR_PCIE_PORT_6_PROMPT #language en-US "CPU 0 Pcie - Port= 6" +#string STR_PCIE_PORT_7_PROMPT #language en-US "CPU 0 Pcie - Port= 7" +#string STR_PCIE_PORT_8_PROMPT #language en-US "CPU 1 Pcie - Port= 0" +#string STR_PCIE_PORT_9_PROMPT #language en-US "CPU 1 Pcie - Port= 1" +#string STR_PCIE_PORT_10_PROMPT #language en-US "CPU 1 Pcie - Port= 2" +#string STR_PCIE_PORT_11_PROMPT #language en-US "CPU 1 Pcie - Port= 3" +#string STR_PCIE_PORT_12_PROMPT #language en-US "CPU 1 Pcie - Port= 4" +#string STR_PCIE_PORT_13_PROMPT #language en-US "CPU 1 Pcie - Port= 5" +#string STR_PCIE_PORT_14_PROMPT #language en-US "CPU 1 Pcie - Port= 6" +#string STR_PCIE_PORT_15_PROMPT #language en-US "CPU 1 Pcie - Port= 7" + +#string STR_PCIE_PORT_ENABLE_PROMPT_0 #language en-US "PCI-E Port" +#string STR_PCIE_PORT_ENABLE_HELP #language en-US "Disable is used t= o disable the port and hide its CFG space." + +#string STR_LINK_STATUS #language en-US "PCI-E Port Link S= tatus" +#string STR_LINK_STATUS_NG #language en-US "Link Training Err= or" +#string STR_LINK_STATUS_OK #language en-US "Link Up" +#string STR_MAXLINK_STATUS #language en-US "PCI-E Port Link M= ax" +#string STR_WIDTH1_STRING #language en-US "X1" +#string STR_WIDTH2_STRING #language en-US "X2" +#string STR_WIDTH4_STRING #language en-US "X4" +#string STR_WIDTH8_STRING #language en-US "X8" +#string STR_WIDTH16_STRING #language en-US "X16" +#string STR_WIDTH32_STRING #language en-US "X32" + +#string STR_PCIESPEED_STATUS #language en-US "PCI-E Port Link S= peed" +#string STR_PCIE_LINK_SPEED1_STRING #language en-US "Gen 1 (2.5 GT/s)" +#string STR_PCIE_LINK_SPEED2_STRING #language en-US "Gen 2 (5 GT/s)" +#string STR_PCIE_LINK_SPEED3_STRING #language en-US "Gen 3 (8 GT/s)" + +#string STR_PCIE_PORT_DEEMPHASIS_PROMPT_0 #language en-US "PCI-E Port DeE= mphasis" + +#string STR_PCIE_PORT_DEEMPHASIS_HELP #language en-US "De-Emphais contro= l for this PCIe port." + +#string STR_35DB #language en-US "-3.5 dB" +#string STR_60DB #language en-US "-6.0 dB" + +#string STR_PCIE_PORT_ASPM_PROMPT_G #language en-US "PCI-E ASPM Suppor= t" + +#string STR_PCIE_GLOBAL_ASPM_HELP #language en-US "This option enabl= es / disables the ASPM support for all downstream devices." +#string STR_PCIE_PORT_ASPM_HELP #language en-US "This option enabl= es / disables the ASPM (L1) support for the downstream devices." + +#string STR_L0S_ONLY #language en-US "L0s Only" +#string STR_L0S_L1_BOTH #language en-US "L0s & L1 Both" +#string STR_L1_ONLY #language en-US "L1 Only" + +#string STR_PCIE_PORT_MAX_PAYLOAD_REQUEST_PROMPT #language en-US "Max P= ayload Size" +#string STR_PCIE_PORT_MAX_PAYLOAD_REQUEST_HELP #language en-US "Set M= axpayload size to 512B if possible" +// +// Common Strings +// +#string STR_AUTO #language en-US "Auto" +#string STR_X1 #language en-US "x1" +#string STR_X2 #language en-US "x2" +#string STR_X4 #language en-US "x4" +#string STR_X8 #language en-US "x8" +#string STR_X16 #language en-US "x16" + +#string STR_128B #language en-US "128B" +#string STR_256B #language en-US "256B" +#string STR_512B #language en-US "512B" +#string STR_1024B #language en-US "1024B" +#string STR_2048B #language en-US "2048B" +#string STR_4096B #language en-US "4096B" + +#string STR_CLEAR #language en-US "Clear" +#string STR_SET #language en-US "Set" + +#string STR_PCIE_PORT_LINK_SPEED_PROMPT_0 #language en-US "Link Spee= d" +#string STR_PCIE_PORT_LINK_SPEED_HELP #language en-US "Link Spee= d:Gen1(2.5 GT/s)/Gen2(5 GT/s)/Gen3(8 GT/s)/GEN 4 (16 gt/s)" +#string STR_PCIE_GEN1 #language en-US "Gen 1 (2.= 5 GT/s)" +#string STR_PCIE_GEN2 #language en-US "Gen 2 (5 = GT/s)" +#string STR_PCIE_GEN3 #language en-US "Gen 3 (8 = GT/s)" +#string STR_PCIE_GEN4 #language en-US "Gen 4 (16= GT/s)" diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PciePortConfig.h= fr b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PciePortConfig.hfr new file mode 100644 index 0000000000..1a8942157c --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/PciePortConfig.hfr @@ -0,0 +1,167 @@ +/** @file +* +* PCIe Config form at Oem Config fromset. +* +* Copyright (c) 2017 - 2018, Hisilicon Limited. All rights reserved. +* Copyright (c) 2017 - 2018, Linaro Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the B= SD 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 IM= PLIED. +* +**/ +oneof varid =3D OEM_CONFIG_DATA.PciePort[INDEX], + prompt =3D STRING_TOKEN(STR_PCIE_PORT_ENABLE_PROMPT_0), + help =3D STRING_TOKEN(STR_PCIE_PORT_ENABLE_HELP), + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D RESET_= REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D RESET_= REQUIRED; +endoneof; + +suppressif ideqval OEM_CONFIG_DATA.PciePort[INDEX] =3D=3D 0x00; + oneof varid =3D OEM_CONFIG_DATA.PcieLinkSpeedPort[INDEX], + prompt =3D STRING_TOKEN(STR_PCIE_PORT_LINK_SPEED_PROMPT_0), + help =3D STRING_TOKEN(STR_PCIE_PORT_LINK_SPEED_HELP), + option text =3D STRING_TOKEN(STR_PCIE_GEN1), value =3D 1, flags = =3D DEFAULT | MANUFACTURING | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_PCIE_GEN2), value =3D 2, flags = =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_PCIE_GEN3), value =3D 3, flags = =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_PCIE_GEN4), value =3D 4, flags = =3D RESET_REQUIRED; + endoneof; + + suppressif NOT ideqval OEM_CONFIG_DATA.PcieLinkSpeedPort[INDEX] =3D=3D 2; + oneof varid =3D OEM_CONFIG_DATA.PcieLinkDeEmphasisPort[INDEX], + prompt =3D STRING_TOKEN(STR_PCIE_PORT_DEEMPHASIS_PROMPT_0), + help =3D STRING_TOKEN(STR_PCIE_PORT_DEEMPHASIS_HELP), + #if ( INDEX =3D=3D 0) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 1) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 3) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 4) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 6) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 7) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 8) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 9) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 11) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 14) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 15) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED; + #endif + + #if ( INDEX =3D=3D 2) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED ; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED| MANUFACTURING | DEFAULT; + #endif + + #if ( INDEX =3D=3D 5) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + #endif + + #if ( INDEX =3D=3D 10) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + #endif + + #if ( INDEX =3D=3D 12) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + #endif + + #if ( INDEX =3D=3D 13) + option text =3D STRING_TOKEN(STR_60DB), value =3D 0, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_35DB), value =3D 1, flags =3D RESET= _REQUIRED | MANUFACTURING | DEFAULT; + #endif + + endoneof; + endif; + + grayoutif TRUE; + oneof varid =3D OEM_CONFIG_DATA.PcieLinkStatusPort[INDEX], + prompt =3D STRING_TOKEN(STR_LINK_STATUS), + help =3D STRING_TOKEN(STR_BLANK_STRING), + option text =3D STRING_TOKEN(STR_LINK_STATUS_NG), value =3D 0, flags= =3D MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_LINK_STATUS_OK), value =3D 1, flags= =3D RESET_REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.PcieLinkMaxPort[INDEX], + prompt =3D STRING_TOKEN(STR_MAXLINK_STATUS), + help =3D STRING_TOKEN(STR_BLANK_STRING), + option text =3D STRING_TOKEN(STR_WIDTH1_STRING), value =3D 1, flags = =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_WIDTH2_STRING), value =3D 2, flags = =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_WIDTH4_STRING), value =3D 4, flags = =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_WIDTH8_STRING), value =3D 8, flags = =3D RESET_REQUIRED | MANUFACTURING | DEFAULT; + endoneof; + + suppressif NOT ideqval OEM_CONFIG_DATA.PcieLinkStatusPort[INDEX] =3D= =3D 1; + oneof varid =3D OEM_CONFIG_DATA.PcieLinkSpeedRateStatusPort[INDEX], + prompt =3D STRING_TOKEN(STR_PCIESPEED_STATUS), + help =3D STRING_TOKEN(STR_BLANK_STRING), + option text =3D STRING_TOKEN(STR_PCIE_LINK_SPEED1_STRING), value = =3D 0, flags =3D MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_PCIE_LINK_SPEED2_STRING), value = =3D 1, flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_PCIE_LINK_SPEED3_STRING), value = =3D 2, flags =3D RESET_REQUIRED; + endoneof; + endif; + endif; + + oneof varid =3D OEM_CONFIG_DATA.PcieMaxPayloadSizePort[INDEX], + prompt =3D STRING_TOKEN(STR_PCIE_PORT_MAX_PAYLOAD_REQUEST_PROMPT), + help =3D STRING_TOKEN(STR_PCIE_PORT_MAX_PAYLOAD_REQUEST_HELP), + option text =3D STRING_TOKEN(STR_128B), value =3D 0, flags =3D MANUF= ACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_256B), value =3D 1, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_512B), value =3D 2, flags =3D RESET= _REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.PcieAspmPort[INDEX], + prompt =3D STRING_TOKEN (STR_PCIE_PORT_ASPM_PROMPT_G), + help =3D STRING_TOKEN (STR_PCIE_GLOBAL_ASPM_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D= RESET_REQUIRED | MANUFACTURING | DEFAULT; + option text =3D STRING_TOKEN(STR_L0S_ONLY), value =3D 1, flags =3D= RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_L1_ONLY), value =3D 2, flags =3D= RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_L0S_L1_BOTH), value =3D 3, flags =3D= RESET_REQUIRED; + endoneof; + +endif; + diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/RasConfig.hfr b/= Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/RasConfig.hfr new file mode 100644 index 0000000000..7c0ea53061 --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/RasConfig.hfr @@ -0,0 +1,172 @@ + ///** @file +// +// Memory RAS Config form. +// +// Copyright (c) 2018, Hisilicon Limited. All rights reserved. +// Copyright (c) 2018, Linaro Limited. 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 I= MPLIED. +// +//**/ + form formid =3D RAS_CONFIG_FORM_ID, + title =3D STRING_TOKEN(STR_RAS_CONFIG_FORM_TITLE); + + oneof varid =3D OEM_CONFIG_DATA.EnRasSupport, + prompt =3D STRING_TOKEN(STR_SUPPORT_RAS_TITLE), + help =3D STRING_TOKEN(STR_SUPPORT_RAS_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D RE= SET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D MAN= UFACTURING | DEFAULT | RESET_REQUIRED; + endoneof; + + suppressif TRUE; + goto VFR_FORMID_MEMORY_RAS, + prompt =3D STRING_TOKEN(STR_MEMORY_RAS_CONFIG_FORM_TITLE), + help =3D STRING_TOKEN(STR_MEMORY_RAS_CONFIG_FORM_HELP); + + goto VFR_FORMID_PCIE_RAS, + prompt =3D STRING_TOKEN(STR_PCIE_RAS_CONFIG_FORM_TITLE), + help =3D STRING_TOKEN(STR_PCIE_RAS_CONFIG_FORM_HELP); + endif; + endform; + + form formid =3D VFR_FORMID_MEMORY_RAS, + title =3D STRING_TOKEN(STR_MEMORY_RAS_CONFIG_FORM_TITLE); + + oneof varid =3D OEM_CONFIG_DATA.CheckAlgorithm, + prompt =3D STRING_TOKEN(STR_CHECK_ALGORITHM_PROMPT), + help =3D STRING_TOKEN(STR_CHECK_ALGORITHM_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D MA= NUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ECC), value =3D 1, flags =3D RESET_= REQUIRED; + option text =3D STRING_TOKEN(STR_SDEC), value =3D 2, flags =3D RESET= _REQUIRED; + endoneof; + + grayoutif ideqval OEM_CONFIG_DATA.CheckAlgorithm =3D=3D 0; + oneof varid =3D OEM_CONFIG_DATA.EnPoison, + prompt =3D STRING_TOKEN(STR_ENABLE_POISON_PROMPT), + help =3D STRING_TOKEN(STR_ENABLE_POISON_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D M= ANUFACTURING | DEFAULT | RESET_REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.PatrolScrub, + prompt =3D STRING_TOKEN(STR_PATROL_SCRUB_PROMPT), + help =3D STRING_TOKEN(STR_PATROL_SCRUB_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D M= ANUFACTURING | DEFAULT | RESET_REQUIRED; + endoneof; + endif; + + grayoutif ideqval OEM_CONFIG_DATA.CheckAlgorithm =3D=3D 0 OR ideqval O= EM_CONFIG_DATA.PatrolScrub =3D=3D 0; + numeric varid =3D OEM_CONFIG_DATA.PatrolScrubDuration, + prompt =3D STRING_TOKEN(STR_PATROL_SCRUB_DURATION_PROMPT), + help =3D STRING_TOKEN(STR_PATROL_SCRUB_DURATION_HELP), + flags =3D 0 | RESET_REQUIRED, + minimum =3D 0, + maximum =3D 24, + step =3D 1, + default =3D 24, + endnumeric; + endif; + + grayoutif ideqval OEM_CONFIG_DATA.CheckAlgorithm =3D=3D 0; + oneof varid =3D OEM_CONFIG_DATA.DemandScrubMode, + prompt =3D STRING_TOKEN(STR_DEMAND_SCRUB_PROMPT), + help =3D STRING_TOKEN(STR_DEMAND_SCRUB_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D R= ESET_REQUIRED; + endoneof; + endif; + + suppressif ideqval OEM_CONFIG_DATA.CheckAlgorithm =3D=3D 0 OR ideqval = OEM_CONFIG_DATA.CheckAlgorithm =3D=3D 1; + goto VFR_FORMID_CORRECT_ERROR, + prompt =3D STRING_TOKEN(STR_CORRECT_ERROR_FORM_TITLE), + help =3D STRING_TOKEN(STR_CORRECT_ERROR_FORM_HELP); + endif; + endform; + + + form formid =3D VFR_FORMID_CORRECT_ERROR, + title =3D STRING_TOKEN(STR_CORRECT_ERROR_FORM_TITLE); + + oneof varid =3D OEM_CONFIG_DATA.CorrectErrorThreshold, + prompt =3D STRING_TOKEN(STR_CORRECT_ERROR_THRESHOLD_PROMPT), + help =3D STRING_TOKEN(STR_CORRECT_ERROR_THRESHOLD_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D MA= NUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_500), value =3D 1, flags =3D RESET_= REQUIRED; + option text =3D STRING_TOKEN(STR_1000), value =3D 2, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_2000), value =3D 3, flags =3D RESET= _REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.FunnelPeriod, + prompt =3D STRING_TOKEN(STR_FUNNEL_PERIOD_PROMPT), + help =3D STRING_TOKEN(STR_FUNNEL_PERIOD_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D MA= NUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_30), value =3D 1, flags =3D RESET_R= EQUIRED; + option text =3D STRING_TOKEN(STR_60), value =3D 2, flags =3D RESET_R= EQUIRED; + endoneof; + + suppressif ideqval OEM_CONFIG_DATA.CorrectErrorThreshold =3D=3D 0; + oneof varid =3D OEM_CONFIG_DATA.AdvanceDeviceCorrection , + prompt =3D STRING_TOKEN(STR_ADVANCE_DEVICE_CORRECTION_PROMPT), + help =3D STRING_TOKEN(STR_ADVANCE_DEVICE_CORRECTION_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_SR), value =3D 1, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_MR), value =3D 2, flags =3D RESET= _REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.RankSparing, + prompt =3D STRING_TOKEN(STR_RANK_SPARING_PROMPT), + help =3D STRING_TOKEN(STR_RANK_SPARING_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D R= ESET_REQUIRED; + endoneof; + endif; + endform; + + form formid =3D VFR_FORMID_PCIE_RAS, + title =3D STRING_TOKEN(STR_PCIE_RAS_CONFIG_FORM_TITLE); + + oneof varid =3D OEM_CONFIG_DATA.DpcFeature, + prompt =3D STRING_TOKEN(STR_DPC_FEARURE), + help =3D STRING_TOKEN(STR_DPC_FEARURE_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D R= ESET_REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.EcrcFeature, + prompt =3D STRING_TOKEN(STR_ECRC_FEARURE), + help =3D STRING_TOKEN(STR_ECRC_FEARURE_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D R= ESET_REQUIRED; + endoneof; + + oneof varid =3D OEM_CONFIG_DATA.CompletionTimeout, + prompt =3D STRING_TOKEN(STR_COMPLETION_TIMEOUT), + help =3D STRING_TOKEN(STR_COMPLETION_TIMEOUT_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D M= ANUFACTURING | DEFAULT | RESET_REQUIRED; + endoneof; + + suppressif ideqval OEM_CONFIG_DATA.CompletionTimeout =3D=3D 0; + oneof varid =3D OEM_CONFIG_DATA.CompletionTimeoutValue, + prompt =3D STRING_TOKEN(STR_COMPLETION_TIMEOUT_VALUE), + help =3D STRING_TOKEN(STR_COMPLETION_TIMEOUT_VALUE_HELP), + option text =3D STRING_TOKEN(STR_50US_TO_50MS), value =3D 0, flags= =3D MANUFACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_50US_TO_100US), value =3D 1, flag= s =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_1MS_TO_10MS), value =3D 2, flags = =3D RESET_REQUIRED; + endoneof; + endif; + + oneof varid =3D OEM_CONFIG_DATA.HotPlug, + prompt =3D STRING_TOKEN(STR_HOT_PLUG), + help =3D STRING_TOKEN(STR_HOT_PLUG_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D M= ANUFACTURING | DEFAULT | RESET_REQUIRED; + endoneof; + endform; + diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/RasConfig.uni b/= Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/RasConfig.uni new file mode 100644 index 0000000000..551c65fa5f --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/RasConfig.uni @@ -0,0 +1,85 @@ +// /** @file +// OEM Config Library used by UiApp +// +// +// Copyright (c) 2018, Hisilicon Limited. All rights reserved. +// Copyright (c) 2018, Linaro Limited. All rights reserved. +// +// This program and the accompanying materials are licensed and made avail= able under +// the terms and conditions of the BSD License that accompanies this distr= ibution. +// 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 IM= PLIED. +// +// **/ +#langdef en-US "English" + +#string STR_SUPPORT_RAS_TITLE #language en-US "Suppor= t RAS" +#string STR_SUPPORT_RAS_HELP #language en-US "Suppor= t memory/PCIe/CPU RAS funtions." + +#string STR_MEMORY_RAS_CONFIG_FORM_TITLE #language en-US "Memory= RAS Config" +#string STR_MEMORY_RAS_CONFIG_FORM_HELP #language en-US "Memory= RAS Config" + +#string STR_PCIE_RAS_CONFIG_FORM_TITLE #language en-US "PCIe R= AS Config" +#string STR_PCIE_RAS_CONFIG_FORM_HELP #language en-US "PCIe R= AS Config" + +#string STR_CPU_RAS_CONFIG_FORM_TITLE #language en-US "CPU RA= S Config" +#string STR_CPU_RAS_CONFIG_FORM_HELP #language en-US "CPU RA= S Config" + +#string STR_ENABLE_POISON_PROMPT #language en-US "Poison" +#string STR_ENABLE_POISON_HELP #language en-US "Enable= /Disable Poison flag" + +#string STR_CHECK_ALGORITHM_PROMPT #language en-US "Check = Algorithm" +#string STR_CHECK_ALGORITHM_HELP #language en-US "Set th= e memory check algorithm" +#string STR_ECC #language en-US "ECC" +#string STR_SDEC #language en-US "SDEC" + +#string STR_PATROL_SCRUB_PROMPT #language en-US "Active= Scrub" +#string STR_PATROL_SCRUB_HELP #language en-US "Enable= /Disable Active Scrub" + +#string STR_PATROL_SCRUB_DURATION_PROMPT #language en-US "Active= Scrub Interval" +#string STR_PATROL_SCRUB_DURATION_HELP #language en-US "Select= s the number of hours (0-24) required to complete full scrub. A value of ze= ro means auto!" + +#string STR_DEMAND_SCRUB_PROMPT #language en-US "Passiv= e Scrub" +#string STR_DEMAND_SCRUB_HELP #language en-US "Enable= /Disable Passive Scrub" + +#string STR_CORRECT_ERROR_FORM_TITLE #language en-US "Correc= t Error handle" +#string STR_CORRECT_ERROR_FORM_HELP #language en-US "Correc= table error-related configuration" + +#string STR_CORRECT_ERROR_THRESHOLD_PROMPT #language en-US "Correc= t Error Threshold" +#string STR_CORRECT_ERROR_THRESHOLD_HELP #language en-US "Correc= table error-related configuration" +#string STR_500 #language en-US "500" +#string STR_1000 #language en-US "1000" +#string STR_2000 #language en-US "2000" + +#string STR_FUNNEL_PERIOD_PROMPT #language en-US "Funnel= Period(min)" +#string STR_FUNNEL_PERIOD_HELP #language en-US "Set th= e Funnel function time period" +#string STR_30 #language en-US "30" +#string STR_60 #language en-US "60" + +#string STR_ADVANCE_DEVICE_CORRECTION_PROMPT #language en-US "Advanc= e Device Correction" +#string STR_ADVANCE_DEVICE_CORRECTION_HELP #language en-US "Config= ure the correctable error threshold alarm handling solution" +#string STR_SR #language en-US "SR" +#string STR_MR #language en-US "MR" + +#string STR_RANK_SPARING_PROMPT #language en-US "Rank S= paring" +#string STR_RANK_SPARING_HELP #language en-US "Enable= /Disable Rank Sparing" + +#string STR_DPC_FEARURE #language en-US "DPC Fe= ature" +#string STR_DPC_FEARURE_HELP #language en-US "Enable= /Disable PCIE DPC(DownStream Port Containment) feature." + +#string STR_ECRC_FEARURE #language en-US "ECRC F= eature" +#string STR_ECRC_FEARURE_HELP #language en-US "Enable= /Disable ECRC check feature" +#string STR_COMPLETION_TIMEOUT #language en-US "Comple= tion Timeout" +#string STR_COMPLETION_TIMEOUT_HELP #language en-US "Enable= /Disable PCIE Completion Timeout feature." + +#string STR_COMPLETION_TIMEOUT_VALUE #language en-US "Comple= tion Timeout Value" +#string STR_COMPLETION_TIMEOUT_VALUE_HELP #language en-US "Set th= e corresponding Completion Timeout value." + +#string STR_HOT_PLUG #language en-US "Hot-Pl= ug" +#string STR_HOT_PLUG_HELP #language en-US "Enable= /Disable PCIE Hot-plug feature." +#string STR_50US_TO_50MS #language en-US "50 us = to 50 ms" +#string STR_50US_TO_100US #language en-US "50 us = to 100 us" +#string STR_1MS_TO_10MS #language en-US "1 ms t= o 10 ms" diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/iBMCConfig.hfr b= /Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/iBMCConfig.hfr new file mode 100644 index 0000000000..4d295a8593 --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/iBMCConfig.hfr @@ -0,0 +1,81 @@ + ///** @file +// +// IBMC Config form. +// +// Copyright (c) 2018, Hisilicon Limited. All rights reserved. +// Copyright (c) 2018, Linaro Limited. 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 I= MPLIED. +// +//**/ + form formid =3D IBMC_CONFIG_FORM_ID, + title =3D STRING_TOKEN(STR_IBMC_CONFIG_FORM_TITLE); + + oneof + varid =3D OEM_CONFIG_DATA.BmcWdtEnable, + prompt =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER), + help =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D= DEFAULT; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D= 0; + endoneof; + + suppressif ideqval OEM_CONFIG_DATA.BmcWdtEnable =3D=3D 0; + numeric + varid =3D OEM_CONFIG_DATA.BmcWdtTimeout, + prompt =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_TIMEOUT), + help =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_TIMEOUT_C10_HE= LP), + minimum =3D 15, + maximum =3D 25, + step =3D 1, + default =3D 15, + endnumeric; + + oneof + varid =3D OEM_CONFIG_DATA.BmcWdtAction, + prompt =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_ACTION), + help =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_ACTION_HELP), + option text =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_NO_ACTION), = value =3D 0, flags =3D 0; + option text =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_HARD_RESET), = value =3D 1, flags =3D DEFAULT; + option text =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_POWER_DOWN), = value =3D 2, flags =3D 0; + option text =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_POWER_CYCLE), = value =3D 3, flags =3D 0; + endoneof; + endif; + + suppressif TRUE; + oneof + varid =3D OEM_CONFIG_DATA.OSWdtEnable, + prompt =3D STRING_TOKEN(STR_BMC_OS_WATCHDOG_TIMER), + help =3D STRING_TOKEN(STR_BMC_OS_WATCHDOG_TIMER_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = DEFAULT; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D = 0; + endoneof; + endif; + + suppressif ideqval OEM_CONFIG_DATA.OSWdtEnable =3D=3D 0; + numeric + varid =3D OEM_CONFIG_DATA.OSWdtTimeout, + prompt =3D STRING_TOKEN(STR_BMC_OS_WDT_TIMEOUT), + help =3D STRING_TOKEN(STR_BMC_OS_WDT_TIMEOUT_HELP), + minimum =3D 5, + maximum =3D 8, + step =3D 1, + default =3D 5, + endnumeric; + + oneof + varid =3D OEM_CONFIG_DATA.OSWdtAction, + prompt =3D STRING_TOKEN(STR_BMC_OS_WDT_ACTION), + help =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_ACTION_HELP), + option text =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_NO_ACTION), = value =3D 0, flags =3D 0; + option text =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_HARD_RESET), = value =3D 1, flags =3D DEFAULT; + option text =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_POWER_DOWN), = value =3D 2, flags =3D 0; + option text =3D STRING_TOKEN(STR_BMC_WATCHDOG_TIMER_POWER_CYCLE), = value =3D 3, flags =3D 0; + endoneof; + endif; + + endform; diff --git a/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/iBMCConfig.uni b= /Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/iBMCConfig.uni new file mode 100644 index 0000000000..e12e433760 --- /dev/null +++ b/Silicon/Hisilicon/Hi1620/Hi1620OemConfigUiLib/iBMCConfig.uni @@ -0,0 +1,34 @@ +// /** @file +// OEM Config Library used by UiApp +// +// +// Copyright (c) 2018, Hisilicon Limited. All rights reserved. +// Copyright (c) 2018, Linaro Limited. All rights reserved. +// +// This program and the accompanying materials are licensed and made avail= able under +// the terms and conditions of the BSD License that accompanies this distr= ibution. +// 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 IM= PLIED. +// +// **/ +#langdef en-US "English" + +#string STR_BMC_WATCHDOG_TIMER #language en-US "iBMC= WDT Support For POST" +#string STR_BMC_WATCHDOG_TIMER_HELP #language en-US "Enab= le/Disable iBMC watchdog timer at start of POST." +#string STR_BMC_WATCHDOG_TIMER_TIMEOUT #language en-US "iBMC= WDT TimeOut For POST" +#string STR_BMC_WATCHDOG_TIMER_TIMEOUT_C10_HELP #language en-US "Ente= r the number of minutes the system firmware has to boot the OS before it ta= kes the Timeout Action. Valid values are from 15 to 25 minutes." +#string STR_BMC_WATCHDOG_TIMER_ACTION #language en-US "iBMC= WDT Action For POST" +#string STR_BMC_WATCHDOG_TIMER_ACTION_HELP #language en-US "Time= out Action Choices: No Action, Hard Reset, Power Down or Power Cycle" +#string STR_BMC_WATCHDOG_TIMER_NO_ACTION #language en-US "No A= ction" +#string STR_BMC_WATCHDOG_TIMER_HARD_RESET #language en-US "Hard= Reset" +#string STR_BMC_WATCHDOG_TIMER_POWER_DOWN #language en-US "Powe= r Down" +#string STR_BMC_WATCHDOG_TIMER_POWER_CYCLE #language en-US "Powe= r Cycle" +#string STR_BMC_OS_WATCHDOG_TIMER #language en-US "iBMC= WDT Support For OS" +#string STR_BMC_OS_WATCHDOG_TIMER_HELP #language en-US "Enab= le/Disable OS Watchdog Timer When OS Load" +#string STR_BMC_OS_WDT_TIMEOUT #language en-US "iBMC= WDT TimeOut For OS" +#string STR_BMC_OS_WDT_TIMEOUT_HELP #language en-US "Ente= r the number of minutes the system firmware \n has to OS Load before it tak= es the Timeout Action. Valid values are from 5 to 8 minutes." +#string STR_BMC_OS_WDT_ACTION #language en-US "iBMC= WDT Action For OS" + --=20 2.17.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel