summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-25Silicon/SynQuacer: load I2C driver before platform DXE driverArd Biesheuvel
To ensure that the I2C master protocol is installed immediately onto the handles created by PlatformDxe in its entry point, force the SynQuacerI2cDxe driver to be loaded before PlatformDxe. These handles are recursively connected by the DXE core as soon as they appear, and so ensuring that the I2C master protocol driver is available at this time will ensure that these handles will be connected to it right away. This is useful when implementations of architectural protocols such as RTC or the EFI variable store, which should become available long before the ordinary dispatch of UEFI driver model drivers is started at the end of DXE, are based on I2C. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-01-25Silicon/SynQuacerI2cDxe: remove spurious format specifierArd Biesheuvel
Remove a %r without an associated parameter. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-01-25Silicon/NXP/Pcf8563RealTimeClockLib: avoid driver binding protocolArd Biesheuvel
Instead of registering a notification callback on the driver binding protocol, and attempting to connect our I2C master handle each time a new driver is registered, switch to the more obvious approach of registering a notification callback on the I2C master protocol directly. The original code was written under the assumption that it would make the RTC available at an earlier time, but given that all handles that are created during the execution of a driver entry point are connected by DXE core right away (i.e., before StartImage() returns), this is not really necessary, and in fact, may result in the driver already having been connected by the time we attempt to connect it. Note that it is now up to the platform to ensure that ConnectController() is called for the handle if DXE core does not call it by itself, or does call it but at a time when no I2C master protocol driver is available yet. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-01-25Silicon: fix typo in gPcf8563RealTimeClockLibI2cMasterProtocolGuidArd Biesheuvel
Do a global replace of gPcf8563RealTimeClockLibI2cMasterProtolGuid with gPcf8563RealTimeClockLibI2cMasterProtocolGuid. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-01-25Silicon/SynQuacer/PlatformDxe: enable spread spectrum mode for ASM1061 SATAArd Biesheuvel
The ASM1061 SATA controller integrated into the DeveloperBox board emits too much electromagnetic radiation, so it needs spread spectrum mode enabled. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-01-23Platform/ARM: Fix flash alignment accessAlexei Fedorov
Flash memory is mapped as device memory and should use only aligned accesses. Update VariableRuntimeDxe from using BaseMemoryLibOptDxe to the generic BaseMemoryLib which provides aligned memory access only. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Alexei Fedorov <Alxei.Fedorov@arm.com> Signed-off-by: Evan Lloyd <evan.lloyd@arm.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-12-12Platform Silicon: remove obsolete ArmPlatformPkg PCD assignmentsArd Biesheuvel
Remove unused ArmPlatformPkg PCDs from all platform descriptions. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Platform/ARM/VExpressPkg: use dedicated PCD for fastboot product nameArd Biesheuvel
Before retiring the gArmPlatformTokenSpaceGuid.PcdFirmwareVendor PCD, replace the only remaining and vaguely non-pointless reference with a new dedicated PCD defined in VExpressPkg. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Silicon/SynQuacer/PlatformDxe: retrain PCIe switch links to Gen2 speedArd Biesheuvel
For some reason, the Asmedia 118x PCIe switch needs a little help to make sure that the downstream links train at Gen2 speed. So add a PCI I/O protocol notifier that implements this for each PCIe downstream port that is present on the system. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Silicon/Socionext/SynQuacer: add UART #0 node to DTMasahisa KOJIMA
In order to be able to use UART #0 on the DeveloperBox's 96boards low speed connector, expose it to the OS by adding a node to the device tree. This requires a CM3 firmware build that makes the SCP detach from the serial port after boot. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Masahisa KOJIMA <kojima.masahisa@socionext.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Silicon/SynQuacerEvalBoard: enable PCI #0 only when card is detectedArd Biesheuvel
The EVB does not boot if PCI RC #0 has no card inserted, and will hang in the PCIe initialization code. So let's check the presence detect GPIO, and only enable PCI RC #0 if it is asserted. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Silicon/SynQuacer: disable PCI RC DT node if RC disabledArd Biesheuvel
If a PCIe RC is not enabled (due to the fact that the slot is not populated), set its DT node 'status' property to 'disabled' so that the OS will not attempt to attach to it. This means we will need to switch from the default DtPlatformDtbLoaderLib to a special one for our platform. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Silicon/SynQuacerPciHostBridgeLib: enable RCs based on PCD settingArd Biesheuvel
In order to accommodate the EVB, whose PCIe RC #0 should not be touched by software if no card is inserted, add a PCD that tells the PCIe driver code which RCs should be initialized and exposed to the PCI host bridge driver. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Silicon/SynQuacerPciHostBridgeLib: stall for 150 ms during PERST#Ard Biesheuvel
Attempt to adhere more closely to the PCIe spec by ensuring that PERST# remains asserted for at least 100 ms. Give it a good margin, and delay for 150 ms; the additional boot time delay is not going to be noticeable by anyone anyway. Add some missing barriers as well, so that the reset takes effect right when we think it does. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Platform/Socionext/SynQuacer: expose build number as firmware versionArd Biesheuvel
Expose the contents of the .DSC macro BUILD_NUMBER via the PCD gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString (if > 1), and as the FMP system firmware version (for capsule update). Also, set the firmware vendor PCD to the contents of the macro FIRMWARE_VENDOR so that we can set its value at build time. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Silicon/SynQuacer: enable CPU idle states in device treeArd Biesheuvel
It appears that whatever was preventing us from using CPU idle with PSCI low power states has disappeared, so let's enable the low power states in the DT. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Platform/ARM: move TC2 to the new LcdGraphicsOutputDxe driverArd Biesheuvel
Update the TC2 .dsc and .fdf files to switch over to the refactored LCD graphics output driver. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-12Platform/ARM: move FVP to the new LcdGraphicsOutputDxe driverArd Biesheuvel
Update the FVP .dsc and .fdf files to switch over to the refactored LCD graphics output driver. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-11Platform/ARM: retire duplicate LCD related PCDsArd Biesheuvel
In the rework between v1 and v2 of my ArmPlatformPkg cleanup series, I restored the LCD output graphics drivers in mainline EDK2, but forgot to restore some of the PCDs that now remain in ArmPlatformPkg as well. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-08Platform/ARM: import BootMonFs and ArmShellCmdRunAxf from EDK2Ard Biesheuvel
BootMonFs and ArmShellCmdRunAxf are only used on development boards manufactured by ARM itself, so let's keep it under Platform/ARM where it belongs. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-08Platform/ARM/VExpress: import VExpressPkg from EDK2Ard Biesheuvel
Import the pieces that are closely tied to the ARM Versatile Express development platforms into edk2-platforms, so they can be removed from upstream EDK2. Note that this includes the ArmPlatformSysConfigLib library class, which is not used anywhere else. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-08Marvell/Drivers: Drop 'PciEmulation' namingMarcin Wojtas
'PciEmulation' is not a proper naming for a driver, which uses NonDiscoverableDeviceRegistrationLib for handling the devices attached via internal bus of the SoC. Rename it to MvNonDiscoverableDxe and move under Silicon/Marvell/Drivers directory. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-12-08Marvell/Drivers: Modify location and rename the MvEeprom driverMarcin Wojtas
MvEeprom driver nesting into additional Devices directory under Silicon/Marvell/Drivers/I2c is redundant. Align its level with MvI2cDxe. Change MvEeprom to MvEepromDxe in order to be more consistent in Marvell drivers naming. On the occasion add sorting in the .inf file. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-12-08Marvell/Drivers: Modify MvPhyDxe locationMarcin Wojtas
MvPhyDxe driver nesting into additional Phy directory under Silicon/Marvell/Drivers/Net is redundant. Align its level with MvMdioDxe and Pp2Dxe. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-12-08Marvell/Drivers: Reorganize Spi driversMarcin Wojtas
Hitherto MvSpiDxe driver name was very generic. In order to be ready for adding new SPI master drivers, use the controller's traditional name (it's called SPI Orion in Linux and U-Boot) for files and the entry point. Additionally, move the files to new 'MvSpiOrionDxe' directory and rename the 'Devices' and 'Variables' to reflect actual drivers' names. Change MvSpiFlash to MvSpiFlashDxe in order to be more consistent. On the occasion add sorting in the .inf files. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-12-08Marvell/Armada70x0Db: Rename fd fileMarcin Wojtas
Hitherto fd file name was pretty generic, so use one, which reflects actual board model. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-12-08Marvell/Armada7k8k: Use '7k8k' prefix in the SoC drivers/librariesMarcin Wojtas
As a part of files reorganization, switch to using '7k8k' in all SoC-specific driver/library code instead of '70x0'/'7040', so that to ensure consistent naming for entire SoC family. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-12-08Marvell: Reorganize file structureMarcin Wojtas
In edk2-platforms it is expected to provide a separation between SoC and boards files in 'Silicon' and 'Platform' directories accordingly. This patch aligns Marvell code to this requirement with no functional changes in the actual source files, unless required due to modified paths. Change the supported board's files names to proper Armada70x0Db. Also rename 'Armada' directory to 'Armada7k8k' in order to properly refer to the SoC family and prevent confusion in future, when adding new Armada machines. On the occasion add ARM copyright, which was wrongly missing in the dsc.inc file. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-12-08Silicon/Socionext/SynQuacer/PlatformDxe: add missing IoLib includeArd Biesheuvel
Commit ce95ec196da0 ("Silicon/SynQuacer: enable coherent DMA for NETSEC and eMMC") introduced a call to MmioOr32 into PlatformDxe without adding the appropriate #include and LibraryClass references, resulting in build failures when attempting to build the SynQuacer platforms. So add them. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Tested-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-07Silicon/SynQuacer: enable coherent DMA for NETSEC and eMMCArd Biesheuvel
As it turns out, it is surprisingly easy to configure both the NETSEC and eMMC devices as cache coherent for DMA, given that they are both behind the same SMMU which is already configured in passthrough mode by the firmware running on the SCP. So update the static SMMU configuration to make memory accesses performed by these devices inner shareable inner/outer writeback cacheable, which makes them cache coherent with the CPUs. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-05Marvell/Drivers: MvPhyDxe: Cleanup the headerMarcin Wojtas
This patch removes unused macros defined in MvPhyDxe.h, as well as improves the style and comments. Pick single definition of the autonegotiation timeout - two different macros were used for the same purpose. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-05Marvell/Applications: FirmwareUpdate: Fix usage informationMarcin Wojtas
fupdate command's usage information referred to a deprecated '-f' flag in 'examples' section. It was a residue from the initial version of the application, removed during review before merging to upstream branch. Correct the help information and also on the occasion improve the message and its style. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-05Marvell/Armada: Fix watchdog control baseMarcin Wojtas
Proper watchdog control base is 0xf0610000, so fix the incorrect value. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-05Marvell/Armada: Switch to dynamic tftp commandMarcin Wojtas
After removal of the tftp library in EDK2, the tftp was disabled on Armada platform. Re-enable this functionality as a dynamic command on Armada 70x0 DB board. For this purpose add it as an option, depending on a new INCLUDE_TFTP_COMMAND parameter, which can be passed in the command line during build time. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-04Platform/Hisilicon: fix conditional inclusion of tftp shell commandLeif Lindholm
D02, D03 and D05 all have nice conditional clauses to only include the non-standard tftp shell command ifdef(INCLUDE_TFTP_COMMAND). Unfortunately, they all explicitly set DEFINE INCLUDE_TFTP_COMMAND=1 in their platform description files, meaning there is no way to exclude the command without an editor. So remove the DEFINE and let people specify on the command line whether to include it, as originally intended. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-12-04Platform/Hisilicon: fix D05 .dsc line endingsLeif Lindholm
Commit b324d85a466b, ("Hisilicon D03/D05: get firmware version from FIRMWARE_VER"), added some non CRLF line endings, resolve this. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-12-04Silicon/SynQuacerI2CDxe: add missing __FUNCTION__ argument to %a specifierArd Biesheuvel
The I2C driver prints a warning under DEBUG when a I2C transaction times out. This will occur on the rev 0.1 DeveloperBox boards due to a board level error in the I2C routing (unless the MCU has been lifted off the bus). Currently, this will trigger a crash due to a missing __FUNCTION__ argument to a %a specifier in a DEBUG string, because instead, the code will attempt to dereference a EFI_STATUS variable as a char pointer. So add the missing __FUNCTION__ argument. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-12-01Silicon/Fip006Dxe: map NOR_FLASH_INFO FSR flag with instance flagPipat Methavanitpong
Now that we incorporated NorFlashInfoLib into the Fip006Dxe driver, replace the code that explicitly enables flag status register polling for Micron NOR flash with a test of the flags field provided by NorFlashInfoLib, which carries the same information. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Pipat Methavanitpong <methavanitpong.pipat@socionext.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-30Silicon/SynQuacerPciHostBridgeLib: enable Gen2 speedArd Biesheuvel
As it turns out, getting the PCIe controllers to switch to Gen2 speed is surprisingly easy. It only involves setting the 'speed change' bit in the controller at initialization time, after which the hardware will automatically attempt to switch to Gen2 speed after training at Gen1 speed has completed. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-30Silicon/SynQuacerPciHostBridgeLib: fix weird indentationArd Biesheuvel
Fix the weird indentation in the various #defines in the file containing the RC init code. This is a whitespace only change. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-30Platform Silicon: remove ArmPlatformInitializeSystemMemory () functionsArd Biesheuvel
The function ArmPlatformInitializeSystemMemory () has been removed from ArmPlatformLib, so remove all the [empty] implementations provided by the various platforms. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-30Marvell/Armada: Enable variables supportMarcin Wojtas
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 <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-30Marvell/Drivers: MvSpiDxe: Enable using driver in RTMarcin Wojtas
This patch applies necessary modifications, which allow to use MvSpiDxe driver in variable support as a runtime service. The driver's type is modified to DXE_RUNTIME_DRIVER, as well as a new callback is introduced as a part of the SpiMasterProtocol. It configures the memory space for mmio access to the host controller registers. Apply locking in the driver only during boot services. Once at runtime, resource protection is handled by the operating system. Moreover ensure proper execution order before MvSpiFlashDxe (and hence MvFvbDxe) by setting according Depex dependency. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-30Marvell/Drivers: MvSpiFlash: Enable using driver in RTMarcin Wojtas
This patch applies necessary modifications, which allow to use MvSpiFlash driver in variable support as a runtime service. Its type is modified to DXE_RUNTIME_DRIVER, as well as an event is created, which converts the pointers to the SpiMasterProtocol and its routines. In order to ensure proper execution of the MvFvbDxe driver, configure initialization order with Depex entry. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-30Platform/Marvell: Introduce MvFvbDxe variable support driverMarcin Wojtas
MvFvbDxe driver introduces non-volatile EFI variable support for Armada platforms. It relies on memory-mapped SPI read access. Implementation of EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL is done with using existing Marvell SPI infrastructure (SpiMasterProtocol and SpiFlashProtocol), thanks to which this driver will be able to support various combinations of flash devices and host controllers. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-30Platform: drop tftp shell support from remaining platformsLeif Lindholm
Cello, Overdrive, Overdrive1000 and Armada still include the now-defunct library implementation of the Shell tftp command. Since the command is a nonstandard one anyway, just remove it from the build for these platforms. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-11-30Platform: remove gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSecArd Biesheuvel
Remove references to the ArmPlatformPkg PCD PcdSystemMemoryInitializeInSec, which is only used on PrePeiCore platforms anyway, and which has no effect whatsoever given that it decides when ArmPlatformInitializeSystemMemory() is called, which is implemented as an empty function by all these platforms anyway. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-30Platform,Silicon: Update Hisilicon Shell tftp command configLeif Lindholm
EDK2 changed the tftp shell command from a library to a dynamic command. Update configuration files to reflect this. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-11-30Platform/ARM: move to new TFTP Shell command implementationArd Biesheuvel
Upstream EDK2 has refactored the implementation of the TFTP Shell command so update the ARM platforms accordingly. Instead of having to add the new module to all .FDF files under Platform/ARM, add it to the 'networking FDF' include file and include that everywhere. Also, add a build time option to omit the TFTP command. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-30Platform/Hisilicon: drop BdsLib inclusion from HiKey .dscLeif Lindholm
The ArmPkg BdsLib has been dropped from EDK2, and is no longer required by the Android*Boot applications - so delete the reference to fix the resulting build failure. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>