summaryrefslogtreecommitdiff
path: root/util/amdfwtool/amdfwtool.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/amdfwtool/amdfwtool.c')
-rw-r--r--util/amdfwtool/amdfwtool.c37
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>