Do you look into the UsbController.h in MdeModulePkg/Include/Ppi directory?
typedef EFI_STATUS (EFIAPI *PEI_GET_USB_CONTROLLER)( IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_CONTROLLER_PPI *This, IN UINT8 UsbControllerId, OUT UINTN *ControllerType, OUT UINTN *BaseAddress ); You need write a PEIM to produce this PPI and implement the above interface according to your platform setting. For how to write a PEIM module, you can refer to EDKII Module Writer's Guide in edk2.sourceforge.net Thanks Feng -----Original Message----- From: Eric Wittmayer [mailto:[email protected]] Sent: Monday, August 17, 2015 11:50 To: Tian, Feng; [email protected] Subject: RE: [edk2] Help debugging PEIM on Minnowboard Max Hi Feng, I see now that XhciPei needs gPeiUsbControllerPpiGuid and creates gPeiUsbHostControllerPpiGuid which UsbBusPei needs. I can't seem to figure out what creates gPeiUsbControllerPpiGuid? I see it listed in the .dec file I'm using but that apparently isn't enough to install the Ppi. What should be installing the gPeiUsbControllerPpiGuid? Thanks, Eric > -----Original Message----- > From: Tian, Feng [mailto:[email protected]] > Sent: Sunday, August 16, 2015 6:09 PM > To: Eric Wittmayer; [email protected] > Cc: Tian, Feng > Subject: RE: [edk2] Help debugging PEIM on Minnowboard Max > > Eric, > > I must agree the naming of these usb pei related ppi guids are not > good, which misleads you. > > There is no the chicken and egg problem. gPeiUsbHostControllerPpiGuid > and gPeiUsbControllerPpiGuid are two different ppis. The former is > consumed by UsbPei and the latter is consumed by XhciPei. You need > write a pei module to produce PeiUsbControllerPpi (see > MdeModulePkg/Include/Ppi for > definitions) at first. > > Thanks > Feng > > -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of > Eric Wittmayer > Sent: Saturday, August 15, 2015 08:12 > To: [email protected] > Subject: [edk2] Help debugging PEIM on Minnowboard Max > > I'm writing a PEIM for a USB3 device but having trouble even getting > the UsbBusPie and XhciPei modules to load during boot. > > I thought getting the existing Usb Peims to load would be a good first step. > I looked at the DEPEX for both of the above modules and tried removing > "gEfiPeiBootInRecoveryModePpiGuid" but I didn't see them load. If I > set both of their DEPEX == TRUE then I see some print statements that > show they are at least trying to load but then I have a chicken and > egg problem in > that UsbBusPie needs either gPeiUsbHostControllerPpiGuid or > gPeiUsb2HostControllerPpiGuid which come from XhciPei. However, > XhciPei needs gPeiUsbControllerPpiGuid which comes from UsbBusPei > before it will install the gPeiUsb2HostControllerPpiGuid. The same > cross dependency is shown in the DEPEX for these two modules. > > I feel like I'm missing something simple and fundamental and I'm > hoping someone will point me in the right direction. > > Thanks, > Eric W > > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

