blob: 3297c6ba59ff5600f92caef9c98c6fd7b61c9cca (
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
|
# AMD EDK2 Platform
This is AMD folder that provides the edk2 modules to support AMD edk2 firmware
solution for the server, client (e.g., Notebook) and S3 (Strategic Silicon Solutions)
platforms. The board packages under this folder are the firmware reference code for
booting certain AMD platforms. The definition of sub-folders is described in below sections.
## Term and Definitions
* **AGESA**
AMD Generic Encapsulated Software Architecture that are executed as part of a
host platform BIOS.
* **AMD Platform** (platform in short)
AMD platform refers to a platform that supports the particular AMD SoC (processor), such as
AMD EPYC Milan and Genoa processors.
* **AMD Board** (board in short)
AMD board is a generic terminology refers to a board that is designed based on a
specific AMD SoC architecture (also referred as AMD platform). More than one boards
are possibly designed to support an AMD platform with different configuration, such as
1-processor socket or 2-processor sockets board.
* **AMD edk2 Platform Package** (platform package in short)
The folder has the AMD edk2 platform common modules.
* **AMD edk2 Board Package** (board package in short)
The folder has the edk2 meta files to build the necessary edk2 firmware modules
and generate the binary to run on a board.
## Package Definition
* **AgesaModulePkg**
This package contains all of the private interfaces and build configuration files for the
AGESA support.
* **AgesaPkg**
This package contains all of the public interfaces and build configuration files
for the AGESA support.
* **AmdCbsPkg**
AMD Configurable BIOS Setting. Provides the edk2 formset following the UEFI HII
spec to configure BIOS settings.
* **AmdCpmPkg**
AMD Common Platform Module software is a BIOS procedure library designed to aid
AMD customers to quickly implement AMD platform technology into their products.
* **AmdPlatformPkg**
AMD platform edk2 package under this folder provides the common edk2
modules that are leveraged by platforms. Usually those modules have no dependencies with
particular platforms. Modules under this scope can provide a common implementation
for all platforms, or may just provide a framework but the differences of implementation
could be configured through the PCDs declared in AmdPlatformPkg.dec, or the board level
library provided in the \<Board name\>Pkg.
* **AmdMinBoardPkg**
This package provides the common edk2 modules that can be leveraged across AMD boards using
the MinPlatform framework.
* **\<SoC name\>Board**
This is the folder named by SoC and accommodates one or multiple board packages
that are designed based on the same SoC platform. <SoC name>Board folder may
contain edk2 package meta files directly or the sub-folders named by \<Board name\>Pkg for
a variety configurations of a platform.
* **<Board name\>Pkg**
This is the folder that contains edk2 package meta files for a board which is designed base
on a platform. Besides the edk2 meta files, <Board name\>Pkg may also provides edk2 modules
which are specifically to a board.
```
e.g. OverdriveBoard
e.g. GenoaBoard
|------Board1Pkg
|------Board2Pkg
```
Below is the outline of folder structure under Platform/AMD
```
Platform/AMD
|----AgesaModulePkg
|----AgesaPkg
|----AmdCbsPkg
|----AmdCpmPkg
|----AmdPlatformPkg
|----AmdMinBoardPkg
|----OverdriveBoard
|----GenoaBoard
| |------Common Modules for Genoa boards
| |------Board1Pkg
| | |-------Board specific modules
| |------Board2Pkg
|
|----NextGenBoard
|------Common Modules for the next generation
platform boards
|------Board1Pkg
|------Board2Pkg
|-------Board specific modules
```
## Board Support
Under progress
|