Change the subject of the commit to "MdeModulePkg/SdMmcPciHcDxe: Robust improvements for SD card 1.8V switch" in order to better reflect the purpose of the change.
Patch merged via: PR - https://github.com/tianocore/edk2/pull/2438 Commit - https://github.com/tianocore/edk2/commit/7e5c603cba0823fd97456984f4cfc21c4c831b52 Best Regards, Hao Wu > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wu, Hao > A > Sent: Friday, January 21, 2022 8:57 AM > To: devel@edk2.groups.io; Rosli, Muhammad Aiman > <muhammad.aiman.ro...@intel.com>; Wang, Jian J <jian.j.w...@intel.com>; > Gao, Liming <gaolim...@byosoft.com.cn>; Ni, Ray <ray...@intel.com> > Subject: Re: [edk2-devel] [PATCH v3] MdeModulePkg: Enabling OS boot > from SD card through UEFI payload > > (Add missing maintainers/reviewers) > > Reviewed-by: Hao A Wu <hao.a...@intel.com> Will wait until early next > week for the merging to see if any comment from other reviewers. > > Best Regards, > Hao Wu > > > -----Original Message----- > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Aiman > > Rosli > > Sent: Friday, January 21, 2022 2:53 AM > > To: devel@edk2.groups.io > > Cc: Rosli, Muhammad Aiman <muhammad.aiman.ro...@intel.com> > > Subject: [edk2-devel] [PATCH v3] MdeModulePkg: Enabling OS boot from > > SD card through UEFI payload > > > > This changes is by adding 50ms delay during voltage switching from > > 3.3V to 1.8V, plus adding a goto Voltage33Retry for 3.3V checking and > retrying. > > > > Signed-off-by: Aiman Rosli <muhammad.aiman.ro...@intel.com> > > --- > > MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c | 39 > > +++++++++++++++++-- > > 1 file changed, 36 insertions(+), 3 deletions(-) > > > > diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c > > b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c > > index 662f9f483c..f5a3607e47 100644 > > --- a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c > > +++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c > > @@ -1213,9 +1213,14 @@ SdCardIdentification ( > > UINT32 PresentState; > > UINT8 HostCtrl2; > > UINTN Retry; > > + BOOLEAN ForceVoltage33; > > + > > + ForceVoltage33 = FALSE; > > > > PciIo = Private->PciIo; > > PassThru = &Private->PassThru; > > + > > +Voltage33Retry: > > // > > // 1. Send Cmd0 to the device > > // > > @@ -1294,6 +1299,13 @@ SdCardIdentification ( > > return EFI_UNSUPPORTED; > > } > > > > + // > > + // 1.8V had failed in the previous run, forcing a retry with 3.3V > > + instead // if (ForceVoltage33 == TRUE) { > > + S18r = FALSE; > > + } > > + > > // > > // 5. Repeatly send Acmd41 with supply voltage window to the device. > > // Note here we only support the cards complied with SD physical > > @@ -1366,9 +1378,30 @@ SdCardIdentification ( > > > > SdMmcHcRwMmio (PciIo, Slot, SD_MMC_HC_PRESENT_STATE, TRUE, > > sizeof (PresentState), &PresentState); > > if (((PresentState >> 20) & 0xF) != 0xF) { > > - DEBUG ((DEBUG_ERROR, "SdCardIdentification: SwitchVoltage fails > with > > PresentState = 0x%x, It should be 0xF\n", PresentState)); > > - Status = EFI_DEVICE_ERROR; > > - goto Error; > > + // > > + // Delay 50 milliseconds in order for clock to stabilize, > > + retry reading the > > SD_MMC_HC_PRESENT_STATE > > + // > > + gBS->Stall (50000); > > + SdMmcHcRwMmio (PciIo, Slot, SD_MMC_HC_PRESENT_STATE, TRUE, > > sizeof (PresentState), &PresentState); > > + if (((PresentState >> 20) & 0xF) != 0xF) { > > + DEBUG ((DEBUG_ERROR, "SdCardIdentification: SwitchVoltage > > + fails > > with PresentState = 0x%x, It should be 0xF\n", PresentState)); > > + // > > + // Reset and reinitialize the slot before the 3.3V retry. > > + // > > + Status = SdMmcHcReset (Private, Slot); > > + if (EFI_ERROR (Status)) { > > + goto Error; > > + } > > + > > + Status = SdMmcHcInitHost (Private, Slot); > > + if (EFI_ERROR (Status)) { > > + goto Error; > > + } > > + > > + DEBUG ((DEBUG_ERROR, "SdCardIdentification: Switching to > > + 1.8V > > failed, forcing a retry with 3.3V instead\n")); > > + ForceVoltage33 = TRUE; > > + goto Voltage33Retry; > > + } > > } > > } > > > > -- > > 2.34.1.windows.1 > > > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#86005): https://edk2.groups.io/g/devel/message/86005 Mute This Topic: https://groups.io/mt/88566229/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-