Hi,

I am writing a PCI driver(Host Bridge) code for ARM platform with real devices 
like e1000 NIC card on PCI bus.

I have written a part of PCI Root Complex Initialization code, but have few 
doubts :

(1)    Is all of the following functions have platform specific code, or they 
can be re-used from any of the PCI code like ARmJunoPkg etc? Are all these 
functions definitions mendatory?

*         PciHbRaNotifyPhase,           //   ResAlloc.NotifyPhase

*         PciHbRaGetNextRootBridge,     //   ResAlloc.GetNextRootBridge

*         PciHbRaGetAllocAttributes,    //   ResAlloc.GetAllocAttributes

*         PciHbRaStartBusEnumeration,   //   ResAlloc.StartBusEnumeration

*         PciHbRaSetBusNumbers,         //   ResAlloc.SetBusNumbers

*         PciHbRaSubmitResources,       //   ResAlloc.SubmitResources

*         PciHbRaGetProposedResources,  //   ResAlloc.GetProposedResources

*         PciHbRaPreprocessController



(2)    Should "PCI bus scan for devices" kind of code be written as part of PCI 
Root Bridge code or it should be re-used from
                MdeModulePkg/Bus/Pci/ code as it is?

(3)    As I want to write e1000 PCI NIC card driver over it, is there any 
existing code for the same?

Thanks and Regards,
Shaveta

From: Sharma Bhupesh-B45370
Sent: Wednesday, May 13, 2015 8:20 PM
To: edk2-devel@lists.sourceforge.net
Cc: Leekha Shaveta-B20052
Subject: RE: Query UEFI : PCIE Driver for Armv8 platform

Thanks for the pointers, Olivier.

Regards,
Bhupesh

From: Olivier Martin [mailto:olivier.mar...@arm.com]
Sent: Wednesday, May 13, 2015 8:10 PM
To: edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
Subject: Re: [edk2] Query UEFI : PCIE Driver for Armv8 platform

Are lucky because I actually pushed the PCI Root Complex source code for ARM 
Juno development board R1 (Revision 1) yesterday in EDK2.
You should be able to find the code under 
ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe
I am guessing what you name 'ATU' is the logic to translate AXI bus <-> PCI 
bus. As far as I have seen so far, this logic is vendor specific.
You can see this initialization of the translation block for this PCI Root 
Complex in this file: 
ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/XPressRich3.c

From: Leekha Shaveta [mailto:shav...@freescale.com]
Sent: 13 May 2015 13:09
To: edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
Subject: [edk2] Query UEFI : PCIE Driver for Armv8 platform

Hi,

I was looking for PCIE driver/Root Bridge implementation for ARMv8 kind of 
platforms and have referred some code in files:

*         ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciRootBridgeIo.c

*         ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciHostBridge.c

But I couldn't see ATU programming code in this implementation, AFAIK ATU 
programming is required for any outbound and inbound transaction of PCI.
How the IO translation is being done in this?
Also what is the context of "aperture" used in this code?

Kindly help in clearing these doubts.

Regards,
Shaveta


-- IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered 
in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, 
Registered in England & Wales, Company No: 2548782
------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to