On Thu, May 09, 2019 at 11:53:28AM +0200, Marcin Wojtas wrote: > Hi, > > Hereby I submit Armada7k8k PCIE support. The commits > allow to use single controller on each of currently > supported boards (MacchiatoBin, A7040/A8040-DB) both in > firmware and in OS with ACPI boot. Multiple slots, > using custom PciSegmentLib, will be added later.
Thanks, Marcin. As you have seen, I had only really minor comments on this set. (Patches I have not commented on look fine to me.) But I think we need Ard to give this a skim as well before pushing it, so I don't think we need a v2 until that has happened. Best Regards, Leif > Current patchset can be grouped following way: > 1. Preparation patches for Armada platforms (SoC and > Board description libraries and protocol) > > 2. Implement PciHostBridgeLib/PciExpressLib and > enable compilation. > > 3. ACPI support for each board + switch to pci-host-generic > in MacchiatoBin DT. > > 4. Additional 2 small patches. > > Thank to these commits (and all previously merged support), we can > now use mainline ARM-TF + EDK2 with DT and ACPI distributions and > operating systems. Example logs: > * McBin DT boot with pci-host-generic driver https://pastebin.com/5dRVCjRR > * McBin + Centos AltArch7 https://pastebin.com/BGx3Q6w0 > * ACPI boot on Armada7040Db with USB over PCIE https://pastebin.com/kMMUnEr8 > > In case anyone wishes to try, for your convenience, I uploaded > the McBin binary built from the PCIE branch on top of the > latest edk2/edk2-platforms with today's ARM-TF: > https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/wiki/files/flash-image-mcbin-mainline-r20190509.bin > > The patches are available in the github: > https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/pcie-upstream-r20190509 > > I'm looking forward to your comments or remarks. > > Best regards, > Marcin > > Ard Biesheuvel (1): > Marvell/Armada7k8k: Add PciExpressLib implementation > > Marcin Wojtas (13): > Marvell/Library: MvGpioLib: Extend GPIO pin description > Marvell/Library: ArmadaSoCDescLib: Add PCIE information > Marvell/Library: ArmadaBoardDescLib: Add PCIE information > Marvell/Armada7k8k: Extend board description libraries with PCIE > Marvell/Armada7k8k: MvBoardDesc: Extend protocol with PCIE support > Marvell/Armada7k8k: Implement PciHostBridgeLib > Marvell/Armada7k8k: Enable PCIE support > Marvell/Armada80x0McBin: Enable ACPI PCIE support > Marvell/Armada80x0Db: Enable ACPI PCIE support > Marvell/Armada70x0Db: Enable ACPI PCIE support > Marvell/Armada80x0McBin: DeviceTree: Use pci-host-generic driver > Marvell/Armada7k8k: Remove duplication in .dsc files > Marvell/Armada7k8: Add 'acpiview' shell command to build > > Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc > | 18 +- > Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc > | 4 +- > Platform/Marvell/Armada80x0Db/Armada80x0Db.dsc > | 4 +- > Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc > | 4 +- > Silicon/Marvell/Armada7k8k/Armada7k8k.fdf > | 5 + > Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db.inf > | 1 + > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db.inf > | 1 + > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin.inf > | 1 + > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.inf > | 42 + > > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.inf > | 52 + > Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Pcie.h > | 25 + > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Pcie.h > | 25 + > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Pcie.h > | 25 + > > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.h > | 95 ++ > > Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h > | 6 + > Silicon/Marvell/Include/Library/ArmadaBoardDescLib.h > | 46 + > Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h > | 20 + > Silicon/Marvell/Include/Library/MvGpioLib.h > | 1 + > Silicon/Marvell/Include/Protocol/BoardDesc.h > | 22 + > > Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.c > | 48 + > > Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c > | 4 + > > Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.c > | 48 + > > Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c > | 6 + > > Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.c > | 48 + > > Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c > | 1 + > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.c > | 1529 ++++++++++++++++++++ > > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.c > | 244 ++++ > > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.c > | 330 +++++ > > Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c > | 44 + > Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.c > | 86 ++ > Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl > | 217 +++ > Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Mcfg.aslc > | 47 + > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl > | 217 +++ > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Mcfg.aslc > | 47 + > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl > | 217 +++ > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Mcfg.aslc > | 47 + > Silicon/Marvell/Armada7k8k/DeviceTree/armada-8040-mcbin.dts > | 3 + > 37 files changed, 3569 insertions(+), 11 deletions(-) > create mode 100644 > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.inf > create mode 100644 > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.inf > create mode 100644 Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Pcie.h > create mode 100644 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Pcie.h > create mode 100644 > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Pcie.h > create mode 100644 > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.h > create mode 100644 > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.c > create mode 100644 > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.c > create mode 100644 > Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.c > create mode 100644 > Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Mcfg.aslc > create mode 100644 > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Mcfg.aslc > create mode 100644 > Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Mcfg.aslc > > -- > 2.7.4 > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#40447): https://edk2.groups.io/g/devel/message/40447 Mute This Topic: https://groups.io/mt/31553473/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-