diff mbox series

[edk2,edk2-platforms,v3,10/27] Platform/SynQuacerEvalBoard: add PCI support

Message ID 20171031105218.30208-11-ard.biesheuvel@linaro.org
State Superseded
Headers show
Series add support for Socionext Synquacer | expand

Commit Message

Ard Biesheuvel Oct. 31, 2017, 10:52 a.m. UTC
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.

Given how PCI support enables USB support too, and taking the lack of
a RNG on this SoC into account, let's enable the ChaosKey driver as
well.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

---
 Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc | 52 ++++++++++++++++++++
 Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.fdf | 41 +++++++++++++++
 2 files changed, 93 insertions(+)

-- 
2.11.0

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

Comments

Leif Lindholm Nov. 1, 2017, 4:59 a.m. UTC | #1
On Tue, Oct 31, 2017 at 10:52:01AM +0000, 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.

> 

> Given how PCI support enables USB support too, and taking the lack of

> a RNG on this SoC into account, let's enable the ChaosKey driver as

> well.

> 

> Contributed-under: TianoCore Contribution Agreement 1.1

> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>


Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>


> ---

>  Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc | 52 ++++++++++++++++++++

>  Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.fdf | 41 +++++++++++++++

>  2 files changed, 93 insertions(+)

> 

> diff --git a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc

> index 3dc8aa7461d6..519a078e15dc 100644

> --- a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc

> +++ b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc

> @@ -100,6 +100,7 @@ [LibraryClasses.common]

>    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

> @@ -151,6 +152,12 @@ [LibraryClasses.common.DXE_DRIVER]

>    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

> @@ -193,6 +200,7 @@ [PcdsFixedAtBuild.common]

>    gSynQuacerTokenSpaceGuid.PcdDramInfoBase|0x2E00FFC0

>  

>    gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40

> +  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24

>  

>    # 12x 2-core processor clusters

>    gArmPlatformTokenSpaceGuid.PcdCoreCount|2

> @@ -430,3 +438,47 @@ [Components.common]

>        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

> +  MdeModulePkg/Universal/EbcDxe/EbcDxe.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/UhciDxe/UhciDxe.inf

> +  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf

> +  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 f74e22c31aa5..838963eff612 100644

> --- a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.fdf

> +++ b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.fdf

> @@ -132,6 +132,47 @@ [FV.FvMain]

>    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

> +  INF MdeModulePkg/Universal/EbcDxe/EbcDxe.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/UhciDxe/UhciDxe.inf

> +  INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf

> +  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_PEI]

>  FvAlignment        = 16

>  ERASE_POLARITY     = 1

> -- 

> 2.11.0

> 

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

Patch

diff --git a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
index 3dc8aa7461d6..519a078e15dc 100644
--- a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
+++ b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
@@ -100,6 +100,7 @@  [LibraryClasses.common]
   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
@@ -151,6 +152,12 @@  [LibraryClasses.common.DXE_DRIVER]
   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
@@ -193,6 +200,7 @@  [PcdsFixedAtBuild.common]
   gSynQuacerTokenSpaceGuid.PcdDramInfoBase|0x2E00FFC0
 
   gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40
+  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24
 
   # 12x 2-core processor clusters
   gArmPlatformTokenSpaceGuid.PcdCoreCount|2
@@ -430,3 +438,47 @@  [Components.common]
       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
+  MdeModulePkg/Universal/EbcDxe/EbcDxe.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/UhciDxe/UhciDxe.inf
+  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
+  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 f74e22c31aa5..838963eff612 100644
--- a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.fdf
+++ b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.fdf
@@ -132,6 +132,47 @@  [FV.FvMain]
   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
+  INF MdeModulePkg/Universal/EbcDxe/EbcDxe.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/UhciDxe/UhciDxe.inf
+  INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
+  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_PEI]
 FvAlignment        = 16
 ERASE_POLARITY     = 1