diff options
author | Zheng Bao <zheng.bao@amd.corp-partner.google.com> | 2021-10-14 16:14:09 +0800 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-01-27 19:52:41 +0000 |
commit | dd4c5421d11af8e50d1ded86d94107d5bec27098 (patch) | |
tree | c8449a23047d3e058f2952f5927ff23ac717c02b /util/amdfwtool/amdfwtool.c | |
parent | 6e8c509d7d37d1115fbacccffa3ee7fe2b26e1b6 (diff) |
amdfwtool: Update and extend PSP header format description
The comment in the header amdfwtool.c was written long time ago and is
needed to get updated.
Change-Id: I6f64c9a240503f9d0bf240916c1066944fa39d27
Signed-off-by: Zheng Bao <fishbaozi@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55602
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Diffstat (limited to 'util/amdfwtool/amdfwtool.c')
-rw-r--r-- | util/amdfwtool/amdfwtool.c | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c index f9d53d0ae5..3c317de3fc 100644 --- a/util/amdfwtool/amdfwtool.c +++ b/util/amdfwtool/amdfwtool.c @@ -1,13 +1,17 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* - * ROMSIG At ROMBASE + 0x20000: + * ROMSIG At ROMBASE + 0x[0,2,4,8]20000: * 0 4 8 C * +------------+---------------+----------------+------------+ * | 0x55AA55AA |EC ROM Address |GEC ROM Address |USB3 ROM | * +------------+---------------+----------------+------------+ - * | PSPDIR ADDR|PSPDIR ADDR |<-- Field 0x14 could be either - * +------------+---------------+ 2nd PSP directory or PSP COMBO directory + * | PSPDIR ADDR|PSPDIR ADDR(C) | BDT ADDR 0 | BDT ADDR 1 | + * +------------+---------------+----------------+------------+ + * | BDT ADDR 2 | | BDT ADDR 3(C) | | + * +------------+---------------+----------------+------------+ + * (C): Could be a combo header + * * EC ROM should be 64K aligned. * * PSP directory (Where "PSPDIR ADDR" points) @@ -24,10 +28,29 @@ * +------------+---------------+----------------+------------+ * | | * | | - * | Other PSP Firmware | + * | Other PSP Firmware | + * | | + * +------------+---------------+----------------+------------+ + * | 40 | size | Base address | Reserved |---+ + * +------------+---------------+----------------+------------+ | + * :or 48(A/B A): size : Base address : Reserved : | + * + - - + - - + - - + - - + | + * : 4A(A/B B): size : Base address : Reserved : | + * +------------+---------------+----------------+------------+ | + * (A/B A) & (A/B B): Similar as 40, pointing to PSP level 2 | + * for A/B recovery | + * | + * | + * +------------+---------------+----------------+------------+ | + * | '2LP$' | Fletcher | Count | Reserved |<--+ + * +------------+---------------+----------------+------------+ + * | | * | | + * | PSP Firmware | + * | (2nd-level is not required on all families) | * | | * +------------+---------------+----------------+------------+ + * BIOS Directory Table (BDT) is similar * * PSP Combo directory * +------------+---------------+----------------+------------+ @@ -35,15 +58,15 @@ * +------------+---------------+----------------+------------+ * | R e s e r v e d | * +------------+---------------+----------------+------------+ - * | ID-Sel | PSP ID | PSPDIR ADDR | | 2nd PSP directory + * | ID-Sel | PSP ID | PSPDIR ADDR | | 1st PSP directory * +------------+---------------+----------------+------------+ - * | ID-Sel | PSP ID | PSPDIR ADDR | | 3rd PSP directory + * | ID-Sel | PSP ID | PSPDIR ADDR | | 2nd PSP directory * +------------+---------------+----------------+------------+ * | | * | Other PSP | * | | * +------------+---------------+----------------+------------+ - * + * BDT Combo is similar */ #include <commonlib/bsd/helpers.h> |