blob: 77a3cef8bcd0686aaad09a54d7a4ee6d9771aa3a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
#;*****************************************************************************
#; Copyright (C) 2019-2025 Advanced Micro Devices, Inc. All rights reserved.
#; SPDX-License-Identifier: BSD-2-Clause-Patent
#;
#;******************************************************************************
# *****************************************************************************
# Defines passed into build
# RELEASE_DATE
# FIRMWARE_REVISION_NUM
# FIRMWARE_VERSION_STR
# PLATFORM_CRB
# AMD_PROCESSOR
# CBS_INCLUDE
# INTERNAL_IDS
# SIMNOW_SUPPORT
# EMULATION
# *****************************************************************************
[Defines]
!ifndef AMD_PROCESSOR
AMD_PROCESSOR = Genoa
!endif
PROCESSOR_PATH = $(AMD_PROCESSOR)Board
!ifndef PLATFORM_CRB
PLATFORM_CRB = Ruby
!endif
PLATFORM_NAME = $(PLATFORM_CRB)BoardPkg
PLATFORM_GUID = f9d2b0a3-f7a1-40db-b9c1-27c403d3a35d
PLATFORM_VERSION = 0.01
DSC_SPECIFICATION = 1.30
OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)_$(AMD_PROCESSOR)
!ifdef $(INTERNAL_IDS)
OUTPUT_DIRECTORY = $(OUTPUT_DIRECTORY)_INTERNAL
!else
OUTPUT_DIRECTORY = $(OUTPUT_DIRECTORY)_EXTERNAL
!endif
SUPPORTED_ARCHITECTURES = IA32|X64
BUILD_TARGETS = DEBUG|RELEASE|NOOPT
SKUID_IDENTIFIER = DEFAULT
FLASH_DEFINITION = $(PLATFORM_NAME)/Project.fdf
DEFINE PEI_ARCH = IA32
DEFINE DXE_ARCH = X64
PREBUILD = "python PlatformTools/Server/support/prepostbuild_launcher.py prebuild"
POSTBUILD = "python PlatformTools/Server/support/prepostbuild_launcher.py postbuild"
#
# Platform On/Off features are defined here
#
DEFINE SOURCE_DEBUG_ENABLE = FALSE
DEFINE DEBUG_DISPATCH_ENABLE = FALSE
DEFINE DISABLE_SMT = FALSE
# AGESA Defines to skip Cf9Reset Driver
DEFINE AMD_RESET_DXE_DRIVER_SUPPORT_DISABLED = TRUE
DEFINE PLATFORM_CRB_TABLE_ID = "RUBY "
DEFINE SATA_OVERRIDE = FALSE
!ifdef $(INTERNAL_IDS)
# AGESA debug output
DEFINE IDS_DEBUG_ENABLE = FALSE
# Non-runtime UEFI output
DEFINE LOGGING_ENABLE = TRUE
# SMM and Dxe runtime debug message control
DEFINE RUNTIME_LOGGING_ENABLE = FALSE
!else
# AGESA debug output
DEFINE IDS_DEBUG_ENABLE = FALSE
# Non-runtime UEFI output
DEFINE LOGGING_ENABLE = FALSE
# SMM and Dxe runtime debug message control
DEFINE RUNTIME_LOGGING_ENABLE = FALSE
!endif
# Predefined Fabric Resource
DEFINE PREDEFINED_FABRIC_RESOURCES = FALSE
# use emulated variable store instead of real spirom
# use this flag for early brigup when there is issue
# with accessing the spirom
DEFINE USE_EMULATED_VARIABLE_STORE = $(EMULATION)
# Multisegment support
DEFINE PCIE_MULTI_SEGMENT = TRUE
# EDK2 components are starting to use PLATFORMX64_ENABLE in their include
# DSC/FDF files
DEFINE PLATFORMX64_ENABLE = TRUE
# MACRO used by AGESA FCH include DSC/FDF to exclude legacy CSM support
DEFINE AMD_CSM_SUPPORT_DISABLED = TRUE
DEFINE ROM3_1TB_REMAP = FALSE
# Console settings
#
# Background info:
# As per PPR vol7 17.4.10 UART Registers
# There are 4 physical UARTS available for SBIOS.
# UART0 supports flow controls.
# UART1 doest support flow controls.
# UART2 is disabled by AGESA/CPM to enable flow control for UART0.
# Hence only two UARTs (UART0 and UART1) are available for SBIOS.
# MMIO addresses for 4 UART as FEDCF000,FEDCE000,FEDCA000 and FEDC9000
#
# Platform settings:
# AGESA/CPM enables UART0 and UART1 by setting BIT11 and BIT12 of FchRTDeviceEnableMap.
# If SBIOS wants to use MMIO space then above mentioned reserved MMIO can be used.
# If SBIOS wants UART in legacy mode(to use 0x3F8/0x2F8) then need to set below PCD for
# for respective UART.
# FchUart0LegacyEnable, FchUart1LegacyEnable and FchUart2LegacyEnable
#
# SERIAL_PORT Options:
# NONE
# FCH_MMIO UART0, MMIO
# FCH_IO UART0, 0x3F8
# BMC_SOL UART1, MMIO
# BMC_SOL_IO UART1, 0x3F8
# BMC_ESPI eSPI0, 0x3F8
DEFINE SERIAL_PORT = "BMC_SOL_IO"
DEFINE ESPI_UART = FALSE # Define ESPI_UART to modify APCB tokens
#
# Simnow Options
#
DEFINE SIMNOW_PORT80_DEBUG = $(EMULATION)
DEFINE USB_SUPPORT = TRUE
DEFINE SATA_SUPPORT = TRUE
DEFINE NVME_SUPPORT = TRUE
#
# Check undefined variables
#
!ifndef RELEASE_DATE
RELEASE_DATE = 01/01/2023
!endif
!ifndef FIRMWARE_VERSION_STR
FIRMWARE_VERSION_STR = NONE
!endif
!ifndef FIRMWARE_REVISION_NUM
FIRMWARE_REVISION_NUM = 0x00000000
!endif
#-----------------------------------------------------------
# End of [Defines] section
#-----------------------------------------------------------
# Add platform includes AGESA, CPM etc
!include $(PROCESSOR_PATH)/Include/Dsc/Platform.inc.dsc
# Board specific SMBIOS defines
!include $(PLATFORM_NAME)/Include/Dsc/Smbios.dsc
# Platform Common PCDs
!include $(PROCESSOR_PATH)/Include/Dsc/PlatformCommonPcd.dsc.inc
# Board specific PCDs
[PcdsFixedAtBuild]
gEfiAmdAgesaPkgTokenSpaceGuid.PcdAmdSmbiosSocketDesignationSocket0|"P0"
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId|0x2020202059425552 # "RUBY "
gMinPlatformPkgTokenSpaceGuid.PcdMaxCpuCoreCount|128
gMinPlatformPkgTokenSpaceGuid.PcdMaxCpuSocketCount|1
gEfiAmdAgesaPkgTokenSpaceGuid.PcdAmdNumberOfPhysicalSocket|gMinPlatformPkgTokenSpaceGuid.PcdMaxCpuSocketCount
gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|256
gEfiAmdAgesaModulePkgTokenSpaceGuid.PcdAmdMemMaxDimmPerChannelV2|2
gEfiAmdAgesaModulePkgTokenSpaceGuid.PcdAmdMemMaxSocketSupportedV2|1
gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicCount|4
#######################################
# Library Includes
#######################################
!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
# do not change the order of include
!include $(PROCESSOR_PATH)/Include/Dsc/ProjectCommon.inc.dsc
|