summaryrefslogtreecommitdiff
path: root/Platform
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2017-12-09 10:00:21 +0000
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2017-12-12 18:36:31 +0000
commitace0059c18862e7fd2d02e48db38ab23edfd5342 (patch)
treefe9398540ac829778153c2e786a30d82df20cef6 /Platform
parentd7b0eeadeda2622836817ec7d05adeb553365a62 (diff)
downloadedk2-platforms-ace0059c18862e7fd2d02e48db38ab23edfd5342.tar.xz
Silicon/SynQuacerEvalBoard: enable PCI #0 only when card is detected
The EVB does not boot if PCI RC #0 has no card inserted, and will hang in the PCIe initialization code. So let's check the presence detect GPIO, and only enable PCI RC #0 if it is asserted. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Diffstat (limited to 'Platform')
-rw-r--r--Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc7
1 files changed, 7 insertions, 0 deletions
diff --git a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
index 42c5f64f7f..b4b9239143 100644
--- a/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
+++ b/Platform/Socionext/SynQuacerEvalBoard/SynQuacerEvalBoard.dsc
@@ -376,6 +376,10 @@
# set DIP switch DSW3-PIN1 (GPIO pin PD[0] on the SoC) to clear the varstore
gSynQuacerTokenSpaceGuid.PcdClearSettingsGpioPin|0
+ # On the EVB, PCIe RC #0 should not be enabled from software if no card
+ # was inserted, or the boot will hang.
+ gSynQuacerTokenSpaceGuid.PcdPcie0PresenceDetectGpioPin|15
+
!if $(BUILD_NUMBER) > 1
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(BUILD_NUMBER)"
!endif
@@ -397,6 +401,9 @@
gArmTokenSpaceGuid.PcdSystemMemoryBase|0x0000000000000000
gArmTokenSpaceGuid.PcdSystemMemorySize|0xFFFFFFFFFFFFFFFF
+ # enable RC #1 only by default, RC #0 will be enabled if an endpoint is detected
+ gSynQuacerTokenSpaceGuid.PcdPcieEnableMask|0x2
+
################################################################################
#
# Components Section - list of all EDK II Modules needed by this Platform