[edk2,edk2-platforms,07/14] Platform/SynquacerEvalBoard: add PCI support

Message ID 20170908182315.9591-8-ard.biesheuvel@linaro.org
State New
Headers show
Series
  • add support for Socionext Synquacer EVB
Related show

Commit Message

Ard Biesheuvel Sept. 8, 2017, 6:23 p.m.
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 <ard.biesheuvel@linaro.org>

---
 Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc | 49 ++++++++++++++++++++
 Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf | 38 +++++++++++++++
 2 files changed, 87 insertions(+)

-- 
2.11.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Leif Lindholm Sept. 11, 2017, 2:48 p.m. | #1
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 <ard.biesheuvel@linaro.org>

> ---

>  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|0x80000000

>    gArmTokenSpaceGuid.PcdSystemMemorySize|0x7F000000

>    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 {

> +    <PcdsFixedAtBuild>

> +        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 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 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf

> +  INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf

> +  INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf

> +  INF FatPkg/EnhancedFatDxe/Fat.inf

> +

> +  #

> +  # RNG

> +  #

> +  INF Silicon/Openmoko/ChaosKeyDxe/ChaosKeyDxe.inf

> +

>  [FV.FVMAIN_COMPACT]

>  FvAlignment        = 8

>  ERASE_POLARITY     = 1

> -- 

> 2.11.0

> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Patch

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|0x80000000
   gArmTokenSpaceGuid.PcdSystemMemorySize|0x7F000000
   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 {
+    <PcdsFixedAtBuild>
+        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 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
+  INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+  INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+  INF FatPkg/EnhancedFatDxe/Fat.inf
+
+  #
+  # RNG
+  #
+  INF Silicon/Openmoko/ChaosKeyDxe/ChaosKeyDxe.inf
+
 [FV.FVMAIN_COMPACT]
 FvAlignment        = 8
 ERASE_POLARITY     = 1