1#
2#  Copyright (c) 2011-2012, ARM Limited. All rights reserved.
3#  Copyright (c) 2015-2016, Hisilicon Limited. All rights reserved.
4#  Copyright (c) 2015-2016, Linaro Limited. All rights reserved.
5#
6#  This program and the accompanying materials
7#  are licensed and made available under the terms and conditions of the BSD License
8#  which accompanies this distribution.  The full text of the license may be found at
9#  http://opensource.org/licenses/bsd-license.php
10#
11#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
14#
15
16################################################################################
17#
18# Defines Section - statements that will be processed to create a Makefile.
19#
20################################################################################
21[Defines]
22  PLATFORM_NAME                  = D05
23  PLATFORM_GUID                  = D0D445F1-B2CA-4101-9986-1B23525CBEA6
24  PLATFORM_VERSION               = 0.1
25  DSC_SPECIFICATION              = 0x00010019
26  OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)
27  SUPPORTED_ARCHITECTURES        = AARCH64
28  BUILD_TARGETS                  = DEBUG|RELEASE
29  SKUID_IDENTIFIER               = DEFAULT
30  FLASH_DEFINITION               = OpenPlatformPkg/Platforms/Hisilicon/$(PLATFORM_NAME)/$(PLATFORM_NAME).fdf
31  DEFINE EDK2_SKIP_PEICORE=0
32  DEFINE INCLUDE_TFTP_COMMAND=1
33  DEFINE NETWORK_IP6_ENABLE      = FALSE
34  DEFINE HTTP_BOOT_ENABLE        = FALSE
35
36!include OpenPlatformPkg/Chips/Hisilicon/Hisilicon.dsc.inc
37
38[LibraryClasses.common]
39  ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
40  ArmPlatformLib|OpenPlatformPkg/Chips/Hisilicon/Library/ArmPlatformLibHisilicon/ArmPlatformLib.inf
41  ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
42  NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
43  LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
44
45
46  I2CLib|OpenPlatformPkg/Chips/Hisilicon/Library/I2CLib/I2CLib.inf
47  TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
48
49  IpmiCmdLib|OpenPlatformPkg/Chips/Hisilicon/Binary/Hi1610/Library/IpmiCmdLib/IpmiCmdLib.inf
50
51  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
52  DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
53  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
54  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
55  UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
56  IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
57  OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
58  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
59  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
60  FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
61  BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
62  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
63
64!if $(NETWORK_IP6_ENABLE) == TRUE
65  TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
66!endif
67
68!if $(HTTP_BOOT_ENABLE) == TRUE
69  HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
70!endif
71
72!ifdef $(FDT_ENABLE)
73  #FDTUpdateLib
74  FdtUpdateLib|OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Library/FdtUpdateLib/FdtUpdateLib.inf
75!endif #$(FDT_ENABLE)
76
77  CpldIoLib|OpenPlatformPkg/Chips/Hisilicon/Library/CpldIoLib/CpldIoLib.inf
78
79  SerdesLib|OpenPlatformPkg/Chips/Hisilicon/Binary/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf
80
81  EfiTimeBaseLib|OpenPlatformPkg/Library/EfiTimeBaseLib/EfiTimeBaseLib.inf
82  #D05 RTC hardware is same as D03
83  RealTimeClockLib|OpenPlatformPkg/Platforms/Hisilicon/D03/Library/DS3231RealTimeClockLib/DS3231RealTimeClockLib.inf
84
85  OemMiscLib|OpenPlatformPkg/Platforms/Hisilicon/D05/Library/OemMiscLibD05/OemMiscLibD05.inf
86  OemAddressMapLib|OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Library/OemAddressMapD05/OemAddressMapD05.inf
87  PlatformSysCtrlLib|OpenPlatformPkg/Chips/Hisilicon/Binary/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.inf
88
89  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
90  GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
91  PlatformBdsLib|OpenPlatformPkg/Chips/Hisilicon/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
92  CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
93
94  # USB Requirements
95  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
96
97  LpcLib|OpenPlatformPkg/Chips/Hisilicon/Binary/Hi1610/Library/LpcLib/LpcLib.inf
98  SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
99
100[LibraryClasses.common.SEC]
101  ArmPlatformLib|OpenPlatformPkg/Chips/Hisilicon/Library/ArmPlatformLibHisilicon/ArmPlatformLibSec.inf
102
103
104[LibraryClasses.common.DXE_RUNTIME_DRIVER]
105  I2CLib|OpenPlatformPkg/Chips/Hisilicon/Library/I2CLib/I2CLibRuntime.inf
106  SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
107
108[BuildOptions]
109  GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/OpenPlatformPkg/Chips/Hisilicon/Hi1616/Include
110
111################################################################################
112#
113# Pcd Section - list of all EDK II PCD Entries defined by this Platform
114#
115################################################################################
116
117[PcdsFeatureFlag.common]
118
119!if $(EDK2_SKIP_PEICORE) == 1
120  gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE
121  gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|TRUE
122!endif
123
124  ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
125  #  It could be set FALSE to save size.
126  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
127  gHisiTokenSpaceGuid.PcdIsItsSupported|TRUE
128
129[PcdsFixedAtBuild.common]
130  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"D05"
131
132  gArmPlatformTokenSpaceGuid.PcdCoreCount|8
133
134  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
135
136  # Stacks for MPCores in Secure World
137  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0xE1000000
138  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecPrimaryStackSize|0x10000
139
140  # Stacks for MPCores in Monitor Mode
141  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0xE100FF00
142  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0x100
143
144  # Stacks for MPCores in Normal World
145  gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0xE1000000
146  gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0xFF00
147
148  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x00000000
149
150
151  gArmTokenSpaceGuid.PcdSystemMemorySize|0x3FC00000
152
153
154  # Size of the region used by UEFI in permanent memory (Reserved 64MB)
155  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x10000000
156
157  gHisiTokenSpaceGuid.PcdSerDesFlowCtrlFlag|1
158
159
160  #
161  # ARM Pcds
162  #
163  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
164
165  gHisiTokenSpaceGuid.PcdSlotPerChannelNum|0x2
166
167
168  gHisiTokenSpaceGuid.PcdPcieRootBridgeMask|0x94 # bit0:HB0RB0,bit1:HB0RB1,bit2:HB0RB2,bit3:HB0RB3,bit4:HB0RB4,bit5:HB0RB5,bit6:HB0RB6,bit7:HB0RB7
169                                                # bit8:HB1RB0,bit9:HB1RB1,bit10:HB1RB2,bit11:HB1RB3,bit12:HB1RB4,bit13:HB1RB5,bit14:HB1RB6,bit14:HB1RB15
170  ## enable all the pcie device, because it is ok for bios
171  gHisiTokenSpaceGuid.PcdPcieRootBridgeMask2P|0x34F4 # bit0:HB0RB0,bit1:HB0RB1,bit2:HB0RB2,bit3:HB0RB3,bit4:HB0RB4,bit5:HB0RB5,bit6:HB0RB6,bit7:HB0RB7
172                                                # bit8:HB1RB0,bit9:HB1RB1,bit10:HB1RB2,bit11:HB1RB3,bit12:HB1RB4,bit13:HB1RB5,bit14:HB1RB6,bit14:HB1RB15
173
174  ## SP805 Watchdog - Motherboard Watchdog
175  gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x601e0000
176
177  ## Serial Terminal
178  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x602B0000
179  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
180
181  gArmPlatformTokenSpaceGuid.PL011UartClkInHz|200000000
182
183  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|8
184  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|1
185  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|1
186  # use the TTY terminal type (which has a working backspace)
187  gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
188
189
190  gHisiTokenSpaceGuid.PcdM3SmmuBaseAddress|0xa0040000
191  gHisiTokenSpaceGuid.PcdPcieSmmuBaseAddress|0xb0040000
192  gHisiTokenSpaceGuid.PcdDsaSmmuBaseAddress|0xc0040000
193  gHisiTokenSpaceGuid.PcdAlgSmmuBaseAddress|0xd0040000
194
195
196  gHisiTokenSpaceGuid.PcdIsMPBoot|1
197  gHisiTokenSpaceGuid.PcdSocketMask|0x3
198  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"Hisilicon D05 UEFI 16.12 Release"
199
200  gHisiTokenSpaceGuid.PcdBiosVersionString|L"10.01.01T18"
201
202  gHisiTokenSpaceGuid.PcdBiosVersionForBmc|L"1.12"
203
204  gHisiTokenSpaceGuid.PcdSystemProductName|L"D05"
205  gHisiTokenSpaceGuid.PcdSystemVersion|L"Estuary"
206  gHisiTokenSpaceGuid.PcdBaseBoardProductName|L"D05"
207  gHisiTokenSpaceGuid.PcdBaseBoardVersion|L"Estuary"
208
209  gHisiTokenSpaceGuid.PcdCPUInfo|L"Hi1616"
210
211
212  gArmTokenSpaceGuid.PcdGicDistributorBase|0x4D000000
213  gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x4D100000
214  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xFE000000
215
216
217  # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)
218  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(407B4008-BF5B-11DF-9547-CF16E0D72085)"
219  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()"
220
221  #
222  # ARM Architectual Timer Frequency
223  #
224  gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|50000000
225
226
227  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
228  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
229
230  gHisiTokenSpaceGuid.PcdSysControlBaseAddress|0x40010000
231  gHisiTokenSpaceGuid.PcdMailBoxAddress|0x0000FFF8
232
233  gHisiTokenSpaceGuid.PcdCpldBaseAddress|0x78000000
234
235  gHisiTokenSpaceGuid.PcdSFCCFGBaseAddress|0xA6000000
236  gHisiTokenSpaceGuid.PcdSFCMEM0BaseAddress|0xA4000000
237
238
239  gOpenPlatformTokenSpaceGuid.PcdRamDiskMaxSize|128
240
241
242  gHisiTokenSpaceGuid.PcdPeriSubctrlAddress|0x40000000
243
244
245  gHisiTokenSpaceGuid.PcdMdioSubctrlAddress|0x60000000
246
247  ## DTB address at spi flash
248  gHisiTokenSpaceGuid.FdtFileAddress|0xA47A0000
249
250  gHisiTokenSpaceGuid.PcdPlatformDefaultPackageType|0x1
251
252  gHisiTokenSpaceGuid.PcdArmPrimaryCoreTemp|0x80010000
253
254  gHisiTokenSpaceGuid.PcdTopOfLowMemory|0x40000000
255
256  gHisiTokenSpaceGuid.PcdBottomOfHighMemory|0x1000000000
257
258  gHisiTokenSpaceGuid.PcdNORFlashBase|0x70000000
259  gHisiTokenSpaceGuid.PcdNORFlashCachableSize|0x8000000
260
261  gHisiTokenSpaceGuid.PcdTrustedFirmwareEnable|0x1
262  gHisiTokenSpaceGuid.PcdNumaEnable|1
263  gHisiTokenSpaceGuid.PcdMacAddress|0xA47E0000
264
265  gHisiTokenSpaceGuid.PcdHb1BaseAddress|0x40000000000
266
267
268  gHisiTokenSpaceGuid.PcdHb0Rb0PciConfigurationSpaceBaseAddress|0xA0000000
269  gHisiTokenSpaceGuid.PcdHb0Rb0PciConfigurationSpaceSize|0x10000000
270  gHisiTokenSpaceGuid.PcdHb0Rb1PciConfigurationSpaceBaseAddress|0xA0000000
271  gHisiTokenSpaceGuid.PcdHb0Rb1PciConfigurationSpaceSize|0x10000000
272  gHisiTokenSpaceGuid.PcdHb0Rb2PciConfigurationSpaceBaseAddress|0xA0000000
273  gHisiTokenSpaceGuid.PcdHb0Rb2PciConfigurationSpaceSize|0x10000000
274  gHisiTokenSpaceGuid.PcdHb0Rb3PciConfigurationSpaceBaseAddress|0xA0000000
275  gHisiTokenSpaceGuid.PcdHb0Rb3PciConfigurationSpaceSize|0x10000000
276  gHisiTokenSpaceGuid.PcdHb0Rb4PciConfigurationSpaceBaseAddress|0x8A0000000
277  gHisiTokenSpaceGuid.PcdHb0Rb4PciConfigurationSpaceSize|0x10000000
278  gHisiTokenSpaceGuid.PcdHb0Rb5PciConfigurationSpaceBaseAddress|0x8B0000000
279  gHisiTokenSpaceGuid.PcdHb0Rb5PciConfigurationSpaceSize|0x8000000
280  gHisiTokenSpaceGuid.PcdHb0Rb6PciConfigurationSpaceBaseAddress|0x8A0000000
281  gHisiTokenSpaceGuid.PcdHb0Rb6PciConfigurationSpaceSize|0x10000000
282  gHisiTokenSpaceGuid.PcdHb0Rb7PciConfigurationSpaceBaseAddress|0x8B0000000
283  gHisiTokenSpaceGuid.PcdHb0Rb7PciConfigurationSpaceSize|0x10000000
284  gHisiTokenSpaceGuid.PcdHb1Rb0PciConfigurationSpaceBaseAddress|0x400A0000000
285  gHisiTokenSpaceGuid.PcdHb1Rb0PciConfigurationSpaceSize|0x10000000
286  gHisiTokenSpaceGuid.PcdHb1Rb1PciConfigurationSpaceBaseAddress|0x400A0000000
287  gHisiTokenSpaceGuid.PcdHb1Rb1PciConfigurationSpaceSize|0x10000000
288  gHisiTokenSpaceGuid.PcdHb1Rb2PciConfigurationSpaceBaseAddress|0x64000000000
289  gHisiTokenSpaceGuid.PcdHb1Rb2PciConfigurationSpaceSize|0x400000000
290  gHisiTokenSpaceGuid.PcdHb1Rb3PciConfigurationSpaceBaseAddress|0x400A0000000
291  gHisiTokenSpaceGuid.PcdHb1Rb3PciConfigurationSpaceSize|0x10000000
292  gHisiTokenSpaceGuid.PcdHb1Rb4PciConfigurationSpaceBaseAddress|0x74000000000
293  gHisiTokenSpaceGuid.PcdHb1Rb4PciConfigurationSpaceSize|0x400000000
294  gHisiTokenSpaceGuid.PcdHb1Rb5PciConfigurationSpaceBaseAddress|0x78000000000
295  gHisiTokenSpaceGuid.PcdHb1Rb5PciConfigurationSpaceSize|0x400000000
296  gHisiTokenSpaceGuid.PcdHb1Rb6PciConfigurationSpaceBaseAddress|0x408A0000000
297  gHisiTokenSpaceGuid.PcdHb1Rb6PciConfigurationSpaceSize|0x10000000
298  gHisiTokenSpaceGuid.PcdHb1Rb7PciConfigurationSpaceBaseAddress|0x408A0000000
299  gHisiTokenSpaceGuid.PcdHb1Rb7PciConfigurationSpaceSize|0x10000000
300
301  gHisiTokenSpaceGuid.PciHb0Rb0Base|0xa0090000
302  gHisiTokenSpaceGuid.PciHb0Rb1Base|0xa0200000
303  gHisiTokenSpaceGuid.PciHb0Rb2Base|0xa00a0000
304  gHisiTokenSpaceGuid.PciHb0Rb3Base|0xa00b0000
305  gHisiTokenSpaceGuid.PciHb0Rb4Base|0x8a0090000
306  gHisiTokenSpaceGuid.PciHb0Rb5Base|0x8a0200000
307  gHisiTokenSpaceGuid.PciHb0Rb6Base|0x8a00a0000
308  gHisiTokenSpaceGuid.PciHb0Rb7Base|0x8a00b0000
309  gHisiTokenSpaceGuid.PciHb1Rb0Base|0x600a0090000
310  gHisiTokenSpaceGuid.PciHb1Rb1Base|0x600a0200000
311  gHisiTokenSpaceGuid.PciHb1Rb2Base|0x600a00a0000
312  gHisiTokenSpaceGuid.PciHb1Rb3Base|0x600a00b0000
313  gHisiTokenSpaceGuid.PciHb1Rb4Base|0x700a0090000
314  gHisiTokenSpaceGuid.PciHb1Rb5Base|0x700a0200000
315  gHisiTokenSpaceGuid.PciHb1Rb6Base|0x700a00a0000
316  gHisiTokenSpaceGuid.PciHb1Rb7Base|0x700a00b0000
317
318  gHisiTokenSpaceGuid.PcdHb0Rb0PciRegionBaseAddress|0xa8400000
319  gHisiTokenSpaceGuid.PcdHb0Rb0PciRegionSize|0xbeffff
320  gHisiTokenSpaceGuid.PcdHb0Rb1PciRegionBaseAddress|0xa9400000
321  gHisiTokenSpaceGuid.PcdHb0Rb1PciRegionSize|0xbeffff
322  gHisiTokenSpaceGuid.PcdHb0Rb2PciRegionBaseAddress|0xa8800000
323  gHisiTokenSpaceGuid.PcdHb0Rb2PciRegionSize|0x77effff
324  gHisiTokenSpaceGuid.PcdHb0Rb3PciRegionBaseAddress|0xab400000
325  gHisiTokenSpaceGuid.PcdHb0Rb3PciRegionSize|0xbeffff
326  gHisiTokenSpaceGuid.PcdHb0Rb4PciRegionBaseAddress|0xa9000000
327  gHisiTokenSpaceGuid.PcdHb0Rb4PciRegionSize|0x2feffff
328  gHisiTokenSpaceGuid.PcdHb0Rb5PciRegionBaseAddress|0xb0800000
329  gHisiTokenSpaceGuid.PcdHb0Rb5PciRegionSize|0x77effff
330  gHisiTokenSpaceGuid.PcdHb0Rb6PciRegionBaseAddress|0xac900000
331  gHisiTokenSpaceGuid.PcdHb0Rb6PciRegionSize|0x36effff
332  gHisiTokenSpaceGuid.PcdHb0Rb7PciRegionBaseAddress|0xb9800000
333  gHisiTokenSpaceGuid.PcdHb0Rb7PciRegionSize|0x67effff
334  gHisiTokenSpaceGuid.PcdHb1Rb0PciRegionBaseAddress|0x400a8400000
335  gHisiTokenSpaceGuid.PcdHb1Rb0PciRegionSize|0xbeffff
336  gHisiTokenSpaceGuid.PcdHb1Rb1PciRegionBaseAddress|0x400a9400000
337  gHisiTokenSpaceGuid.PcdHb1Rb1PciRegionSize|0xbeffff
338  gHisiTokenSpaceGuid.PcdHb1Rb2PciRegionBaseAddress|0x20000000
339  gHisiTokenSpaceGuid.PcdHb1Rb2PciRegionSize|0xcfffffff
340  gHisiTokenSpaceGuid.PcdHb1Rb3PciRegionBaseAddress|0x400ab400000
341  gHisiTokenSpaceGuid.PcdHb1Rb3PciRegionSize|0xbeffff
342  gHisiTokenSpaceGuid.PcdHb1Rb4PciRegionBaseAddress|0x30000000
343  gHisiTokenSpaceGuid.PcdHb1Rb4PciRegionSize|0xbfffffff
344  gHisiTokenSpaceGuid.PcdHb1Rb5PciRegionBaseAddress|0x40000000
345  gHisiTokenSpaceGuid.PcdHb1Rb5PciRegionSize|0xafffffff
346  gHisiTokenSpaceGuid.PcdHb1Rb6PciRegionBaseAddress|0x408aa400000
347  gHisiTokenSpaceGuid.PcdHb1Rb6PciRegionSize|0xbeffff
348  gHisiTokenSpaceGuid.PcdHb1Rb7PciRegionBaseAddress|0x408ab400000
349  gHisiTokenSpaceGuid.PcdHb1Rb7PciRegionSize|0xbeffff
350
351  gHisiTokenSpaceGuid.PcdHb0Rb0CpuMemRegionBase|0xA8400000
352  gHisiTokenSpaceGuid.PcdHb0Rb1CpuMemRegionBase|0xA9400000
353  gHisiTokenSpaceGuid.PcdHb0Rb2CpuMemRegionBase|0xA8800000
354  gHisiTokenSpaceGuid.PcdHb0Rb3CpuMemRegionBase|0xAB400000
355  gHisiTokenSpaceGuid.PcdHb0Rb4CpuMemRegionBase|0x8A9000000
356  gHisiTokenSpaceGuid.PcdHb0Rb5CpuMemRegionBase|0x8B0800000
357  gHisiTokenSpaceGuid.PcdHb0Rb6CpuMemRegionBase|0x8AC900000
358  gHisiTokenSpaceGuid.PcdHb0Rb7CpuMemRegionBase|0x8B9800000
359  gHisiTokenSpaceGuid.PcdHb1Rb0CpuMemRegionBase|0x400A8400000
360  gHisiTokenSpaceGuid.PcdHb1Rb1CpuMemRegionBase|0x400A9400000
361  gHisiTokenSpaceGuid.PcdHb1Rb2CpuMemRegionBase|0x65020000000
362  gHisiTokenSpaceGuid.PcdHb1Rb3CpuMemRegionBase|0x400AB400000
363  gHisiTokenSpaceGuid.PcdHb1Rb4CpuMemRegionBase|0x75030000000
364  gHisiTokenSpaceGuid.PcdHb1Rb5CpuMemRegionBase|0x79040000000
365  gHisiTokenSpaceGuid.PcdHb1Rb6CpuMemRegionBase|0x408AA400000
366  gHisiTokenSpaceGuid.PcdHb1Rb7CpuMemRegionBase|0x408AB400000
367
368  gHisiTokenSpaceGuid.PcdHb0Rb0CpuIoRegionBase|0xa8ff0000
369  gHisiTokenSpaceGuid.PcdHb0Rb1CpuIoRegionBase|0xa9ff0000
370  gHisiTokenSpaceGuid.PcdHb0Rb2CpuIoRegionBase|0xafff0000
371  gHisiTokenSpaceGuid.PcdHb0Rb3CpuIoRegionBase|0xabff0000
372  gHisiTokenSpaceGuid.PcdHb0Rb4CpuIoRegionBase|0x8abff0000
373  gHisiTokenSpaceGuid.PcdHb0Rb5CpuIoRegionBase|0x8b7ff0000
374  gHisiTokenSpaceGuid.PcdHb0Rb6CpuIoRegionBase|0x8afff0000
375  gHisiTokenSpaceGuid.PcdHb0Rb7CpuIoRegionBase|0x8bfff0000
376  gHisiTokenSpaceGuid.PcdHb1Rb0CpuIoRegionBase|0x400a8ff0000
377  gHisiTokenSpaceGuid.PcdHb1Rb1CpuIoRegionBase|0x400a9ff0000
378  gHisiTokenSpaceGuid.PcdHb1Rb2CpuIoRegionBase|0x67fffff0000
379  gHisiTokenSpaceGuid.PcdHb1Rb3CpuIoRegionBase|0x400abff0000
380  gHisiTokenSpaceGuid.PcdHb1Rb4CpuIoRegionBase|0x77fffff0000
381  gHisiTokenSpaceGuid.PcdHb1Rb5CpuIoRegionBase|0x7bfffff0000
382  gHisiTokenSpaceGuid.PcdHb1Rb6CpuIoRegionBase|0x408aaff0000
383  gHisiTokenSpaceGuid.PcdHb1Rb7CpuIoRegionBase|0x408abff0000
384
385  gHisiTokenSpaceGuid.PcdHb0Rb0IoBase|0
386  gHisiTokenSpaceGuid.PcdHb0Rb0IoSize|0xffff #64K
387
388  gHisiTokenSpaceGuid.PcdHb0Rb1IoBase|0
389  gHisiTokenSpaceGuid.PcdHb0Rb1IoSize|0xffff #64K
390
391  gHisiTokenSpaceGuid.PcdHb0Rb2IoBase|0
392  gHisiTokenSpaceGuid.PcdHb0Rb2IoSize|0xffff #64K
393
394  gHisiTokenSpaceGuid.PcdHb0Rb3IoBase|0
395  gHisiTokenSpaceGuid.PcdHb0Rb3IoSize|0xffff #64K
396
397  gHisiTokenSpaceGuid.PcdHb0Rb4IoBase|0
398  gHisiTokenSpaceGuid.PcdHb0Rb4IoSize|0xffff #64K
399
400  gHisiTokenSpaceGuid.PcdHb0Rb5IoBase|0
401  gHisiTokenSpaceGuid.PcdHb0Rb5IoSize|0xffff #64K
402
403  gHisiTokenSpaceGuid.PcdHb0Rb6IoBase|0
404  gHisiTokenSpaceGuid.PcdHb0Rb6IoSize|0xffff #64K
405
406  gHisiTokenSpaceGuid.PcdHb0Rb7IoBase|0
407  gHisiTokenSpaceGuid.PcdHb0Rb7IoSize|0xffff #64K
408
409  gHisiTokenSpaceGuid.PcdHb1Rb0IoBase|0
410  gHisiTokenSpaceGuid.PcdHb1Rb0IoSize|0xffff #64K
411
412  gHisiTokenSpaceGuid.PcdHb1Rb1IoBase|0
413  gHisiTokenSpaceGuid.PcdHb1Rb1IoSize|0xffff #64K
414
415  gHisiTokenSpaceGuid.PcdHb1Rb2IoBase|0
416  gHisiTokenSpaceGuid.PcdHb1Rb2IoSize|0xffff #64K
417
418  gHisiTokenSpaceGuid.PcdHb1Rb3IoBase|0
419  gHisiTokenSpaceGuid.PcdHb1Rb3IoSize|0xffff #64K
420
421  gHisiTokenSpaceGuid.PcdHb1Rb4IoBase|0
422  gHisiTokenSpaceGuid.PcdHb1Rb4IoSize|0xffff #64K
423
424  gHisiTokenSpaceGuid.PcdHb1Rb5IoBase|0
425  gHisiTokenSpaceGuid.PcdHb1Rb5IoSize|0xffff #64K
426
427  gHisiTokenSpaceGuid.PcdHb1Rb6IoBase|0
428  gHisiTokenSpaceGuid.PcdHb1Rb6IoSize|0xffff #64K
429
430  gHisiTokenSpaceGuid.PcdHb1Rb7IoBase|0
431  gHisiTokenSpaceGuid.PcdHb1Rb7IoSize|0xffff #64K
432
433  gHisiTokenSpaceGuid.Pcdsoctype|0x1610
434
435################################################################################
436#
437# Components Section - list of all EDK II Modules needed by this Platform
438#
439################################################################################
440[Components.common]
441
442  #
443  # SEC
444  #
445
446  #
447  # PEI Phase modules
448  #
449  ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
450  MdeModulePkg/Core/Pei/PeiMain.inf
451  MdeModulePkg/Universal/PCD/Pei/Pcd.inf
452  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf
453
454  ArmPlatformPkg/PlatformPei/PlatformPeim.inf
455
456  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/MemoryInitPei/MemoryInitPeim.inf
457  ArmPkg/Drivers/CpuPei/CpuPei.inf
458  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
459  MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
460  MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
461
462  OpenPlatformPkg/Platforms/Hisilicon/D05/EarlyConfigPeim/EarlyConfigPeimD05.inf
463  OpenPlatformPkg/Chips/Hisilicon/Drivers/VersionInfoPeim/VersionInfoPeim.inf
464
465  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
466    <LibraryClasses>
467      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
468  }
469
470  #
471  # DXE
472  #
473  MdeModulePkg/Core/Dxe/DxeMain.inf {
474    <LibraryClasses>
475      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
476  }
477  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
478
479  OpenPlatformPkg/Chips/Hisilicon/Hi1610/Drivers/IoInitDxe/IoInitDxe.inf
480
481  #
482  # Architectural Protocols
483  #
484  ArmPkg/Drivers/CpuDxe/CpuDxe.inf
485  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
486
487  OpenPlatformPkg/Platforms/Hisilicon/D03/Drivers/OemNicConfig2PHi1610/OemNicConfig2P.inf
488
489  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/SFC/SfcDxeDriver.inf
490
491  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
492  # Sometimes we can use EmuVariableRuntimeDxe instead of real flash variable store for debug.
493  #MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
494  OpenPlatformPkg/Chips/Hisilicon/Drivers/FlashFvbDxe/FlashFvbDxe.inf
495  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
496    <LibraryClasses>
497      NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
498      BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
499  }
500  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
501  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
502  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
503
504  MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
505  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
506  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf {
507    <LibraryClasses>
508      CpldIoLib|OpenPlatformPkg/Chips/Hisilicon/Library/CpldIoLib/CpldIoLibRuntime.inf
509  }
510  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
511
512  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
513  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
514  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
515  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
516  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
517
518  # Simple TextIn/TextOut for UEFI Terminal
519  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
520
521  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
522
523  ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
524
525  ArmPkg/Drivers/TimerDxe/TimerDxe.inf
526
527  ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf
528  IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
529  #
530  #ACPI
531  #
532  OpenPlatformPkg/Chips/Hisilicon/Drivers/HisiAcpiPlatformDxe/AcpiPlatformDxe.inf
533  MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
534
535  OpenPlatformPkg/Chips/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
536  OpenPlatformPkg/Chips/Hisilicon/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf
537
538  #
539  # Usb Support
540  #
541  OpenPlatformPkg/Chips/Hisilicon/Drivers/VirtualEhciPciIo/VirtualEhciPciIo.inf
542  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
543  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
544  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
545  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
546  MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
547  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
548
549  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf
550
551  #
552  #network
553  #
554  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/Net/SnpPV660DxeMac0/SnpPV600DxeMac0.inf
555  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/Net/SnpPV660DxeMac1/SnpPV600DxeMac1.inf
556  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/Net/SnpPV660DxeMac4/SnpPV600DxeMac4.inf
557  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/Net/SnpPV660DxeMac5/SnpPV600DxeMac5.inf
558
559  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
560  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
561  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
562  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
563  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
564  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
565  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
566!if $(NETWORK_IP6_ENABLE) == TRUE
567  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
568  NetworkPkg/TcpDxe/TcpDxe.inf
569  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
570  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
571  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
572  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
573!else
574  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
575  MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
576!endif
577  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
578!if $(HTTP_BOOT_ENABLE) == TRUE
579  NetworkPkg/DnsDxe/DnsDxe.inf
580  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
581  NetworkPkg/HttpDxe/HttpDxe.inf
582  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
583!endif
584
585
586  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/Sas/SasDxeDriver.inf
587
588  #
589  # FAT filesystem + GPT/MBR partitioning
590  #
591
592  OpenPlatformPkg/Drivers/Block/ramdisk/ramdisk.inf
593  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
594  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
595  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
596
597  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Ebl/Ebl.inf
598  #
599  # Bds
600  #
601  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
602
603  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf
604  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf
605  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf
606
607  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf
608
609  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
610  OpenPlatformPkg/Chips/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
611
612!ifdef $(FDT_ENABLE)
613  OpenPlatformPkg/Chips/Hisilicon/Drivers/UpdateFdtDxe/UpdateFdtDxe.inf {
614    <LibraryClasses>
615      BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
616  }
617!endif #$(FDT_ENABLE)
618
619  #PCIe Support
620  OpenPlatformPkg/Chips/Hisilicon/Hi1610/Drivers/PcieInit1610/PcieInitDxe.inf {
621    <LibraryClasses>
622      NULL|OpenPlatformPkg/Platforms/Hisilicon/D05/Library/PlatformPciLib/PlatformPciLib.inf
623  }
624  OpenPlatformPkg/Platforms/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.inf
625  OpenPlatformPkg/Chips/Hisilicon/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf {
626    <LibraryClasses>
627      NULL|OpenPlatformPkg/Platforms/Hisilicon/D05/Library/PlatformPciLib/PlatformPciLib.inf
628  }
629
630  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
631
632  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf
633  OpenPlatformPkg/Chips/Hisilicon/Drivers/Smbios/AddSmbiosType9/AddSmbiosType9.inf
634  OpenPlatformPkg/Platforms/Hisilicon/Binary/D05/Drivers/Sm750Dxe/UefiSmi.inf
635  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
636  OpenPlatformPkg/Chips/Hisilicon/Drivers/Smbios/MemorySubClassDxe/MemorySubClassDxe.inf
637
638
639  OpenPlatformPkg/Chips/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
640
641  #
642  # Memory test
643  #
644  MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
645  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
646  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
647  IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
648  #
649  # UEFI application (Shell Embedded Boot Loader)
650  #
651  ShellPkg/Application/Shell/Shell.inf {
652    <LibraryClasses>
653      ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
654      NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
655      NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
656      NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
657      NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
658      NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
659      NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
660      NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
661      HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
662      PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
663      BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
664!if $(NETWORK_IP6_ENABLE) == TRUE
665      NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
666!endif
667
668!ifdef $(INCLUDE_DP)
669      NULL|ShellPkg/Library/UefiDpLib/UefiDpLib.inf
670!endif #$(INCLUDE_DP)
671!ifdef $(INCLUDE_TFTP_COMMAND)
672      NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf
673!endif #$(INCLUDE_TFTP_COMMAND)
674
675    <PcdsFixedAtBuild>
676      gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
677      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
678      gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
679  }
680