aboutsummaryrefslogtreecommitdiff
path: root/docs/firmware
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2018-12-21 09:52:27 +0530
committerAnup Patel <anup@brainfault.org>2018-12-21 09:52:27 +0530
commitb023176c17e655f9371df65f6fddc0c1bcbb1fc7 (patch)
treef23c6dc60af1a8c3206ed59d64e36495671d31a5 /docs/firmware
parentab5b228ff596657dffce4a2ed96cd73a95e1864b (diff)
top: Rename "blob" to "firmware" everywhere
This patch renames "blob" to "firmware" everywhere for better and intutive naming. Signed-off-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'docs/firmware')
-rw-r--r--docs/firmware/fw_jump.md37
-rw-r--r--docs/firmware/fw_payload.md51
2 files changed, 88 insertions, 0 deletions
diff --git a/docs/firmware/fw_jump.md b/docs/firmware/fw_jump.md
new file mode 100644
index 0000000..ee6ad0d
--- /dev/null
+++ b/docs/firmware/fw_jump.md
@@ -0,0 +1,37 @@
+OpenSBI Firmware with Jump Address(FW_JUMP)
+===========================================
+
+The **OpenSBI firmware with Jump Address (FW_JUMP)** is a
+firmware which only know the address of next booting stage
+(i.e. bootloader/kernel).
+
+This **FW_JUMP** firmware is particularly useful when booting
+stage prior to OpenSBI firmware is capable of loading OpenSBI
+firmware and booting stage after OpenSBI firmware separately.
+
+How to Enable?
+--------------
+
+The **FW_JUMP** firmware can be enabled by any of the following
+methods:
+
+1. Passing `FW_JUMP=y` command-line parameter to
+top-level `make`
+2. Setting `FW_JUMP=y` in platform `config.mk`
+
+Config Options
+--------------
+
+We need more config details for **FW_JUMP** firmware to work
+correctly. These config details can be passed as paramter to
+top-level `make` or can be set in platform `config.mk`.
+
+Following are the config options for **FW_JUMP** firmware:
+
+* **FW_JUMP_ADDR** - Address where next booting stage is
+located. This is a mandatory config option and will result
+in compile error if not provided.
+* **FW_JUMP_FDT_ADDR** - Address where FDT passed by prior
+booting stage will be placed before passing to next booting
+stage. If this option is not provided then firmware will pass
+zero as FDT address to next booting stage. \ No newline at end of file
diff --git a/docs/firmware/fw_payload.md b/docs/firmware/fw_payload.md
new file mode 100644
index 0000000..2fab092
--- /dev/null
+++ b/docs/firmware/fw_payload.md
@@ -0,0 +1,51 @@
+OpenSBI Firmware with Payload (FW_PAYLOAD)
+==========================================
+
+The **OpenSBI firmware with Payload (FW_PAYLOAD)** is a
+firmware which includes next booting stage binary (i.e.
+bootloader/kernel) as payload in the OpenSBI firmware binary.
+
+This **FW_PAYLOAD** firmware is particularly useful when
+booting stage prior to OpenSBI firmware is not capable of
+loading OpenSBI firmware and booting stage after OpenSBI
+firmware separately.
+
+It is also possible that booting stage prior to OpenSBI
+firmware does not pass **flattened device tree (FDT)**. In
+this case, we have provision to embed FDT in .text section
+of **FW_PAYLOAD** firmware.
+
+How to Enable?
+--------------
+
+The **FW_PAYLOAD** firmware can be enabled by any of the
+following methods:
+
+1. Passing `FW_PAYLOAD=y` command-line parameter to
+top-level `make`
+2. Setting `FW_PAYLOAD=y` in platform `config.mk`
+
+Config Options
+--------------
+
+We need more config details for **FW_PAYLOAD** firmware to
+work correctly. These config details can be passed as paramter
+to top-level `make` or can be set in platform `config.mk`.
+
+Following are the config options for **FW_PAYLOAD** firmware:
+
+* **FW_PAYLOAD_OFFSET** - Offset from FW_TEXT_BASE where next
+booting stage binary will be linked to **FW_PAYLOAD** firmware.
+This is a mandatory config option and will result in compile
+error if not provided.
+* **FW_PAYLOAD_PATH** - Path to the next booting stage binary.
+If this option is not provided then **`while (1)`** is taken as
+payload.
+* **FW_PAYLOAD_FDT_PATH** - Path to the FDT binary to be embedded
+in .text section of **FW_PAYLOAD** firmware. If this option is
+not provided then firmware will expect FDT to be passed by prior
+booting stage.
+* **FW_PAYLOAD_FDT_ADDR** - Address where FDT passed by prior
+booting stage (or embedded FDT) will be placed before passing
+to next booting stage. If this option is not provided then
+firmware will pass zero as FDT address to next booting stage. \ No newline at end of file