Re: [edk2] [PATCH edk2-platforms 07/14] Platform/SynquacerEvalBoard: add PCI support
On Fri, Sep 08, 2017 at 07:23:08PM +0100, Ard Biesheuvel wrote: > Wire up the various drivers and libraries for the SynquacerEvalBoard > platform. Also enable the usual PCI suspects: XHCI, SATA and NVME, > and the various bus, partition and file system drivers that we need > to make use of PCIe devices. If you're folding ChaosKey driver in here (as you are) it deserves a mention in the commit message. > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ard Biesheuvel> --- > Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc | 49 > > Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf | 38 > +++ > 2 files changed, 87 insertions(+) > > diff --git a/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc > b/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc > index 2a9a0037dcda..aea39b46d91b 100644 > --- a/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc > +++ b/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc > @@ -100,6 +100,7 @@ >DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf >SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf >UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf > + UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf > ># BDS Libraries > > UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf > @@ -148,6 +149,12 @@ > > SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf >PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf > > + # > + # PCI > + # > + > PciSegmentLib|Silicon/Socionext/Synquacer/Library/SynquacerPciSegmentLib/SynquacerPciSegmentLib.inf > + > PciHostBridgeLib|Silicon/Socionext/Synquacer/Library/SynquacerPciHostBridgeLib/SynquacerPciHostBridgeLib.inf > + > [LibraryClasses.common.UEFI_APPLICATION] >PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf >HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf > @@ -184,6 +191,7 @@ >gArmTokenSpaceGuid.PcdSystemMemoryBase|0x8000 >gArmTokenSpaceGuid.PcdSystemMemorySize|0x7F00 >gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40 > + gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24 > ># Ashbrook 12-Cluster profile >gArmPlatformTokenSpaceGuid.PcdCoreCount|2 > @@ -392,3 +400,44 @@ >NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf > > NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf >} > + > + # > + # PCI > + # > + > Silicon/Socionext/Synquacer/Drivers/SynquacerPciCpuIo2dxe/SynquacerPciCpuIo2Dxe.inf > + MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf { > + > +gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8010004F > + } > + MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf > + MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf > + > + # > + # AHCI Support > + # > + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf > + MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf > + MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf > + MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf > + MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf > + > + # > + # USB > + # > + MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf > + MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf > + MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf > + MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf Is there a good reason for leaving out Uhci/Ehci? / Leif > + > + # > + # FAT filesystem + GPT/MBR partitioning > + # > + MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf > + MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf > + MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf > + FatPkg/EnhancedFatDxe/Fat.inf > + > + # > + # RNG > + # > + Silicon/Openmoko/ChaosKeyDxe/ChaosKeyDxe.inf > diff --git a/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf > b/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf > index 6c00e16b169e..befad354918e 100644 > --- a/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf > +++ b/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf > @@ -128,6 +128,44 @@ READ_LOCK_STATUS = TRUE >INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf >INF MdeModulePkg/Application/UiApp/UiApp.inf > > + # > + # PCI > + # > + INF > Silicon/Socionext/Synquacer/Drivers/SynquacerPciCpuIo2dxe/SynquacerPciCpuIo2Dxe.inf > + INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf > + INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf > + INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf > + > + # > + # AHCI Support > + # > + INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf > + INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf > + INF
[edk2] [PATCH edk2-platforms 07/14] Platform/SynquacerEvalBoard: add PCI support
Wire up the various drivers and libraries for the SynquacerEvalBoard platform. Also enable the usual PCI suspects: XHCI, SATA and NVME, and the various bus, partition and file system drivers that we need to make use of PCIe devices. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel--- Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc | 49 Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf | 38 +++ 2 files changed, 87 insertions(+) diff --git a/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc b/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc index 2a9a0037dcda..aea39b46d91b 100644 --- a/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc +++ b/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc @@ -100,6 +100,7 @@ DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf + UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf # BDS Libraries UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf @@ -148,6 +149,12 @@ SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf + # + # PCI + # + PciSegmentLib|Silicon/Socionext/Synquacer/Library/SynquacerPciSegmentLib/SynquacerPciSegmentLib.inf + PciHostBridgeLib|Silicon/Socionext/Synquacer/Library/SynquacerPciHostBridgeLib/SynquacerPciHostBridgeLib.inf + [LibraryClasses.common.UEFI_APPLICATION] PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf @@ -184,6 +191,7 @@ gArmTokenSpaceGuid.PcdSystemMemoryBase|0x8000 gArmTokenSpaceGuid.PcdSystemMemorySize|0x7F00 gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40 + gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24 # Ashbrook 12-Cluster profile gArmPlatformTokenSpaceGuid.PcdCoreCount|2 @@ -392,3 +400,44 @@ NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf } + + # + # PCI + # + Silicon/Socionext/Synquacer/Drivers/SynquacerPciCpuIo2dxe/SynquacerPciCpuIo2Dxe.inf + MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf { + +gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8010004F + } + MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf + + # + # AHCI Support + # + MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf + MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf + MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf + MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf + MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf + + # + # USB + # + MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf + MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf + MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf + MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf + + # + # FAT filesystem + GPT/MBR partitioning + # + MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf + MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf + MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf + FatPkg/EnhancedFatDxe/Fat.inf + + # + # RNG + # + Silicon/Openmoko/ChaosKeyDxe/ChaosKeyDxe.inf diff --git a/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf b/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf index 6c00e16b169e..befad354918e 100644 --- a/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf +++ b/Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf @@ -128,6 +128,44 @@ READ_LOCK_STATUS = TRUE INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf INF MdeModulePkg/Application/UiApp/UiApp.inf + # + # PCI + # + INF Silicon/Socionext/Synquacer/Drivers/SynquacerPciCpuIo2dxe/SynquacerPciCpuIo2Dxe.inf + INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf + INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf + + # + # AHCI Support + # + INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf + INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf + INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf + INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf + INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf + + # + # USB + # + INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf + INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf + INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf + INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf + + # + # FAT filesystem + GPT/MBR partitioning + # + INF