mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-21 01:18:52 +09:00
![Philipp Tomsich](/assets/img/avatar_default.png)
It is often desirable to configure the spl-boot-order (i.e. the order that SPL probes devices to find the FIT image containing a full U-Boot) such that it contains 'the same device the SPL stage was booted from' early on. To support this, we introduce the 'same-as-spl' specifier for the spl-boot-order property. This commit adds: - documentation for the new board_spl_was_booted_from() function that individual SoCs/boards should provide, if they can determine where the SPL was booted from - implements the new board_spl_was_booted_from() stub function - adds support for handling the 'same-as-spl' specifier and calling into the per-SoC/per-board support code. This also updates the documentation for the 'u-boot,spl-boot-order' property. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org>
76 lines
2.1 KiB
Plaintext
76 lines
2.1 KiB
Plaintext
The chosen node
|
|
---------------
|
|
The chosen node does not represent a real device, but serves as a place
|
|
for passing data like which serial device to used to print the logs etc
|
|
|
|
|
|
stdout-path property
|
|
--------------------
|
|
Device trees may specify the device to be used for boot console output
|
|
with a stdout-path property under /chosen.
|
|
|
|
Example
|
|
-------
|
|
/ {
|
|
chosen {
|
|
stdout-path = "/serial@f00:115200";
|
|
};
|
|
|
|
serial@f00 {
|
|
compatible = "vendor,some-uart";
|
|
reg = <0xf00 0x10>;
|
|
};
|
|
};
|
|
|
|
tick-timer property
|
|
-------------------
|
|
In a system there are multiple timers, specify which timer to be used
|
|
as the tick-timer. Earlier it was hardcoded in the timer driver now
|
|
since device tree has all the timer nodes. Specify which timer to be
|
|
used as tick timer.
|
|
|
|
Example
|
|
-------
|
|
/ {
|
|
chosen {
|
|
tick-timer = "/timer2@f00";
|
|
};
|
|
|
|
timer2@f00 {
|
|
compatible = "vendor,some-timer";
|
|
reg = <0xf00 0x10>;
|
|
};
|
|
};
|
|
|
|
u-boot,spl-boot-order property
|
|
------------------------------
|
|
|
|
In a system using an SPL stage and having multiple boot sources
|
|
(e.g. SPI NOR flash, on-board eMMC and a removable SD-card), the boot
|
|
device may be probed by reading the image and verifying an image
|
|
signature.
|
|
|
|
If the SPL is configured through the device-tree, the boot-order can
|
|
be configured with the spl-boot-order property under the /chosen node.
|
|
Each list element of the property should specify a device to be probed
|
|
in the order they are listed: references (i.e. implicit paths), a full
|
|
path or an alias is expected for each entry.
|
|
|
|
A special specifier "same-as-spl" can be used at any position in the
|
|
boot-order to direct U-Boot to insert the device the SPL was booted
|
|
from there. Whether this is indeed inserted or silently ignored (if
|
|
it is not supported on any given SoC/board or if the boot-device is
|
|
not available to continue booting from) is implementation-defined.
|
|
Note that if "same-as-spl" expands to an actual node for a given
|
|
board, the corresponding node may appear multiple times in the
|
|
boot-order (as there currently exists no mechanism to suppress
|
|
duplicates from the list).
|
|
|
|
Example
|
|
-------
|
|
/ {
|
|
chosen {
|
|
u-boot,spl-boot-order = "same-as-spl", &sdmmc, "/sdhci@fe330000";
|
|
};
|
|
};
|