docs: Add documentation for firmware blobs

This patch adds documentation for fw_jump and fw_payload
firmware blobs.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
This commit is contained in:
Anup Patel 2018-12-20 21:04:38 +05:30 committed by Anup Patel
parent ef1f669cb7
commit 33ec85c9ab
2 changed files with 88 additions and 0 deletions

37
docs/blob/fw_jump.md Normal file
View File

@ -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.

51
docs/blob/fw_payload.md Normal file
View File

@ -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.