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

Reply via email to