summaryrefslogtreecommitdiff
path: root/ArmPlatformPkg/Drivers
AgeCommit message (Collapse)Author
2015-05-07ArmPlatformPkg: enable use of authenticated variables in NorFlashDxeArd Biesheuvel
The NorFlashDxe uses an explicit 'BEFORE xxx' Depex declaration to ensure that it is dispatched before VariableRuntimeDxe, and uses the file GUID of the latter as 'xxx' explicitly to accomplish that. However, when enabling UEFI Secure Boot, this breaks down since the authenticated VariableRuntimeDxe is a completely separate driver, with a different GUID. Also, the hardcoded dependency on gEfiVariableGuid, which is not used under UEFI Secure Boot, needs to be factored out in order to allow this driver to be used. So clone NorFlashDxe.inf into NorFlashAuthenticatedDxe.inf, and fix up the dependencies so they refer to gEfiAuthenticatedVariableGuid and SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf instead. Contributed-under: TianoCore Contribution Agreement 1.0 Reviewed-by: Olivier Martin <olivier.martin@arm.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17355 6f19259b-4bc3-4df7-8a09-765794883524
2015-01-23ArmPlatformPkg: detect correct pl011 fifo depthLeif Lindholm
pl011 releases earlier than r1p5 has a fifo depth of 16 bytes, whereas version r1p5 upwards has a fifo depth of 32 bytes. The pl011 driver was hardwired to 32 byte depth, causing dropped characters on some platforms (including default settings on FVP Base and Foundation models). Update driver to select 16 or 32 on port initialization by checking the component revision. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16656 6f19259b-4bc3-4df7-8a09-765794883524
2015-01-23ArmPkg/NorFlashDxe : Fix the check of flash addressesRonald Cron
Fix the check to prevent any reading past the end of the nor flash. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <ronald.cron@arm.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16655 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-27EmbeddedPkg: Clarify the declaration of SerialPortGetControl()Ronald Cron
Rework the PL011UartGetControl() function removing a TODO by the way. Update of the header comment blocks of (PL011Uart|SerialPort)GetControl() functions. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <ronald.cron@arm.com> Reviewed-By: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16252 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-27EmbeddedPkg: Clarify the declaration of SerialPortSetControl()Ronald Cron
Rework of PL011UartSetControl() as a consequence as well as update of function header comment blocks. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <ronald.cron@arm.com> Reviewed-By: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16251 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-16ArmPlatformPkg/NorFlashDxe: use MmioWrite () not memory storesArd Biesheuvel
When writing to the flash, make sure to use MmioWrite () wrappers instead of letting the compiler generate the store instructions. This is needed because under virtualization, store instructions with multiple outputs (i.e., store pair or store with writeback) cannot be emulated efficiently when operating on MMIO ranges. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-By: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16107 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-26ArmPlatformPkg/NorFlashDxe: Clean the driverOlivier Martin
- Marked some functions as STATIC - Simplified some conditions Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15907 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-26ARM Packages: Replace tabs by spaces for indentationRonald Cron
Replace tabs by spaces for indentation to comply to EDK2 coding standards. Done in files with extension ".S", ".c", ".h", ".asm", ".dsc", ".inc", "*.inf", "*.dec" or ".fdf" and located in ArmPkg, ArmPlatformPkg, EmbeddedPkg, BeagleBoardPkg or Omap35xxPkg. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <ronald.cron@arm.com> Reviewed-By: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15901 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-19ARM Packages: Removed trailing spacesRonald Cron
Trailing spaces create issue/warning when generating/applying patches. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <ronald.cron@arm.com> Reviewed-By: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15833 6f19259b-4bc3-4df7-8a09-765794883524
2014-06-20ARM Packages: Fixed missing braces (the warning was disabled by GCC)Olivier Martin
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15578 6f19259b-4bc3-4df7-8a09-765794883524
2014-05-14ArmPlatformPkg/NorFlashDxe: Fixed LBA for FVBOlivier Martin
FVB (for instance for UEFI Variable) might not be at the start of the NOR Flash. 'Lba' needs to be fixed up for it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15532 6f19259b-4bc3-4df7-8a09-765794883524
2014-05-08ArmPlatformPkg/Drivers/NorFlashDxe: Directly implement DiskIO protocolBrendan Jackman
This improves performance by accessing NOR with the fine granularity that the hardware permits, rather than the coarse granularity assumed by DiskIoDxe. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Brendan Jackman <brendan.jackman@arm.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15502 6f19259b-4bc3-4df7-8a09-765794883524
2014-05-08ArmPlatformPkg/NorFlashDxe: Optimise FVB protocolHarry Liebel
- Only read what needs reading, don't read the whole block. - Don't write back buffers containing no data after an erase. - Reduce number of NOR erases when writing data. Only erase the block when required. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Harry Liebel <Harry.Liebel@arm.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15500 6f19259b-4bc3-4df7-8a09-765794883524
2014-04-08ArmPlatformPkg/NorFlashDxe: Fixed driver to support UEFI Runtime modeOlivier Martin
- Added the NOR Flash region to the Runtime UEFI Memory Mapped IO - Caught the gEfiEventVirtualAddressChangeGuid event to fixup the NOR Flash pointers Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15438 6f19259b-4bc3-4df7-8a09-765794883524
2014-04-08ArmPlatformPkg/NorFlashDxe: Fix coding mistakes that would prevent Runtime modeOlivier Martin
- No allocation during Runtime mode (post ExitBootServices()) - Allocate all the persistent data into runtime space - Do not access BootServices API during Runtime mode Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15437 6f19259b-4bc3-4df7-8a09-765794883524
2014-04-08ArmPlatformPkg/NorFlashDxe: Declare the driver as a UEFI Runtime driverOlivier Martin
NorFlash driver is required by UEFI Variable services to read/write Non-Volatile UEFI variables. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15436 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-10ARM Packages: Removed 'inline' keywordOlivier Martin
'inline' keyword is not supported by the C89 (version used by EDK2). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14957 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-21ArmPlatformPkg/PL180MciDxe: Fixed check for space in transmit FIFOOlivier Martin
This patch prevents a buffer underrun error on the Versatile Express Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14793 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-21ArmPlatformPkg/NorFlashDxe: Fix checking of return value of ↵Roy Franz
NorFlashWriteBlocks() Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Roy Franz <roy.franz@linaro.org> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14792 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-23LcdGraphicsOutputDxe: Update FrameBufferSize as per UEFI spec section 11.9Olivier Martin
The shift by 1 on the left was expected. It eases the access to CSSELR and set/way operations where the cache level field is at the BIT1 position. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14705 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-23ArmPlatformPkg/LcdGraphicsOutputDxe: Call LcdShutdown() on ↵Olivier Martin
ExitBootServices() if PcdGopDisableOnExitBootServices Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14702 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-23LcdGraphicsOutputDxe: Fix BltVideoFill for non-32-bit architecturesOlivier Martin
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14701 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-06ArmPlatformPkg/PL180MciDxe: Increased the TPL at the highest priority to ↵Olivier Martin
disable interrupts This change prevent any interrupt to disturb the PL180 data transfer. If the data transfer is not fast enough, we get UNDERRUN error. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14526 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-19ArmPlatformPkg/PL011Uart: Ignore BAUD rate if Integral non-zeroOlivier Martin
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14432 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-19ArmPlatformPkg/PL011Uart: Fixed conditionOlivier Martin
The aim of the condition is to check if we should use the default BaudRate value (case when *BaudRate == 0). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14431 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-15EmbeddedPkg/SerialPortExtLib.h: Changed SerialPortSetAttributes() prototype ↵oliviermartin
to return the set value(s) To be compliant with the UEFI specification it is required to update SERIAL_IO_MODE with the values set. This prototype change allows to get the value used inside SerialPortSetAttributes(). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14365 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-14ArmPlatformPkg/NorFlashDxe: Make the driver more compliant with the UEFI ↵oliviermartin
specification Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14263 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-14ArmPlatformPkg/PL011Uart: Added support for default BaudRateoliviermartin
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14261 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12ArmPlatformPkg/LcdGraphicsOutputDxe: The structure signature is a 32 bit valueoliviermartin
The signature was declared as UINTN. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14190 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12ArmPlatformPkg/NorFlashDxe: Fixed BufferSize calculation in ↵oliviermartin
NorFlashWriteSingleBlock() Needed to convert Word into Byte. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14178 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-28ArmPlatformPkg: Fixed unsigned type to be architecture independentoliviermartin
Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14106 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-25ARM Packages: Fixed line endingsoliviermartin
This large code change only modifies the line endings to be CRLF to be compliant with the EDK2 coding convention document. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14088 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-26ArmPlatformPkg/PL011Uart: The PL011 UART fractional part does not need to be ↵oliviermartin
zero Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13745 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-03ArmPlatformPkg/Drivers/PL011Uart: Fixed PL011UartWrite()oliviermartin
Forget to increment pointer. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13591 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02ArmPlatformPkg/PL180MciDxe: Clean codeoliviermartin
- Removed duplicated code - Removed unreachable code Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13588 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02ArmPlatformPkg/PL011Uart: PL011UartWrite() stop to transmit if the buffer is ↵oliviermartin
full Before we were waiting the buffer to be empty before to continue to send data. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13587 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02ArmPlatformPkg/PL180MciDxe: Fixed coding styleoliviermartin
Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13586 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-04ArmPkg: Fixed RVCT compiler warningsoliviermartin
Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13490 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02EmbeddedPkg/SerialDxe: Do not block UART when no data is available on the portoliviermartin
Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13255 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02ArmPlatformPkg/PL35xSmc: Added function PL35xSmcSetRefresholiviermartin
Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13254 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02ArmPlatformPkg: Removed the 'Identify' functionsoliviermartin
This function was introduced in some drivers to check if the ARM controller was present in the memory map. It was using a 8 bit access to get the value from the Identification registers. These accesses could generate access error on some buses. Instead of replacing the 8bit access by a 32bit access, these fcuntions have been removed because they are only useful when the boot firmware is ported on a new platform. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13247 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26ArmPlatformPkg/SP805WatchdogDxe: Removed late initialization capability from ↵oliviermartin
the watchdog The watchdog driver is a UEFI architectural driver. The watchdog controller is always going to be intialized. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13137 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26ArmPlatformPkg/SP805Watchdog.h: Removed the DXE function declarations from ↵oliviermartin
the header The DXE functions are local to the DXE driver. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13132 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-29ArmPlatformPkg/PL011Uart: Allowed to change UART settings in its ↵oliviermartin
initialization function Because this driver can be used for different purposes (Terminal, Debug port, communication), its initialization function has been extended to accept additional settings. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13071 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28ArmPlatformPkg/NorFlashDxe: Fixed CFI NOR Flash driveroliviermartin
CFI Flash differentiates DeviceBaseAddress with BlockAddress in its protocol. The DeviceBaseAddress was not considered in the previous version of this driver. This version also fixes some bugs in the implementation of the CFI protocol. This new version also uses the Boot Mode Hob to reinitialized the FVB when Boot Mode is equal to BOOT_WITH_DEFAULT_SETTINGS. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13064 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28ArmPlatformPkg: Moved 'ArmTrustZoneLib' from ArmPkg/Library to ↵oliviermartin
ArmPlatformPkg/Drivers This library is really the driver for the ARM Trustzone controllers (TZPC and TZASC). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13054 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28ArmPlatformPkg/LcdGraphicsOutputDxe: Added support for ARM HDLCD controller (2)oliviermartin
... Forgot the new files git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13053 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28ArmPlatformPkg: Minor code changes (comments, misspellings, coding stylei, ↵oliviermartin
line endings) - Fixed misspellings - Updated Copyright - Remove unused sections in INF file - Fixed incorrect commentsi - Fixed coding style - Fixed line endings (CRLR) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13052 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-27ArmPlatformPkg/SP804TimerDxe: Move 'gVector' initialization earlier in the codeoliviermartin
The global variable 'gVector' is also used by the function TimerDriverSetTimerPeriod(). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13042 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-14ArmPlatformPkg/LcdPlatformLib: Produce the protocols ↵oliviermartin
EFI_EDID_DISCOVERED_PROTOCOL and EFI_EDID_ACTIVE_PROTOCOL These two EDID protocols are excepted to be produced by the GOP. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12860 6f19259b-4bc3-4df7-8a09-765794883524