Hi Andrew,
We have a driver that implements gEfiPciRootBridgeIoProtocolGuid. So the
PCIe bus is being enumerated and the connect controller call is coming in.
Since there is a ready implementation of xHCI available, I am trying to
figure how to do it.
If I implement a DXE driver, what protocol would I consume and what would I
produce so that the connect controller will go looking for protocols in the
USB stack ?
I apologize if the question sounds odd, just started working on UEFI
firmware.
Thank You.
On Fri, Aug 29, 2014 at 3:32 PM, Andrew Fish <[email protected]> wrote:
>
> On Aug 29, 2014, at 3:22 PM, Narinder Dhillon <[email protected]>
> wrote:
>
> Hi All,
>
> I am trying to implement a USB driver for a xHCI controller that is
> sitting on a PCIe bus, on a ARM SoC. I was looking at the current
> implementations and saw that Beagle board has a similar implementation.
> Ideally, I would like to add these lines to my project files and it should
> work:
>
> INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
> INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
> INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
>
> The only issue is that I need to initialize the hardware block before this
> driver stack can use the hardware.
>
> My question is, where/how do I add this initialization sequence so that
> when connect controller call comes to this driver stack, it will recognize
> the xHCI controller and set everything up ?
>
>
> The generic answer is a DXE driver. A INF file with no [Depex] means wait
> for all the EFI services are available before you load. The connect will
> happen in the BDS, so after all the drivers have been dispatched. In the
> driver model the 1st protocol in a connect sequence is always produced by a
> DXE driver, as you need an existing handle to do the
> gBS->ConnectController() on.
>
> What driver do you use to produce gEfiPciRootBridgeIoProtocolGuid? That
> is the DXE driver that should be abstracting your PCIe bus. You could do it
> there if it has a platform specific component, or build a DXE driver that
> depends on gEfiPciRootBridgeIoProtocolGuid.
>
> Thanks,
>
> Andrew Fish
>
> Thank You.
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds. Stuff that matters.
> http://tv.slashdot.org/_______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
>
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds. Stuff that matters.
> http://tv.slashdot.org/
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel