BdsPlatform: generate SMM events to put eMMC/SD in proper mode
For Baytrail devices, coreboot leaves the eMMC/SD in PCI mode to enable detection by Tianocore, so put into ACPI mode before OS boots. Fixes booting on Baytrail devices. Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
This commit is contained in:
@ -1265,6 +1265,11 @@ Returns:
|
|||||||
Status = gBS->SetTimer (UserInputDurationTime, TimerRelative, 20000000);
|
Status = gBS->SetTimer (UserInputDurationTime, TimerRelative, 20000000);
|
||||||
ASSERT (Status == EFI_SUCCESS);
|
ASSERT (Status == EFI_SUCCESS);
|
||||||
|
|
||||||
|
//
|
||||||
|
// invoke SMM handler to put eMMC/SD devices into ACPI mode for OS
|
||||||
|
//
|
||||||
|
IoWrite8(0xb2, 0xcd);
|
||||||
|
|
||||||
//
|
//
|
||||||
// To give the User a chance to enter Setup here, if user set TimeOut is 0.
|
// To give the User a chance to enter Setup here, if user set TimeOut is 0.
|
||||||
// BDS should still give user a chance to enter Setup
|
// BDS should still give user a chance to enter Setup
|
||||||
|
@ -42,6 +42,7 @@ Abstract:
|
|||||||
#include <Library/UefiLib.h>
|
#include <Library/UefiLib.h>
|
||||||
#include <Library/DxeServicesTableLib.h>
|
#include <Library/DxeServicesTableLib.h>
|
||||||
#include <Library/DevicePathLib.h>
|
#include <Library/DevicePathLib.h>
|
||||||
|
#include <Library/IoLib.h>
|
||||||
|
|
||||||
#include <Protocol/PciIo.h>
|
#include <Protocol/PciIo.h>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user