mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
dm: doc: add documentation for pre-reloc properties in SPL and TPL
Add documentation for the pre-reloc property in SPL and TPL device-tree: - u-boot,dm-pre-proper - u-boot,dm-pre-reloc - u-boot,dm-spl - u-boot,dm-tpl Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
6998974926
commit
54e1223aa4
5 changed files with 32 additions and 4 deletions
|
@ -66,6 +66,22 @@ CONFIG_SPL_SPI_LOAD (drivers/mtd/spi/spi_spl_load.o)
|
|||
CONFIG_SPL_RAM_DEVICE (common/spl/spl.c)
|
||||
CONFIG_SPL_WATCHDOG_SUPPORT (drivers/watchdog/libwatchdog.o)
|
||||
|
||||
Device tree
|
||||
-----------
|
||||
The U-Boot device tree is filtered by the fdtgrep tools during the build
|
||||
process to generate a much smaller device tree used in SPL (spl/u-boot-spl.dtb)
|
||||
with:
|
||||
- the mandatory nodes (/alias, /chosen, /config)
|
||||
- the nodes with one pre-relocation property:
|
||||
'u-boot,dm-pre-reloc' or 'u-boot,dm-spl'
|
||||
|
||||
ftgrep is also used to remove:
|
||||
- the properties defined in CONFIG_OF_SPL_REMOVE_PROPS
|
||||
- all the pre-relocation properties
|
||||
('u-boot,dm-pre-reloc', 'u-boot,dm-spl' and 'u-boot,dm-tpl')
|
||||
|
||||
All the nodes remaining in the SPL devicetree are bound
|
||||
(see driver-model/README.txt).
|
||||
|
||||
Debugging
|
||||
---------
|
||||
|
|
|
@ -34,6 +34,10 @@ determine which SPL options to choose based on whether CONFIG_TPL_BUILD
|
|||
is set. Source files can be compiled for TPL with options choosed in the
|
||||
board config file.
|
||||
|
||||
TPL use a small device tree (u-boot-tpl.dtb), containing only the nodes with
|
||||
the pre-relocation properties: 'u-boot,dm-pre-reloc' and 'u-boot,dm-tpl'
|
||||
(see README.SPL for details).
|
||||
|
||||
For example:
|
||||
|
||||
spl/Makefile:
|
||||
|
|
|
@ -849,6 +849,10 @@ in the device tree node. For U-Boot proper you can use 'u-boot,dm-pre-proper'
|
|||
which means that it will be processed (and a driver bound) in U-Boot proper
|
||||
prior to relocation, but will not be available in SPL or TPL.
|
||||
|
||||
To reduce the size of SPL and TPL, only the nodes with pre-relocation properties
|
||||
('u-boot,dm-pre-reloc', 'u-boot,dm-spl' or 'u-boot,dm-tpl') are keept in their
|
||||
device trees (see README.SPL for details); the remaining nodes are always bound.
|
||||
|
||||
Then post relocation we throw that away and re-init driver model again.
|
||||
For drivers which require some sort of continuity between pre- and
|
||||
post-relocation devices, we can provide access to the pre-relocation
|
||||
|
|
|
@ -676,12 +676,14 @@ int ofnode_read_simple_size_cells(ofnode node);
|
|||
* After relocation and jumping into the real U-Boot binary it is possible to
|
||||
* determine if a node was bound in one of SPL/TPL stages.
|
||||
*
|
||||
* There are 3 settings currently in use
|
||||
* -
|
||||
* There are 4 settings currently in use
|
||||
* - u-boot,dm-pre-proper: U-Boot proper pre-relocation only
|
||||
* - u-boot,dm-pre-reloc: legacy and indicates any of TPL or SPL
|
||||
* Existing platforms only use it to indicate nodes needed in
|
||||
* SPL. Should probably be replaced by u-boot,dm-spl for
|
||||
* new platforms.
|
||||
* - u-boot,dm-spl: SPL and U-Boot pre-relocation
|
||||
* - u-boot,dm-tpl: TPL and U-Boot pre-relocation
|
||||
*
|
||||
* @node: node to check
|
||||
* @return true if node is needed in SPL/TL, false otherwise
|
||||
|
|
|
@ -52,12 +52,14 @@ static inline void dm_dump_devres(void)
|
|||
* it is possible to determine if a node was bound in one of
|
||||
* SPL/TPL stages.
|
||||
*
|
||||
* There are 3 settings currently in use
|
||||
* -
|
||||
* There are 4 settings currently in use
|
||||
* - u-boot,dm-pre-proper: U-Boot proper pre-relocation only
|
||||
* - u-boot,dm-pre-reloc: legacy and indicates any of TPL or SPL
|
||||
* Existing platforms only use it to indicate nodes needed in
|
||||
* SPL. Should probably be replaced by u-boot,dm-spl for
|
||||
* existing platforms.
|
||||
* - u-boot,dm-spl: SPL and U-Boot pre-relocation
|
||||
* - u-boot,dm-tpl: TPL and U-Boot pre-relocation
|
||||
* @node: of node
|
||||
*
|
||||
* Returns true if node is needed in SPL/TL, false otherwise.
|
||||
|
|
Loading…
Reference in a new issue