diff options
author | Ryan Harkin <ryan.harkin@linaro.org> | 2013-06-21 10:09:50 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2013-06-21 10:09:50 +0000 |
commit | e375b7e0bdff4103f4ab3167edf6c4972bb3d59d (patch) | |
tree | 3526ad958b6d43d31102bbb425c2d3eab45d80e2 /ArmPlatformPkg/ArmVExpressPkg | |
parent | 0d304bef4b8b000cf2b47d19343687b38cc16561 (diff) | |
download | edk2-e375b7e0bdff4103f4ab3167edf6c4972bb3d59d.zip edk2-e375b7e0bdff4103f4ab3167edf6c4972bb3d59d.tar.gz edk2-e375b7e0bdff4103f4ab3167edf6c4972bb3d59d.tar.bz2 |
ArmPlatformPkg/ArmVExpressPkg: Add Shutdown support
LibResetSystem was performing a cold reboot for both reboot and
shutdown.
This patch updates LibResetSystem to pass SYS_CFG_SHUTDOWN to the
microcontroller when called wit EfiResetShutdown.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14438 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg/ArmVExpressPkg')
-rw-r--r-- | ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c b/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c index f858317..b96e7e0 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c +++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.c @@ -49,12 +49,17 @@ LibResetSystem ( case EfiResetWarm:
// Map a warm reset into a cold reset
case EfiResetCold:
- case EfiResetShutdown:
// Send the REBOOT function to the platform microcontroller
ArmPlatformSysConfigSet (SYS_CFG_REBOOT, 0);
// We should never be here
while(1);
+ case EfiResetShutdown:
+ // Send the SHUTDOWN function to the platform microcontroller
+ ArmPlatformSysConfigSet (SYS_CFG_SHUTDOWN, 0);
+
+ // We should never be here
+ while(1);
}
ASSERT(FALSE);
|