Commit Graph

125 Commits

Author SHA1 Message Date
Olivier Martin 5c5a34d485 MmcDxe: Perform diagnostics specifically on the requested controller
In RunDiagnostics, find the controller specified by ControllerHandle and run
diagnostics only on that controller, returning EFI_UNSUPPORTED if it isn't in
the driver's pool of managed devices.

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@15075 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-09 19:15:06 +00:00
Olivier Martin b4fdedc254 MmcDxe: Adding eMMC support
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@15074 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-09 19:06:25 +00:00
Olivier Martin 34b292fa9e EmbeddedPkg/EmbeddedPkg.dec: Defined default values for PcdPrePiCpuMemorySize & PcdPrePiCpuIoSize
This change introduces default values for the PCDs PcdPrePiCpuMemorySize & PcdPrePiCpuIoSize.
These values are for the architectures ARM, AARCH64, IA32 and X64.

The redefinition of these PCDs (with the same default values) have been removed from the DSC files.

Note: the default value for AARCH64 was 32. It was preventing to allocate buffer above the 32bit
address space.

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@14914 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-28 21:40:14 +00:00
Olivier Martin c8af31eca6 MmcDxe Diagnostics: return EFI_UNSUPPORTED for Language other than english
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@14706 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-23 09:43:51 +00:00
Olivier Martin 4ca3c688a4 EmbeddedPkg/MmcDxe: Moved all the 'Print*()' functions to MmcDebug.c
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@14612 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-30 11:51:51 +00:00
Olivier Martin 8f12aa7e57 EmbeddedPkg/EmbeddedPkg.dsc: Fixed PCD settings
Invalid PCD syntax.

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@14599 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-23 18:21:46 +00:00
Olivier Martin 9532373b1d EmbeddedPkg/MmcDxe: Removed redundant CMD12 calls from MMC
Command 12 - Stop transmission (ends read or write).
Normally only needed for streaming transfers or after 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@14525 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-06 12:10:25 +00:00
Olivier Martin 842b02d87f EmbeddedPkg/MmcDxe: Update Mmc code to conform to coding standard
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@14524 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-06 12:09:33 +00:00
Olivier Martin 0b342ffb76 EmbeddedPkg/PrePiMemoryAllocationLib: Added dummy FreePages()
This function is exposed by the MemoryAllocationLib header.
A dummy FreePages() function has been added to fix modules depending on
this library and this function.

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@14478 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-17 06:24:15 +00:00
oliviermartin 15e277d5ac EmbeddedPkg/SerialPortExtLib.h: Changed SerialPortSetAttributes() prototype 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-05-15 08:44:59 +00:00
oliviermartin 16bb89c980 EmbeddedPkg: Remove an unused binary.
Remove an unused binary, which was probably introduced by error in
UEFI source tree.

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@14267 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-14 09:29:11 +00:00
oliviermartin 5ab765a7ad EmbeddedPkg/MmcDxe: Make the driver more compliant with the UEFI 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@14264 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-14 09:26:28 +00:00
oliviermartin 6f711615ba ARM Packages: Fixed coding style and typos
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@14179 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:45:29 +00:00
oliviermartin d38c35f9f7 EmbeddedPkg: Introduced a separate SerialPortExtLib library
Formerly only the header was defined and it was expecting the SerialPortExtLib
interface to be implemented by SerialPortLib if supported. This behaviour was
not conform to the EDK2 framework.

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@14173 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:40:11 +00:00
oliviermartin c9bf2a9e2d EmbeddedPkg/Metronome.c: Fix delay computed by WaitForTick() function.
Before the tick period used by the Metronome was hardcoded to 100.
This has been changed since but WaitForTick() function was still relying
on this hardcoded value to compute the number of milliseconds to stall
the CPU.

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@14172 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:38:15 +00:00
oliviermartin 1e57a46299 ARM Packages: Fixed line endings
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
2013-01-25 11:28:06 +00:00
oliviermartin fc78c48e20 EmbeddedPkg/MmcDxe: Ensure MMC is in Identification Mode
This change ensure the MMC card is in Identification Mode.
The card might be in Data Transfer Mode if a pre UEFI Boot Loader
had initialized the card.
A potential optimization would be to skip the Identification Mode
in this case.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13872 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-19 09:47:49 +00:00
oliviermartin 7d49ced0cf EmbeddedPkg: Introduced 'SerialPortExtLib.h'
EmbeddedPkg/SerialDxe was not allowing to set/get the control of the
Serial connection because the needed functions were not exposed in
SerialPortLib.h.
This commit introduces an additional library to extend the SerialPort
features.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13773 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 10:56:12 +00:00
oliviermartin fa4a706338 EmbeddedPkg: Added support to libfdt
Use the library libdt from the Device Tree Compiler project.
The used version is from Wednesday 22nd August 2012 (commit: 8716901d2215a3)

The Device Tree Compiler project is under dual BSD/GPL license (it means the
license is either BSD or GPL). The BSD license is the license that fits to the
Tianocore contribution requirements.
The use of libfdt into Tianocore has been authorised by David Gibson the
author of libfdt and its current maintainer Jon Loeliger (email thread on 7th
September 2011).

Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13760 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-27 16:53:57 +00:00
oliviermartin 7cb7e2a26d EmbeddedPkg/MmcDxe: The timeout while waiting for the programming to be complete was decreased twice.
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13694 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-31 16:29:23 +00:00
oliviermartin 260675b073 EmbeddedPkg/MmcDxe: Fixed typo
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13585 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02 10:23:41 +00:00
oliviermartin 699e34adeb EmbeddedPkg/MmcDxe: Avoid nanosecond delay when command succeeds
Check response just after receiving it to avoid the delay.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13584 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02 10:14:52 +00:00
oliviermartin 492e34a590 EmbeddedPkg/MmcDxe: Fixed MmcIdentificationMode()
The condition to check if the card is ready was not correct.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13583 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02 10:11:29 +00:00
oliviermartin 0e568a7b0e EmbeddedPkg/EmbeddedPkg.dec: Add missing PcdMetronomeTickPeriod PCD
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13516 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-09 19:45:32 +00:00
oliviermartin 990976abff EmbeddedPkg/MetronomeDxe: Replaced hardcoded Tick Period by PcdMetronomeTickPeriod
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13495 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-04 20:13:48 +00:00
oliviermartin 5817449f2d EmbeddedPkg/Ebl: Returned an error message when a command is not supported
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13266 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:19:52 +00:00
oliviermartin 40ab42ddca EmbeddedPkg/SerialDxe: Do not block UART when no data is available on the port
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-02 20:04:42 +00:00
oliviermartin 84cf376245 EDK II Packages: Added License.txt files
License.txt is a per-project document showing the license terms
used by that project.

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@13194 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-12 16:40:32 +00:00
jljusten ea4ee7ac38 EDK II Packages: Add Contributions.txt and License.txt files
Contributions.txt documents the contribution process for all
tianocore projects. The conents of Contributions.txt should
match in all cases.

License.txt is a per-project document showing the license terms
used by that project.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13187 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-11 23:19:46 +00:00
oliviermartin 8f964e8d1e EmbeddedPkg/MmcDxe: Fixed XCLANG build
Move the constant array from its declaration inside the function to a global declaration.

Signed-off-by: Andrew Fish <afish@apple.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13140 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 12:28:05 +00:00
oliviermartin 0db25ccc6c ArmPlatformPkg: Minor code changes (comments, misspellings, coding stylei, 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-28 17:11:42 +00:00
oliviermartin 48837c2286 EmbeddedPkg/FdtLib: Added patches to support libfdt in EDK2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13029 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-24 15:47:29 +00:00
oliviermartin e7b872fd02 EmbeddedPkg/PrePiLib: Ensure FvImageInfo has been initialized to zero
Signed-off-by: lgao4
Reviewed-by: oliviermartin



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12900 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-29 12:15:08 +00:00
oliviermartin 84c35dd305 EmbeddedPkg: Fix Runtime driver module type
The module types of the RTC and Reset drivers have been
changed from DXE_DRIVER to DXE_RUNTIME_DRIVER.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12859 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-14 10:25:56 +00:00
oliviermartin 11c20f4e06 Arm Packages: Fixed coding style/Line endings to follow EDK2 coding convention
Arm Packages: Fixed mispelling

Arm Packages: Reduced warnings all over the code




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12407 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:53:54 +00:00
oliviermartin 5439ccda50 EmbeddedPkg/Ebl: Fix EBL copy file command
In the previous version, this command was not working:
cp fs0:\zImage fs1:\

This change uses the source filename is the destination
filename is not specified.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12406 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:52:16 +00:00
oliviermartin 6b062a863f EmbeddedPkg/Mmc: Fixed ARMGCC build
Fixed the build error: Redefinition of typedef 'EFI_MMC_HOST_PROTOCOL'



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12291 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-07 10:44:43 +00:00
oliviermartin 6740ea74e2 Clean up Rules of Platform FDFs to apply only one EFI image and Depex for each driver
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12285 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-06 18:41:55 +00:00
oliviermartin 16d88c2d20 EmbeddedPkg/MmcDxe: Add 'This' pointer attribute to protocol function
This attribute allows the EFI_MMC_HOST_PROTOCOL interface to manage
multiple instances in one driver.


EmbeddedPkg/MmcDxe: Add Revision attribute to the EFI_MMC_HOST_PROTOCOL


Note: The ARM PL180 and Omap35xx MMC host drivers has been updated.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12255 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-01 17:08:41 +00:00
oliviermartin 40842a5e7c EmbeddedPkg/MmcDxe: Card Presence Detect Race Condition
The MMC driver defaults to assume a card is not present.  It then starts a timer in MmcDxeInitialize to check for card presence every 200ms.

However it does not immediately check to see if a card is present so if the EFI driver connection process occurs less than 200ms after the driver load, the connection process for partition 
or filesystem drivers will fail because MediaPresent still is FALSE.  To resolve this race condition, we need to immediately perform the presence check in the Start routine.


EmbeddedPkg/MmcDxe: Media ID Handling

Initialize the MMC device on Start or when presence changes instead of doing it on the Block IO calls. This way the layered drivers can be stopped and rebuilt with new Media IDs instead of 
experiencing errors on calls to Block IO.


Proposed-by: Eugene Cohen (HP)
Reviewed-by: oliviermartin




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12237 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-30 18:02:38 +00:00
oliviermartin 151acec6e1 ArmPkg: Fix ARMGCC build
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12165 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18 11:12:39 +00:00
oliviermartin e0932788c3 EmbeddedPkg/MmcDxe: Set the BlockLength at the beginning of the BlockIo transfer
Before the SetBlockLength command was called prior to a Read or Write command.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12133 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:38:27 +00:00
oliviermartin bb0f9e9ba3 EmbeddedPkg/MmcDxe: Fix the indexes in the response array
The indexes have been reversed compare to the specification which
created confusions in some MMC responses.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12132 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:20:55 +00:00
oliviermartin 36aa561136 EmbeddedPkg/MmcDxe: Implement the correct macro to get the device size of SD 2 High Density cards
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12131 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:15:58 +00:00
oliviermartin d8ad4736af EmbeddedPkg/MmcDxe: Fix the CMD3 sequence
In the former version, we were checking the card was in the new state (Standby state).
But the transition to the nez state is only visible in the response of the next command.
This commit removes the check on the MMC state.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12130 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:12:13 +00:00
oliviermartin 969ece79f1 EmbeddedPkg/MmcDxe: Improved parameters checking
Ensure the passed parameters are correct.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12129 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:06:53 +00:00
oliviermartin 3de99375d2 EmbeddedPkg/MmcDxe: Create a periodic function to check if a card is present
In the former version, the check was done for every BlockIo operation.
By using a periodical function, we check less time in consequence performance
are better.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12128 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15 16:04:14 +00:00
oliviermartin 7ca9e5a401 EmbeddedPkg: Fix mispellings
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12101 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-08 18:29:14 +00:00
oliviermartin a6caee65ac ArmPlatformPkg: Remove PcdStandalone from Sec module and Introduce ArmPlatformSecExtraAction()
The PcdStandalone is a PCD ARM Ltd uses to make the difference between a standalone UEFI (boot
from cold boot to Boot Manager without user intervention) and a Debug UEFI firmware (the firmware
engineer has to copy the Normale World image into the DRAM to enable his/her firmware).

By coping the firmware into DRAM in the non standalone version it is much faster than reflashing
the NOR Flash after each build.

ArmPlatformSecExtraAction() function is called just before the Sec module jump to normal world.
The platform firmware can run extra actions at this stage.
The 'ARM Standalone' concept has moved to the implementation of ArmPlatformSecExtraAction() for
the ARM development boards (in ArmPlatformPkg/Library/DebugSecExtraActionLib).


ArmPlatformPkg: Enable DebugAgentLib in Sec and PrePeiCore


ArmPlatformPkg: Fix line endings in some source files

Use CR+LF line endings as defined by the EDK2 coding convention




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11991 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 16:07:54 +00:00
oliviermartin fb42fffeb8 ArmPlatformPkg: Fix build issues
Other compiler version ... other warnings



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11970 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-04 10:18:18 +00:00