From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: None (no SPF record) identity=mailfrom; client-ip=2a00:1450:4010:c07::243; helo=mail-lf0-x243.google.com; envelope-from=mw@semihalf.com; receiver=edk2-devel@lists.01.org Received: from mail-lf0-x243.google.com (mail-lf0-x243.google.com [IPv6:2a00:1450:4010:c07::243]) (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 BFD2E2034EE3E for ; Sun, 5 Nov 2017 02:52:05 -0800 (PST) Received: by mail-lf0-x243.google.com with SMTP id r135so7549987lfe.5 for ; Sun, 05 Nov 2017 02:56:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Gw9lhApnRcPwrWVi/eLM4UyHyyKq0XKf2Dxh/ti2N1Y=; b=J0zlo0bjj4JmmKhh6wae4mysdWw2u37sRGBMkWFktX8qkLtpUtmMNDCFGw8uLyz5sc BCw9nWZvwRoD2B4IYkkFb+hRoRQtP4dyCNc/oM0Rs7LIPnrRBiDfuA1SDLBiBqLD+EW1 1IYGt5HjyHm81SFP14I2DxWSwUm1aHOd4OADWBMkCmNlCYj1zl0DCzQ3THk62AulfFJx +1UzpNeOIzGp6hQCcziAh7mhoMfAWRAtAyJzE5MuxalihSv87o8OFUG3SlUqcUtyi6ha FqcnKyi9o5KGRXclABbZaKNFL5VuXy9IRMB8p29Yp/WpZRHk/dmg+oyQP7aGfLJZOJvC J7dg== 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=Gw9lhApnRcPwrWVi/eLM4UyHyyKq0XKf2Dxh/ti2N1Y=; b=cFZVmbpdMpONG+kWEh+PgEMts7DRDjGF3nkJUwANT1di2AqsRHi2MMhP5Qfzlpne43 YdLth+OcYMSXY0mj7AcHhYF37w+WVfcl1mbZCpbDq+FD7vutav6+5+oDwqkwOxsr7kZB TMOS3hgntMn9UdDb/KnC2Uwz8Gx48ifCSJNZ1z5Fe5HcPM5JUi2XTZBm9+KeohTpTeuU CYpZzz6L9igH9ZLq0pWhdvhSC4gtPKf2I25xSWio4NoZ5uBVJdC4C9ils7KcKehBN/vJ TYD5swzN7gIJ9otjSOzfMwTV2HdmdQFaDLLevt8A03XwvWhxuEUSk/FaFw/wnjLTFmTJ 01yw== X-Gm-Message-State: AMCzsaUAMe8bRmoz8vBj03XjNSwxCVwOvinoFPV411IQyypc6R86jJvZ zDpod+AKy8FSE5iwPYlq86XQA6CP9zM= X-Google-Smtp-Source: ABhQp+QqPI+bLOLCcWV5NyvsnrXiarVP8sqcqwIks1koEH2FxhbdjI6/Bucp3rncNf3LpeXim3PR0A== X-Received: by 10.46.27.142 with SMTP id c14mr4880818ljf.40.1509879361079; Sun, 05 Nov 2017 02:56:01 -0800 (PST) Received: from gilgamesh.semihalf.com (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id a198sm1853649lfb.79.2017.11.05.02.55.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 05 Nov 2017 02:56:00 -0800 (PST) From: Marcin Wojtas To: edk2-devel@lists.01.org Cc: leif.lindholm@linaro.org, ard.biesheuvel@linaro.org, nadavh@marvell.com, neta@marvell.com, kostap@marvell.com, jinghua@marvell.com, mw@semihalf.com, jsd@semihalf.com Date: Sun, 5 Nov 2017 11:55:39 +0100 Message-Id: <1509879339-10516-5-git-send-email-mw@semihalf.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509879339-10516-1-git-send-email-mw@semihalf.com> References: <1509879339-10516-1-git-send-email-mw@semihalf.com> Subject: [platforms: PATCH 4/4] Marvell/Armada: Enable variables support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Nov 2017 10:52:06 -0000 Wire up the non-volatile EFI variable store support, by switching from the emulation driver to the real one. Define default values for memory mapped SPI access, which must be configured by the early firmware. In order to ensure proper execution, configure initialization order with Depex entries. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas --- Platform/Marvell/Armada/Armada.dsc.inc | 25 +++++++++++++++++++- Platform/Marvell/Armada/Armada70x0.fdf | 6 ++++- Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf | 5 +++- Platform/Marvell/Drivers/Spi/MvSpiDxe.inf | 5 +++- Platform/Marvell/Marvell.dec | 3 +++ 5 files changed, 40 insertions(+), 4 deletions(-) diff --git a/Platform/Marvell/Armada/Armada.dsc.inc b/Platform/Marvell/Armada/Armada.dsc.inc index 2cd96e6..cccc3e0 100644 --- a/Platform/Marvell/Armada/Armada.dsc.inc +++ b/Platform/Marvell/Armada/Armada.dsc.inc @@ -371,6 +371,17 @@ # TRNG gMarvellTokenSpaceGuid.PcdEip76TrngBaseAddress|0xF2760000 + # + # Variable store - default values + # + gMarvellTokenSpaceGuid.PcdSpiMemoryBase|0xF9000000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0xF93C0000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0xF93D0000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0xF93E0000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000 + ################################################################################ # # Components Section - list of all EDK II Modules needed by this Platform @@ -428,7 +439,6 @@ MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf - MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf @@ -485,6 +495,19 @@ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf } + # + # Variable services + # + Platform/Marvell/Drivers/Spi/Variables/MvFvbDxe.inf + MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf { + + AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf + NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf + TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf + VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf + } + # UEFI application (Shell Embedded Boot Loader) ShellPkg/Application/Shell/Shell.inf { diff --git a/Platform/Marvell/Armada/Armada70x0.fdf b/Platform/Marvell/Armada/Armada70x0.fdf index ec2c368..ca92c60 100644 --- a/Platform/Marvell/Armada/Armada70x0.fdf +++ b/Platform/Marvell/Armada/Armada70x0.fdf @@ -103,7 +103,6 @@ FvNameGuid = 5eda4200-2c5f-43cb-9da3-0baf74b1b30c INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf - INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf @@ -115,6 +114,11 @@ FvNameGuid = 5eda4200-2c5f-43cb-9da3-0baf74b1b30c INF Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf INF Platform/Marvell/Armada/Drivers/Armada70x0RngDxe/Armada70x0RngDxe.inf + # Variable services + INF Platform/Marvell/Drivers/Spi/Variables/MvFvbDxe.inf + INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf + INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf + # Network support INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf diff --git a/Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf b/Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf index 200a00c..c6bbe5e 100644 --- a/Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf +++ b/Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf @@ -64,4 +64,7 @@ gMarvellSpiFlashProtocolGuid [Depex] - TRUE + # + # MvSpiFlashDxe must be loaded prior to variables driver MvFvbDxe + # + BEFORE gMarvellFvbDxeGuid diff --git a/Platform/Marvell/Drivers/Spi/MvSpiDxe.inf b/Platform/Marvell/Drivers/Spi/MvSpiDxe.inf index 9fe246f..ac0e407 100644 --- a/Platform/Marvell/Drivers/Spi/MvSpiDxe.inf +++ b/Platform/Marvell/Drivers/Spi/MvSpiDxe.inf @@ -67,4 +67,7 @@ gMarvellSpiMasterProtocolGuid [Depex] - TRUE + # + # MvSpiDxe must be loaded prior to MvSpiFlash driver + # + BEFORE gMarvellSpiFlashDxeGuid diff --git a/Platform/Marvell/Marvell.dec b/Platform/Marvell/Marvell.dec index 6aa2a8d..2eb6238 100644 --- a/Platform/Marvell/Marvell.dec +++ b/Platform/Marvell/Marvell.dec @@ -56,6 +56,9 @@ gShellFUpdateHiiGuid = { 0x9b5d2176, 0x590a, 0x49db, { 0x89, 0x5d, 0x4a, 0x70, 0xfe, 0xad, 0xbe, 0x24 } } gShellSfHiiGuid = { 0x03a67756, 0x8cde, 0x4638, { 0x82, 0x34, 0x4a, 0x0f, 0x6d, 0x58, 0x81, 0x39 } } + gMarvellFvbDxeGuid = { 0x42903750, 0x7e61, 0x4aaf, { 0x83, 0x29, 0xbf, 0x42, 0x36, 0x4e, 0x24, 0x85 } } + gMarvellSpiFlashDxeGuid = { 0x49d7fb74, 0x306d, 0x42bd, { 0x94, 0xc8, 0xc0, 0xc5, 0x4b, 0x18, 0x1d, 0xd7 } } + [Protocols] # installed as a protocol by PlatInitDxe to force ordering between DXE drivers # that depend on the lowlevel platform initialization having been completed -- 2.7.4