- Jul 03, 2018
-
-
Christopher Co authored
Fix for issue found when running patch check script. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Christopher Co <christopher.co@microsoft.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Christopher Co authored
Fix for issue found when running patch check script Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Christopher Co <christopher.co@microsoft.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
- Jun 26, 2018
-
-
Ard Biesheuvel authored
Add the basic support for enabling PCIe MMIO32 translation on the SynQuacer, without actually enabling it just yet. It would allow us to increase the bus range to 255 MB [from 127 MB] and the MMIO32 range to 512 MB or more [from 128 MB], but it is more likely to cause compatibility issues with code ported from the PC 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>
-
- Jun 22, 2018
-
-
Masahisa Kojima authored
Socionext SynQuacer(SC2A11) was already supported and Developerbox(Linaro's 96Boards EE compliant board) is publicly available. Let's add in Supported Platforms. Signed-off-by:
Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org>
-
- Jun 21, 2018
-
-
Marcin Wojtas authored
Finally, after switching to new MV_BOARD_DESC solution in all drivers, stop using MvHwDescLib.h by its last user and safely remove this header. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
MvI2cDxe driver used to get Armada7k8k controller description from hardcoded values stored in the header file MvHwDescLib.h. As a result it is very hard to support other Armada SoC families with this driver. This patch updates the driver, so that it can obtain the description from newly introduced MARVELL_BOARD_DESC protocol, and removes the dependency on the hardcoded structures. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
Introduce new callback that can provide information about I2C controllers to the I2c driver. Extend ArmadaBoardDescLib with new structure MV_BOARD_I2C_DESC, for holding board specific data. In further steps it should be extended and replace PCD I2C devices' representation with the appropriate structures. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
This patch introduces new library callback (ArmadaSoCDescI2cGet ()), which dynamically allocates and fills MV_SOC_I2C_DESC structure with the SoC description of I2c controllers. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
MvMdioDxe driver used to get Armada7k8k controller description from hardcoded values stored in the header file MvHwDescLib.h. As a result it is very hard to support other Armada SoC families with this driver. This patch updates the driver, so that it can obtain the description from newly introduced MARVELL_BOARD_DESC protocol, and removes the dependency on the hardcoded structures. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
In order to be prepared for operating on registers in 64-bit address space, this patch adjusts the MDIO controllers base address array. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
Introduce new callback that can provide information about MDIO controllers to the Mdio driver. Extend ArmadaBoardDescLib with new structure MV_BOARD_MDIO_DESC, for holding board specific data. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
This patch introduces new library callback (ArmadaSoCDescMdioGet ()), which dynamically allocates and fills MV_SOC_MDIO_DESC structure with the SoC description of Mdio controllers. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
MvComPhyLib library used to get Armada7k8k SerDes multiplexing controller description from hardcoded values stored in the header file MvHwDescLib.h. As a result it is very hard to support other Armada SoC families with this library. This patch updates the library, so that it can obtain the description from newly introduced MARVELL_BOARD_DESC protocol, and removes the dependency on the hardcoded structures. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
Introduce new callback that can provide information about ComPhy controllers to the ComPhyLib. Extend ArmadaBoardDescLib with new structure MV_BOARD_COMPHY_DESC, for holding board specific data. In further steps it can be extended and replace PCD SerDes lanes' representation with the appropriate structures. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
This patch introduces new library callback (ArmadaSoCDescComPhyGet ()), which dynamically allocates and fills MV_SOC_COMPHY_DESC structure with the SoC description of ComPhy SerDes controllers. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
ComPhy Library used to get Armada7k8k AHCI/SDMMC/XHCI controller description from hardcoded values stored in the header file MvHwDescLib.h. As a result it is very hard to support other Armada SoC families with this library. This patch updates the driver to get AHCI controller description from newly introduced MARVELL_BOARD_DESC protocol, and removes the dependency on the hardcoded structures. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
NonDiscoverableDevices driver used to get Armada7k8k AHCI/SDMMC/XHCI controller description from hardcoded values stored in the header file MvHwDescLib.h. As a result it is very hard to support other Armada SoC families with this driver. This patch updates the driver to get AHCI/SDMMC/XHCI controller description from newly introduced MARVELL_BOARD_DESC protocol, and removes the dependency on the hardcoded structures. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
Introduce new callback that can provide information about NonDiscoverableDevices to the relevant drivers and libraries. Extend ArmadaBoardDescLib with new structures (MV_BOARD_AHCI_DESC/ MV_BOARD_SDMMC_DESC/MV_BOARD_XHCI_DESC) for holding board specific data. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
This patch introduces new library callbacks for NonDiscoverable devices i.e. AHCI/XHCI/SDMMC. They dynamically allocate and fill according structures with the SoC description of the devices. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
Pp2Dxe driver used to get Armada7k8k PP2 controller description from hardcoded values stored in the header file MvHwDescLib.h. As a result it is very hard to support other Armada SoC families with this driver. This patch updates the driver to get PP2 controller description from newly introduced MARVELL_BOARD_DESC protocol, and removes the dependency on the hardcoded structures. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
Introduce new callback that can provide information about PP2 NICs to the Pp2Dxe driver. Extend ArmadaBoardDescLib with new structure MV_BOARD_PP2_DESC, for holding board specific data. In further steps it should be extended and replace PCD port's representation with the appropriate structures. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
This patch introduces new library callback (ArmadaSoCDescPp2Get ()), which dynamically allocates and fills MV_SOC_PP2_DESC structure with the SoC description of PP2 NICs. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
Hitherto mechanism of obtaining RTC base address proved to be not flexible enough to support more than one SoC family. Because there can be a single controller in use anyway, this patch drops utilization of MvHwDescLib header with hardcoded structure and replace it with simple UINT64 PCD. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
UTMI driver used to get Armada7k8k UTMI controller description from hardcoded values stored in the header file MvHwDescLib.h. As a result it is very hard to support other Armada SoC families with this driver. This patch updates the driver to get UTMI controller description from newly introduced MARVELL_BOARD_DESC protocol, and removes the dependency on the hardcoded structures. Use the protocol and pass information to further to the library init routine. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
jinghua authored
This patch enables compilation of MvBoardDescDxe driver for Armada70x0-DB, Armada80x0-DB and Armada80x0McBin. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
jinghua authored
This patch introduces a producer of MARVELL_BOARD_DESC_PROTOCOL, which gets SoC description from ArmadaSoCDescLib, then based on dsc file, provide only enabled hardware module controllers for the consumers, which are typically controllers' drivers. Thanks to that there is a separation between obtaining the platform description and the drivers. A first example of the board description callback is information about UTMI controllers and type. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
jinghua authored
This patch introduces protocol that exposes generic API to get board description. It uses ArmadaSoCDescLib library, which is implemented per SoC family to get the SoC level description for hardware module controller. Together with the information obtained from ArmadaBoardDescLib the protocol allows the drivers to get per-board information about used hardware and settings. As a first usage a UTMI information obtaining is implemented. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
This patch adds a new library class that will be helpful to describe a per-board information, which will be processed by BoardDesc protocol. Together with ArmadaSoCDescLib data it will be a flexible solution allowing to provide complete information to the drivers, replacing faulty MvHwDescLib.h. Initially ArmadaBoardDescLib defines per-board UTMI PHYs information structure. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
jinghua authored
ArmadaSoCDescLib is a per SoC family library, which provides SoC description, like register base of some hardware module controller, COMPHY/I2C/NETWORK etc., which right now is hardcoded in MvHwDescLib.h. There will be a new protocol, which gets SoC description from this library, and provides board description based on enable/disable values of each hardware module controller in dsc file. As a first example implement obtaining UTMI controllers information. Remaining interfaces will be added in follow-up commits. This patch introduces new library callback (ArmadaSoCDescUtmiGet ()), which dynamically allocates and fills MV_SOC_UTMI_DESC structure, SoC description of UTMI PHYs. A new PCD is introduced (PcdMaxCpCount) which stores maximal amount of CP110 blocks in the SoC family. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
- Jun 20, 2018
-
-
Masahisa Kojima authored
BcdToDecimal8() in LibGetTime() asserts with the following condition. 1) RTC device has not been initialized yet, RTC device returns indeterminate value with VL bit(1) 2) DEBUG build UEFI boot fails with assertion when it satisfies above conditions. Aside from boot failure, UEFI shell commands "date/time" expect that getting time from RTC should succeed when user sets the time. ShellCommandRunTime() performs GetTime()->update time->SetTime(), if the first GetTime() fails, user can not set time. With that, simply returning EFI_DEVICE_ERROR in LibGetTime() is not applicable to VL bit handling. To avoid this situation, even if it only occurs in DEBUG build, RTC driver should check the VL bit in the VL_seconds register. This VL bit is voltage-low detector, it means integrity of the clock information is not guaranteed if it sets to 1. In this case, driver return dummy date/time(01/01/2000 00:00:00) to proceed succeeding process. linux driver also checks this bit when driver gets the time from RTC. If VL bit is 1, linux driver discard the retreived time data. Note that if VL bit is 1, GetTime() returns always 01/01/2000 00:00:00 until user sets date/time. Contributed-under: TianoCore Contribution Agreement 1.1 Co-authored-by:
Yoshitoyo Osaki <osaki.yoshitoyo@socionext.com> Signed-off-by:
Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org>
-
- Jun 18, 2018
-
-
Chandni Cherukuri authored
Replace all uses of 'gSgi575AcpiTablesiFileGuid' with 'gSgi575AcpiTablesFileGuid' for SGI575 platform. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Chandni Cherukuri <chandni.cherukuri@arm.com> Reviewed-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org>
-
Chandni Cherukuri authored
Use the platform ID and config ID values from the platform ID HOB to choose the right set of ACPI tables to be installed. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Chandni Cherukuri <chandni.cherukuri@arm.com> Reviewed-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org>
-
Chandni Cherukuri authored
On SGI platforms, the trusted firmware executes prior to the SEC phase. It supplies to the SEC phase a pointer to a fdt, that contains platform specific information such as part number and config number of the SGI platform. The platform code that executes during the SEC phase creates a PPI that allows access to other PEIMs to obtain a copy of the fdt pointer. Further, during the PEI phase, a Platform ID PEIM installs a Platform ID HOB. The Platform ID HOB can be used by DXE drivers to identify the platform it is executing on. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Chandni Cherukuri <chandni.cherukuri@arm.com> Reviewed-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org>
-
Ard Biesheuvel authored
Add support for PersistAcrossReset capsules, by setting the associated PCD, and by enabling the warm reboot implementation that reenters PEI with interrupts, caches and MMU disabled. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
- Jun 15, 2018
-
-
Ard Biesheuvel authored
In order to allow for more flexibility when updating parts of the firmware via capsule update, expand the description of the code FV to cover the entire 4 MB region at the base of the NOR flash. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Ard Biesheuvel authored
In commit 913fdda9 ("Silicon/SynQuacerPlatformFlashAccessLib: don't dereference FVB header fields"), we dropped all accesses to FVB header field, which was necessary because the flash partition may not in fact contain such a header. Instead, only an exact match on the base address of the FV compared to the base address of the capsule payload would result in a match, making it difficult to create capsules that only update a subset of the flash contents. Given that the FVB protocol provides a GetBlockSize() method that also returns the number of consecutive blocks of that size, and does not rely on the FVB header contents, we can actually infer the size of the flash partition, and use it to decide whether a capsule payload targets an area that is covered by this partition entirely. This optimization allows us to extend the FV description to include the SCP firmware partition without requiring us to actually provide a payload for that partition immediately, which is useful as a preparatory step. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
- Jun 13, 2018
-
-
Marcin Wojtas authored
Newly added boards can build with TARGET set to NOOPT, so align the Armada70x0Db. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
Add new board description file Armada80x0Db.dsc, which uses common Armada7k8k.fdf file. Most of the interfaces are fully functional, except for: - USB ports - it requires merging GPIO support and VBUS power supply enabling Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
Add new board description file Armada80x0McBin.dsc, which uses common Armada7k8k.fdf file. By default build capsule components. Most of the interfaces are fully functional, except for: - USB ports - it requires merging GPIO support and VBUS power supply enabling - SdMmc ports - they are kept enabled, as no issues were observed on v1.3 board so far. However higher speed modes (HS200) and full stability will be gained after Xenon driver improvements merge. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-
Marcin Wojtas authored
As for the preparation for adding multiple boards support, move common part of the .fdf file to the SoC family directory and change output FD file name to more generic. Once needed, possible per-board differences will be resolved by including custom .fdf.inc file. This way adding new common changes for entire SoC family won't require any duplication and at the same time the per-board .fdf.inc will allow better suiting the .FD file contents. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by:
Leif Lindholm <leif.lindholm@linaro.org>
-